summaryrefslogtreecommitdiff
path: root/libobjc/objc/deprecated/struct_objc_symtab.h
diff options
context:
space:
mode:
Diffstat (limited to 'libobjc/objc/deprecated/struct_objc_symtab.h')
-rw-r--r--libobjc/objc/deprecated/struct_objc_symtab.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/libobjc/objc/deprecated/struct_objc_symtab.h b/libobjc/objc/deprecated/struct_objc_symtab.h
new file mode 100644
index 000000000..75bb27f1b
--- /dev/null
+++ b/libobjc/objc/deprecated/struct_objc_symtab.h
@@ -0,0 +1,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;
+