2011-02-24 Tobias Burnus <burnus@net-b.de>
[official-gcc.git] / libobjc / objc / deprecated / struct_objc_module.h
blob57950851faef632efe0fc396fb3f02ec04758744
1 /*
2 ** The compiler generates one of these structures for each module that
3 ** composes the executable (eg main.m).
4 **
5 ** This data structure is the root of the definition tree for the module.
6 **
7 ** A collect program runs between ld stages and creates a ObjC ctor array.
8 ** That array holds a pointer to each module structure of the executable.
9 */
10 typedef struct objc_module {
11 unsigned long version; /* Version of the Module data structure. */
12 unsigned long size; /* sizeof(Module) according to the compiler -
13 only used to sanity check that it matches
14 sizeof(Module) according to the
15 runtime. */
16 const char* name; /* Name of the file used to compile the
17 module - not set by modern compilers for
18 security reasons. */
19 Symtab_t symtab; /* Pointer to the Symtab of the module. The
20 Symtab holds an array of pointers to the
21 classes and categories defined in the
22 module. */
23 } Module, *Module_t;