This is MachOFile.h in view mode; [Download] [Up]
/* * $Id: MachOFile.h,v 1.10 94/05/04 11:20:18 ediger Exp Locker: ediger $ * $Log: MachOFile.h,v $ * Revision 1.10 94/05/04 11:20:18 ediger * support for finding which segment a thread's pc is in * * Revision 1.9 94/05/01 17:32:04 ediger * added - (struct section *)sectionNamed:: method * * Revision 1.8 94/02/07 21:21:01 ediger * added methods and instance vars to allow an already-mapped file * to be represented by the MachOFile object instance. * * Revision 1.7 94/01/30 16:28:52 ediger * add support for threads * * Revision 1.6 93/12/18 22:48:44 ediger * -initFromFileNamed: method renamed to -fillFromFileNamed: * * Revision 1.5 93/12/07 23:30:53 ediger * added cpuType and cpuSubtype methods * split error number return between lastErrno and lastKernReturn inst vars * * Revision 1.4 93/12/02 00:27:53 ediger * added -(char *)fileType method declaration * * Revision 1.3 93/10/31 21:33:54 ediger * removed declarations of -printSegments and +new * * Revision 1.2 93/10/27 23:43:42 ediger * Definition of MachOFile object that uses LoadCommand subclasses * */ #import <stdlib.h> #import <libc.h> #import <sys/types.h> #import <sys/stat.h> #import <fcntl.h> #import <assert.h> #import <objc/Object.h> #import <mach/mach.h> #import <mach/mach_error.h> #import <mach-o/loader.h> #import <errno.h> #import <mach/mach_error.h> #import <objc/List.h> #import <SortedList.h> #import <LoadCommand.h> @interface MachOFile: Object { SortedList *mappedSegmentList; List *unmappedSegmentList; List *threadList; int *threadSegment; struct mach_header *fileHeader; vm_offset_t mappedFileAddress; vm_size_t mappedFileSize; int fileDescriptor; BOOL mapsFile; BOOL addMappedFiles; int lastErrno; kern_return_t lastKernReturn; } - free; - init; // do the rest of the initialization - fillFromFileNamed: (char *)filename; - fillFromAddress: (char *)address; // internal use method - (int)mapFile: (char *)filename; // count of segments or threads - (int)mappedSegments; - (int)unmappedSegments; - (int)threads; - (int)segmentOfThread:(int)threadNumber; // actually gives back LoadCommand subclass - mappedSegment: (int)segmentNumber; - unmappedSegment: (int)segmentNumber; - thread: (int)threadNumber; // give back a pointer to a piece of an LC_SEGMENT - (struct section *)sectionNamed:(char *)sectName inSegNamed:(char *)segName; // printable strings about the file. - (char *)fileType; - (char *)cpuType; - (char *)cpuSubtype; // change how object views the file - considerMappedFiles; - unconsiderMappedFiles; - removeSegment:aLoadCommand; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.