|
|
GNU tools for NeXTSTEP 3.3
#import "RelocManager.h"
typedef struct _Region {
Reloc reloc;
vm_prot_t protection;
unsigned char *pages;
int pagesInvalid;
} Region;
typedef void (TaskGoneCallBack());
#define PAGEINVALID (0x01 << 6)
@interface RegionManager : RelocManager
{
vm_task_t task;
vm_size_t pageSize;
TaskGoneCallBack *taskGoneCallBack;
unsigned char *pages;
BOOL dontCombineRegions;
int regionsInvalid;
}
+newTask: (vm_task_t)theTask;
+newTask: (vm_task_t)theTask readInRegions: (BOOL)readRegions;
-(int)putDataAt: (void *)start for: (int)numBytes from: (const void *)data;
-(int)putDataAt: (void *)start for: (int)numBytes from: (const void *)data markOnly: (BOOL)markOnly;
-(int)writeDataAt: (const void *)start for: (int)numBytes;
-(int)writeDataAt: (const void *)start for: (int)numBytes reloc: (Region *)reloc;
-(int)writeDataAt: (const void *)start for: (int)numBytes reloc: (Region *)region markOnly: (BOOL)markOnly;
-(void)getStartPage: (void **)startPage andSize: (int *)sizePage
forPointer: (void *)pointer andSize: (int)size;
-(void)setTaskGoneCallBack: (TaskGoneCallBack *)theCallBack;
-(BOOL)isTask;
-(void)combineRegions: (BOOL)combineRegions;
-(void)flushMarkedPages;
@end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.