Annotation of GNUtools/cctools/include/mach-o/dyld.h, revision 1.1

1.1     ! root        1: #import "mach-o/loader.h"
        !             2: #import <streams/streams.h>
        !             3: 
        !             4: #ifndef ENUM_BOOL
        !             5: #define ENUM_BOOL
        !             6: #undef FALSE
        !             7: #undef TRUE
        !             8: enum bool {
        !             9:     FALSE,
        !            10:     TRUE
        !            11: };
        !            12: #endif /* ENUM_BOOL */
        !            13: 
        !            14: /*
        !            15:  * The high level NS... API.
        !            16:  */
        !            17: 
        !            18: /* Object file image api */
        !            19: typedef enum {
        !            20:     NSObjectFileImageFailure, /* for this a message is printed on stderr */
        !            21:     NSObjectFileImageSuccess,
        !            22:     NSObjectFileImageInappropriateFile,
        !            23:     NSObjectFileImageArch,
        !            24:     NSObjectFileImageFormat, /* for this a message is printed on stderr */
        !            25:     NSObjectFileImageAccess,
        !            26: } NSObjectFileImageReturnCode;
        !            27: 
        !            28: typedef void * NSObjectFileImage;
        !            29: 
        !            30: /* limited implementation, only MH_BUNDLE files can be used */
        !            31: extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromFile(
        !            32:     const char *pathName,
        !            33:     NSObjectFileImage *objectFileImage);
        !            34: /* not yet implemented */
        !            35: extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromMemory(
        !            36:     void *address,
        !            37:     unsigned long size, 
        !            38:     NSObjectFileImage *objectFileImage);
        !            39: /* not yet implemented */
        !            40: extern enum bool NSDestroyObjectFileImage(
        !            41:     NSObjectFileImage objectFileImage);
        !            42: /*
        !            43:  * Need api on NSObjectFileImage's for:
        !            44:  *   "for Each Symbol Definition In Object File Image" (for Dynamic Bundles)
        !            45:  *   Could have the same thing for references
        !            46:  */
        !            47: /* not yet implemented */
        !            48: extern unsigned long NSSymbolDefinitionCountInObjectFileImage(
        !            49:     NSObjectFileImage objectFileImage);
        !            50: /* not yet implemented */
        !            51: extern const char * NSSymbolDefinitionNameInObjectFileImage(
        !            52:     NSObjectFileImage objectFileImage,
        !            53:     unsigned long ordinal);
        !            54: /* not yet implemented */
        !            55: extern unsigned long NSSymbolReferenceCountInObjectFileImage(
        !            56:     NSObjectFileImage objectFileImage);
        !            57: /* not yet implemented */
        !            58: extern const char * NSSymbolReferenceNameInObjectFileImage(
        !            59:     NSObjectFileImage objectFileImage,
        !            60:     unsigned long ordinal,
        !            61:     enum bool *tentative_definition); /* can be NULL */
        !            62: /*
        !            63:  * Other needed api on NSObjectFileImage:
        !            64:  *   "does Object File Image define symbol name X" (using sorted symbol table)
        !            65:  *   a way to get the named objective-C section
        !            66:  */
        !            67: /* not yet implemented */
        !            68: extern enum bool NSIsSymbolDefinedInObjectFileImage(
        !            69:     NSObjectFileImage objectFileImage,
        !            70:     const char *symbolName);
        !            71: /* not yet implemented */
        !            72: extern void * NSGetSectionDataInObjectFileImage(
        !            73:     NSObjectFileImage objectFileImage,
        !            74:     const char *segmentName,
        !            75:     const char *sectionName);
        !            76: 
        !            77: /* module api */
        !            78: typedef void * NSModule;
        !            79: /* not yet implemented */
        !            80: extern const char * NSNameOfModule(
        !            81:     NSModule m); 
        !            82: /* not yet implemented */
        !            83: extern const char * NSLibraryNameForModule(
        !            84:     NSModule m);
        !            85: 
        !            86: /* limited implementation, only MH_BUNDLE files can be linked */
        !            87: extern NSModule NSLinkModule(
        !            88:     NSObjectFileImage objectFileImage, 
        !            89:     const char *moduleName, /* can be NULL */
        !            90:     enum bool bindNow);
        !            91: /* not yet implemented */
        !            92: extern enum bool NSUnLinkModule(
        !            93:     NSModule module, 
        !            94:     enum bool keepMemoryMapped); 
        !            95: /* not yet implemented */
        !            96: extern NSModule NSReplaceModule(
        !            97:     NSModule moduleToReplace,
        !            98:     NSObjectFileImage newObjectFileImage, 
        !            99:     enum bool keepMemoryMapped,
        !           100:     enum bool preserveFunctionAddresses); 
        !           101: 
        !           102: /* symbol api */
        !           103: typedef void * NSSymbol;
        !           104: /* not yet implemented */
        !           105: extern enum bool NSIsSymbolNameDefined(
        !           106:     const char *symbolName);
        !           107: /* not yet implemented */
        !           108: extern NSSymbol NSLookupAndBindSymbol(
        !           109:     const char *symbolName);
        !           110: /* not yet implemented */
        !           111: extern const char * NSNameOfSymbol(
        !           112:     NSSymbol symbol);
        !           113: /* not yet implemented */
        !           114: extern void * NSAddressOfSymbol(
        !           115:     NSSymbol symbol);
        !           116: /* not yet implemented */
        !           117: extern NSModule NSModuleForSymbol(
        !           118:     NSSymbol symbol);
        !           119: 
        !           120: /* error handling api */
        !           121: typedef enum {
        !           122:     NSLinkEditFileAccessError,
        !           123:     NSLinkEditFileFormatError,
        !           124:     NSLinkEditMachResourceError,
        !           125:     NSLinkEditUnixResourceError,
        !           126:     NSLinkEditOtherError,
        !           127:     NSLinkEditWarningError
        !           128: } NSLinkEditErrors;
        !           129: 
        !           130: typedef struct {
        !           131:      void     (*undefined)(const char *symbolName);
        !           132:      NSModule (*multiple)(NSSymbol s, NSModule old, NSModule new); 
        !           133:      void     (*linkEdit)(NSLinkEditErrors c, int errorNumber,
        !           134:                           const char *fileName, const char *errorString);
        !           135: } NSLinkEditErrorHandlers;
        !           136: 
        !           137: extern void NSInstallLinkEditErrorHandlers(
        !           138:     NSLinkEditErrorHandlers *handlers);
        !           139: 
        !           140: /* other api */
        !           141: /* not yet implemented */
        !           142: extern enum bool NSAddLibrary(
        !           143:     const char *pathName);
        !           144: /* not yet implemented */
        !           145: extern long NSVersionOfLibrary(
        !           146:     const char *libName);
        !           147: 
        !           148: /*
        !           149:  * The low level _dyld_... API.
        !           150:  * (used by the objective-C runtime primarily)
        !           151:  */
        !           152: extern unsigned long _dyld_present(
        !           153:     void);
        !           154: 
        !           155: extern unsigned long _dyld_image_count(
        !           156:     void);
        !           157: extern struct mach_header * _dyld_get_image_header(
        !           158:     unsigned long image_index);
        !           159: extern unsigned long _dyld_get_image_vmaddr_slide(
        !           160:     unsigned long image_index);
        !           161: 
        !           162: extern void _dyld_register_func_for_add_image(
        !           163:     void (*func)(struct mach_header *mh, unsigned long vmaddr_slide));
        !           164: extern void _dyld_register_func_for_link_module(
        !           165:     void (*func)(NSModule module));
        !           166: /* not yet implemented */
        !           167: extern void _dyld_register_func_for_unlink_module(
        !           168:     void (*func)(NSModule module));
        !           169: /* not yet implemented */
        !           170: extern void _dyld_register_func_for_replace_module(
        !           171:     void (*func)(NSModule oldmodule, NSModule newmodule));
        !           172: extern void _dyld_get_objc_module_sect_for_module(
        !           173:     NSModule module,
        !           174:     void **objc_module,
        !           175:     unsigned long *size);
        !           176: extern void _dyld_bind_objc_module(
        !           177:     void *objc_module);
        !           178: 
        !           179: extern void _dyld_lookup_and_bind(
        !           180:     const char *symbol_name,
        !           181:     unsigned long *address,
        !           182:     void **module);
        !           183: 
        !           184: extern int _dyld_func_lookup(
        !           185:     const char *dyld_func_name,
        !           186:     unsigned long *address);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.