Annotation of GNUtools/debug/Common/RelocManager.h, revision 1.1

1.1     ! root        1: #import <objc/Object.h>
        !             2: 
        !             3: #import <mach/mach.h>
        !             4: #import <mach-o/loader.h>
        !             5: 
        !             6: typedef struct _Reloc {
        !             7:     pointer_t          address;
        !             8:     vm_size_t          size;
        !             9:     pointer_t          data;
        !            10:     vm_address_t       maxAddress;
        !            11:     long               displacement;
        !            12:     pointer_t          maxData;
        !            13:     struct {
        !            14:         unsigned short readIn : 1;
        !            15:     } rFlags;
        !            16: } Reloc;
        !            17: 
        !            18: #define WARPM(m, p) \
        !            19:        ((typeof(p))[(m) pointerFor: (p) withSize: sizeof(*(p))])
        !            20:        
        !            21: #define WARP(p) WARPM(regionManager, p)
        !            22:        
        !            23: #define WARPIDM(m, theID) \
        !            24:        ([(m) pointerForID: (id)(theID)])
        !            25: 
        !            26: #define WARPID(theID) WARPIDM(regionManager, theID)
        !            27:        
        !            28: #define UNWARPM(m, p) \
        !            29:        ((typeof(p))[(m) originalPointerFor: (p)])
        !            30:        
        !            31: #define UNWARP(p) UNWARPM(regionManager, (p))
        !            32:        
        !            33: #define WARPSTRINGM(m, s) ((char *)[(m) pointerForString: (s)])
        !            34: 
        !            35: #define WARPSTRING(s) WARPSTRINGM(regionManager, s)
        !            36:        
        !            37: @interface RelocManager : Object
        !            38: {
        !            39:     void *relocs;
        !            40:     int numRelocs;
        !            41:     int relocSize;
        !            42:     struct _rmFlags {
        !            43:        unsigned short invalid : 1;
        !            44:        unsigned short shouldSortRelocs : 1;
        !            45:     } rmFlags;
        !            46:     Reloc *lastReloc;
        !            47: }
        !            48: 
        !            49: -(void *)pointerFor: (const void *)pointer;
        !            50: -(void *)pointerFor: (const void *)pointer withSize: (int)size;
        !            51: -(char *)pointerForString: (const char *)pointer isNullTerminated: (BOOL *)isNT;
        !            52: -(char *)pointerForString: (const char *)string;
        !            53: -(id)pointerForID: (const id)pointer;
        !            54: -(void *)originalPointerFor: (const void *)pointer;
        !            55: -(int)getDataAt: (const void *)start for: (int)numBytes into: (void *)data;
        !            56: -(struct mach_header **)getMachHeaders;
        !            57: -(struct mach_header **)getMachHeadersWithNames: (char ***)names;
        !            58: -(struct mach_header *)getMachHeader;
        !            59: -(void *)getSectData: (STR)segName section: (STR)sectName size: (int *)pSize forHeader: (struct mach_header *)header;
        !            60: -(void *)getSectData: (STR)segName section: (STR)sectName size: (int *)pSize;
        !            61: -(const struct section *)getSeg: (STR)segName sect: (STR)sectName;
        !            62: -invalidate;
        !            63: -(void)readInAllRelocs;
        !            64: -(Reloc *)relocFor: (const void *)pointer;
        !            65: -(Reloc *)oldRelocFor: (const void *)pointer;
        !            66: -(BOOL)readInReloc: (Reloc *)reloc;
        !            67: -(const struct section *)firstSection;
        !            68: -(unsigned)getMaximumAddress;
        !            69: -(unsigned)getMaximumAddressForHeader: (struct mach_header *)header;
        !            70: -(unsigned)getMaximumTextAddress;
        !            71: -(unsigned)getMaximumDataAddress;
        !            72: 
        !            73: @end

unix.superglobalmegacorp.com

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