|
|
1.1 ! root 1: #import "RelocManager.h" ! 2: ! 3: typedef struct _Region { ! 4: Reloc reloc; ! 5: vm_prot_t protection; ! 6: unsigned char *pages; ! 7: int pagesInvalid; ! 8: } Region; ! 9: ! 10: typedef void (TaskGoneCallBack()); ! 11: ! 12: #define PAGEINVALID (0x01 << 6) ! 13: ! 14: @interface RegionManager : RelocManager ! 15: { ! 16: vm_task_t task; ! 17: vm_size_t pageSize; ! 18: TaskGoneCallBack *taskGoneCallBack; ! 19: unsigned char *pages; ! 20: BOOL dontCombineRegions; ! 21: int regionsInvalid; ! 22: } ! 23: ! 24: +newTask: (vm_task_t)theTask; ! 25: +newTask: (vm_task_t)theTask readInRegions: (BOOL)readRegions; ! 26: -(int)putDataAt: (void *)start for: (int)numBytes from: (const void *)data; ! 27: -(int)putDataAt: (void *)start for: (int)numBytes from: (const void *)data markOnly: (BOOL)markOnly; ! 28: -(int)writeDataAt: (const void *)start for: (int)numBytes; ! 29: -(int)writeDataAt: (const void *)start for: (int)numBytes reloc: (Region *)reloc; ! 30: -(int)writeDataAt: (const void *)start for: (int)numBytes reloc: (Region *)region markOnly: (BOOL)markOnly; ! 31: -(void)getStartPage: (void **)startPage andSize: (int *)sizePage ! 32: forPointer: (void *)pointer andSize: (int)size; ! 33: -(void)setTaskGoneCallBack: (TaskGoneCallBack *)theCallBack; ! 34: -(BOOL)isTask; ! 35: -(void)combineRegions: (BOOL)combineRegions; ! 36: -(void)flushMarkedPages; ! 37: ! 38: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.