00001 #ifndef _AOutHeader_h_ 00002 #define _AOutHeader_h_ 00003 00004 #include <Base.h> 00005 #include <defines/AOutHeader.d> 00006 00007 class AOutHeader : public Base { 00008 protected: 00009 AOutHeader() : Base(XCoffClassTypes_aout_header) {} 00010 ~AOutHeader() {} 00011 public: 00012 00013 AOUTHEADER_MACROS_BASIS("For the get_X field macros check the defines directory"); 00014 00015 void print(); 00016 00017 const char* briefName() { return "AOutHeader"; } 00018 00019 }; 00020 00021 class AOutHeader32 : public AOutHeader { 00022 protected: 00023 AOUTHDR entry; 00024 00025 public: 00026 00027 AOUTHEADER_MACROS_CLASS("For the get_X field macros check the defines directory"); 00028 00029 AOutHeader32() { sizeInBytes = Size__32_bit_Auxilary_Header; } 00030 ~AOutHeader32() {} 00031 uint32_t read(BinaryInputFile* b); 00032 uint32_t instrument(char* buffer,XCoffFileGen* xCoffGen,BaseGen* gen); 00033 }; 00034 00035 class AOutHeader64 : public AOutHeader { 00036 protected: 00037 AOUTHDR_64 entry; 00038 00039 public: 00040 00041 AOUTHEADER_MACROS_CLASS("For the get_X field macros check the defines directory"); 00042 00043 AOutHeader64() { sizeInBytes = Size__64_bit_Auxilary_Header; } 00044 ~AOutHeader64() {} 00045 uint32_t read(BinaryInputFile* b); 00046 uint32_t instrument(char* buffer,XCoffFileGen* xCoffGen,BaseGen* gen); 00047 }; 00048 00049 00050 #endif