summaryrefslogtreecommitdiff
path: root/libobjc/objc/deprecated/struct_objc_symtab.h
blob: 75bb27f1b5583894d9e4bd33f4b9bd4036034271 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Whereas a Module (defined further down) is the root (typically) of a file,
   a Symtab is the root of the class and category definitions within the
   module.  
   
   A Symtab contains a variable length array of pointers to classes and
   categories  defined in the module.   */
typedef struct objc_symtab {
  unsigned long sel_ref_cnt;  /* Unused (always set to 0). */
  SEL      refs;              /* The table of selectors referenced in
                                 this module.  This is terminated by a
                                 selector with NULL sel_id and NULL
                                 sel_types.  */
  unsigned short cls_def_cnt;                   /* Number of classes compiled
                                                  (defined) in the module. */
  unsigned short cat_def_cnt;                   /* Number of categories 
                                                  compiled (defined) in the 
                                                  module. */

  void      *defs[1];                           /* Variable array of pointers.
                                                  cls_def_cnt of type Class 
                                                  followed by cat_def_cnt of
                                                  type Category_t, followed
						  by a NULL terminated array
						  of objc_static_instances. */
} Symtab,   *Symtab_t;