home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / debug / Common / SegmentManager.h < prev    next >
Text File  |  1994-11-15  |  1KB  |  61 lines

  1. #import "RelocManager.h"
  2. #import <mach-o/loader.h>
  3.  
  4. typedef struct _Segment {
  5.     pointer_t         address;
  6.     vm_size_t        size;
  7.     pointer_t        data;
  8.     vm_address_t    maxAddress;
  9.     long        displacement;
  10.     pointer_t        maxData;
  11.     struct {
  12.         unsigned short readIn : 1;
  13.     } rFlags;
  14.     STR segName;
  15. } Segment;
  16.  
  17. typedef struct _Image {
  18.     STR name;
  19.     struct mach_header *header;
  20.     vm_size_t size;
  21.     long mtime;
  22.     unsigned long slide;
  23.     BOOL deallocate;
  24. } Image;
  25.  
  26. @interface SegmentManager : RelocManager
  27. {
  28. @public
  29.     STR name;
  30.     Image *images;
  31.     int numImages;
  32.     BOOL skipShlibs;
  33.     int imageFd;
  34.     cpu_type_t cpuType;
  35. }
  36.  
  37. +newExecutable: (STR)name;
  38. +newExecutable: (STR)name skipShlibs: (BOOL)skipShlibs withDesc: (int)desc cpuType: (cpu_type_t)type;
  39. +newCore: (STR)theName;
  40. +newFile: (STR)theName;
  41. +newShlib: (STR)theName;
  42. +newShlib: (STR)theName cpuType: (cpu_type_t)type;
  43. +newHeader: (struct mach_header *)header withSlide: (unsigned long)size;
  44. -(int)numCommands: (unsigned long)command
  45.         forHeader: (struct mach_header *)header;
  46. -(struct symtab_command *)symCmd;
  47. -(struct dysymtab_command *)dysymCmd;
  48. -(char *)stringTable;
  49. -(struct nlist *)symbolTable;
  50. -(BOOL)isCore;
  51. -(BOOL)isShlib;
  52. -(BOOL)isExecutable;
  53. -(BOOL)validate;
  54. -(STR)executableName;
  55. -(long)mtime;
  56. -(void)getImages;
  57.  
  58. - (unsigned)getSlide;
  59. @end
  60.  
  61.