1 /* Whereas a Module (defined further down) is the root (typically) of a file,
2 a Symtab is the root of the class and category definitions within the
5 A Symtab contains a variable length array of pointers to classes and
6 categories defined in the module. */
7 typedef struct objc_symtab
{
8 unsigned long sel_ref_cnt
; /* Unused (always set to 0). */
9 SEL refs
; /* The table of selectors referenced in
10 this module. This is terminated by a
11 selector with NULL sel_id and NULL
13 unsigned short cls_def_cnt
; /* Number of classes compiled
14 (defined) in the module. */
15 unsigned short cat_def_cnt
; /* Number of categories
16 compiled (defined) in the
19 void *defs
[1]; /* Variable array of pointers.
20 cls_def_cnt of type Class
21 followed by cat_def_cnt of
22 type Category_t, followed
23 by a NULL terminated array
24 of objc_static_instances. */