Annotation of GNUtools/debug/Common/RelocManager.h, revision 1.1.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.