|
|
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.