Ignore:
Timestamp:
Aug 27, 2007, 9:54:05 PM (18 years ago)
Author:
bird
Message:

Use the new type system.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kStuff/kLdr/kLdrModPE.h

    r3537 r3567  
    176176typedef struct _IMAGE_FILE_HEADER
    177177{
    178     uint16_t  Machine;
    179     uint16_t  NumberOfSections;
    180     uint32_t  TimeDateStamp;
    181     uint32_t  PointerToSymbolTable;
    182     uint32_t  NumberOfSymbols;
    183     uint16_t  SizeOfOptionalHeader;
    184     uint16_t  Characteristics;
     178    KU16      Machine;
     179    KU16      NumberOfSections;
     180    KU32      TimeDateStamp;
     181    KU32      PointerToSymbolTable;
     182    KU32      NumberOfSymbols;
     183    KU16      SizeOfOptionalHeader;
     184    KU16      Characteristics;
    185185} IMAGE_FILE_HEADER;
    186186typedef IMAGE_FILE_HEADER *PIMAGE_FILE_HEADER;
     
    189189typedef struct _IMAGE_DATA_DIRECTORY
    190190{
    191     uint32_t  VirtualAddress;
    192     uint32_t  Size;
     191    KU32      VirtualAddress;
     192    KU32      Size;
    193193} IMAGE_DATA_DIRECTORY;
    194194typedef IMAGE_DATA_DIRECTORY *PIMAGE_DATA_DIRECTORY;
     
    197197typedef struct _IMAGE_OPTIONAL_HEADER32
    198198{
    199     uint16_t  Magic;
    200     uint8_t  MajorLinkerVersion;
    201     uint8_t  MinorLinkerVersion;
    202     uint32_t  SizeOfCode;
    203     uint32_t  SizeOfInitializedData;
    204     uint32_t  SizeOfUninitializedData;
    205     uint32_t  AddressOfEntryPoint;
    206     uint32_t  BaseOfCode;
    207     uint32_t  BaseOfData;
    208     uint32_t  ImageBase;
    209     uint32_t  SectionAlignment;
    210     uint32_t  FileAlignment;
    211     uint16_t  MajorOperatingSystemVersion;
    212     uint16_t  MinorOperatingSystemVersion;
    213     uint16_t  MajorImageVersion;
    214     uint16_t  MinorImageVersion;
    215     uint16_t  MajorSubsystemVersion;
    216     uint16_t  MinorSubsystemVersion;
    217     uint32_t  Win32VersionValue;
    218     uint32_t  SizeOfImage;
    219     uint32_t  SizeOfHeaders;
    220     uint32_t  CheckSum;
    221     uint16_t  Subsystem;
    222     uint16_t  DllCharacteristics;
    223     uint32_t  SizeOfStackReserve;
    224     uint32_t  SizeOfStackCommit;
    225     uint32_t  SizeOfHeapReserve;
    226     uint32_t  SizeOfHeapCommit;
    227     uint32_t  LoaderFlags;
    228     uint32_t  NumberOfRvaAndSizes;
     199    KU16    Magic;
     200    KU8     MajorLinkerVersion;
     201    KU8     MinorLinkerVersion;
     202    KU32    SizeOfCode;
     203    KU32    SizeOfInitializedData;
     204    KU32    SizeOfUninitializedData;
     205    KU32    AddressOfEntryPoint;
     206    KU32    BaseOfCode;
     207    KU32    BaseOfData;
     208    KU32    ImageBase;
     209    KU32    SectionAlignment;
     210    KU32    FileAlignment;
     211    KU16    MajorOperatingSystemVersion;
     212    KU16    MinorOperatingSystemVersion;
     213    KU16    MajorImageVersion;
     214    KU16    MinorImageVersion;
     215    KU16    MajorSubsystemVersion;
     216    KU16    MinorSubsystemVersion;
     217    KU32    Win32VersionValue;
     218    KU32    SizeOfImage;
     219    KU32    SizeOfHeaders;
     220    KU32    CheckSum;
     221    KU16    Subsystem;
     222    KU16    DllCharacteristics;
     223    KU32    SizeOfStackReserve;
     224    KU32    SizeOfStackCommit;
     225    KU32    SizeOfHeapReserve;
     226    KU32    SizeOfHeapCommit;
     227    KU32    LoaderFlags;
     228    KU32    NumberOfRvaAndSizes;
    229229    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
    230230} IMAGE_OPTIONAL_HEADER32;
     
    233233typedef struct _IMAGE_OPTIONAL_HEADER64
    234234{
    235     uint16_t  Magic;
    236     uint8_t  MajorLinkerVersion;
    237     uint8_t  MinorLinkerVersion;
    238     uint32_t  SizeOfCode;
    239     uint32_t  SizeOfInitializedData;
    240     uint32_t  SizeOfUninitializedData;
    241     uint32_t  AddressOfEntryPoint;
    242     uint32_t  BaseOfCode;
    243     uint64_t  ImageBase;
    244     uint32_t  SectionAlignment;
    245     uint32_t  FileAlignment;
    246     uint16_t  MajorOperatingSystemVersion;
    247     uint16_t  MinorOperatingSystemVersion;
    248     uint16_t  MajorImageVersion;
    249     uint16_t  MinorImageVersion;
    250     uint16_t  MajorSubsystemVersion;
    251     uint16_t  MinorSubsystemVersion;
    252     uint32_t  Win32VersionValue;
    253     uint32_t  SizeOfImage;
    254     uint32_t  SizeOfHeaders;
    255     uint32_t  CheckSum;
    256     uint16_t  Subsystem;
    257     uint16_t  DllCharacteristics;
    258     uint64_t  SizeOfStackReserve;
    259     uint64_t  SizeOfStackCommit;
    260     uint64_t  SizeOfHeapReserve;
    261     uint64_t  SizeOfHeapCommit;
    262     uint32_t  LoaderFlags;
    263     uint32_t  NumberOfRvaAndSizes;
     235    KU16    Magic;
     236    KU8     MajorLinkerVersion;
     237    KU8     MinorLinkerVersion;
     238    KU32    SizeOfCode;
     239    KU32    SizeOfInitializedData;
     240    KU32    SizeOfUninitializedData;
     241    KU32    AddressOfEntryPoint;
     242    KU32    BaseOfCode;
     243    KU64    ImageBase;
     244    KU32    SectionAlignment;
     245    KU32    FileAlignment;
     246    KU16    MajorOperatingSystemVersion;
     247    KU16    MinorOperatingSystemVersion;
     248    KU16    MajorImageVersion;
     249    KU16    MinorImageVersion;
     250    KU16    MajorSubsystemVersion;
     251    KU16    MinorSubsystemVersion;
     252    KU32    Win32VersionValue;
     253    KU32    SizeOfImage;
     254    KU32    SizeOfHeaders;
     255    KU32    CheckSum;
     256    KU16    Subsystem;
     257    KU16    DllCharacteristics;
     258    KU64    SizeOfStackReserve;
     259    KU64    SizeOfStackCommit;
     260    KU64    SizeOfHeapReserve;
     261    KU64    SizeOfHeapCommit;
     262    KU32    LoaderFlags;
     263    KU32    NumberOfRvaAndSizes;
    264264    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
    265265} IMAGE_OPTIONAL_HEADER64;
     
    269269typedef struct _IMAGE_NT_HEADERS
    270270{
    271     uint32_t Signature;
     271    KU32 Signature;
    272272    IMAGE_FILE_HEADER FileHeader;
    273273    IMAGE_OPTIONAL_HEADER32 OptionalHeader;
     
    277277typedef struct _IMAGE_NT_HEADERS64
    278278{
    279     uint32_t Signature;
     279    KU32 Signature;
    280280    IMAGE_FILE_HEADER FileHeader;
    281281    IMAGE_OPTIONAL_HEADER64 OptionalHeader;
     
    286286typedef struct _IMAGE_SECTION_HEADER
    287287{
    288     uint8_t  Name[IMAGE_SIZEOF_SHORT_NAME];
     288    KU8      Name[IMAGE_SIZEOF_SHORT_NAME];
    289289    union
    290290    {
    291         uint32_t  PhysicalAddress;
    292         uint32_t  VirtualSize;
     291        KU32      PhysicalAddress;
     292        KU32      VirtualSize;
    293293    } Misc;
    294     uint32_t  VirtualAddress;
    295     uint32_t  SizeOfRawData;
    296     uint32_t  PointerToRawData;
    297     uint32_t  PointerToRelocations;
    298     uint32_t  PointerToLinenumbers;
    299     uint16_t  NumberOfRelocations;
    300     uint16_t  NumberOfLinenumbers;
    301     uint32_t  Characteristics;
     294    KU32      VirtualAddress;
     295    KU32      SizeOfRawData;
     296    KU32      PointerToRawData;
     297    KU32      PointerToRelocations;
     298    KU32      PointerToLinenumbers;
     299    KU16      NumberOfRelocations;
     300    KU16      NumberOfLinenumbers;
     301    KU32      Characteristics;
    302302} IMAGE_SECTION_HEADER;
    303303typedef IMAGE_SECTION_HEADER *PIMAGE_SECTION_HEADER;
     
    306306typedef struct _IMAGE_BASE_RELOCATION
    307307{
    308     uint32_t  VirtualAddress;
    309     uint32_t  SizeOfBlock;
     308    KU32      VirtualAddress;
     309    KU32      SizeOfBlock;
    310310} IMAGE_BASE_RELOCATION;
    311311typedef IMAGE_BASE_RELOCATION *PIMAGE_BASE_RELOCATION;
     
    314314typedef struct _IMAGE_EXPORT_DIRECTORY
    315315{
    316     uint32_t  Characteristics;
    317     uint32_t  TimeDateStamp;
    318     uint16_t  MajorVersion;
    319     uint16_t  MinorVersion;
    320     uint32_t  Name;
    321     uint32_t  Base;
    322     uint32_t  NumberOfFunctions;
    323     uint32_t  NumberOfNames;
    324     uint32_t  AddressOfFunctions;
    325     uint32_t  AddressOfNames;
    326     uint32_t  AddressOfNameOrdinals;
     316    KU32      Characteristics;
     317    KU32      TimeDateStamp;
     318    KU16      MajorVersion;
     319    KU16      MinorVersion;
     320    KU32      Name;
     321    KU32      Base;
     322    KU32      NumberOfFunctions;
     323    KU32      NumberOfNames;
     324    KU32      AddressOfFunctions;
     325    KU32      AddressOfNames;
     326    KU32      AddressOfNameOrdinals;
    327327} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
    328328
     
    332332    union
    333333    {
    334         uint32_t  Characteristics;
    335         uint32_t  OriginalFirstThunk;
     334        KU32      Characteristics;
     335        KU32      OriginalFirstThunk;
    336336    } u;
    337     uint32_t  TimeDateStamp;
    338     uint32_t  ForwarderChain;
    339     uint32_t  Name;
    340     uint32_t  FirstThunk;
     337    KU32      TimeDateStamp;
     338    KU32      ForwarderChain;
     339    KU32      Name;
     340    KU32      FirstThunk;
    341341} IMAGE_IMPORT_DESCRIPTOR;
    342342typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR;
     
    345345typedef struct _IMAGE_IMPORT_BY_NAME
    346346{
    347     uint16_t  Hint;
    348     uint8_t  Name[1];
     347    KU16      Hint;
     348    KU8      Name[1];
    349349} IMAGE_IMPORT_BY_NAME;
    350350typedef IMAGE_IMPORT_BY_NAME *PIMAGE_IMPORT_BY_NAME;
     
    356356    union
    357357    {
    358         uint64_t  ForwarderString;
    359         uint64_t  Function;
    360         uint64_t  Ordinal;
    361         uint64_t  AddressOfData;
     358        KU64      ForwarderString;
     359        KU64      Function;
     360        KU64      Ordinal;
     361        KU64      AddressOfData;
    362362    } u1;
    363363} IMAGE_THUNK_DATA64;
     
    368368    union
    369369    {
    370         uint32_t  ForwarderString;
    371         uint32_t  Function;
    372         uint32_t  Ordinal;
    373         uint32_t  AddressOfData;
     370        KU32      ForwarderString;
     371        KU32      Function;
     372        KU32      Ordinal;
     373        KU32      AddressOfData;
    374374    } u1;
    375375} IMAGE_THUNK_DATA32;
     
    379379typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32
    380380{
    381     uint32_t  Size;
    382     uint32_t  TimeDateStamp;
    383     uint16_t  MajorVersion;
    384     uint16_t  MinorVersion;
    385     uint32_t  GlobalFlagsClear;
    386     uint32_t  GlobalFlagsSet;
    387     uint32_t  CriticalSectionDefaultTimeout;
    388     uint32_t  DeCommitFreeBlockThreshold;
    389     uint32_t  DeCommitTotalFreeThreshold;
    390     uint32_t  LockPrefixTable;
    391     uint32_t  MaximumAllocationSize;
    392     uint32_t  VirtualMemoryThreshold;
    393     uint32_t  ProcessHeapFlags;
    394     uint32_t  ProcessAffinityMask;
    395     uint16_t  CSDVersion;
    396     uint16_t  Reserved1;
    397     uint32_t  EditList;
    398     uint32_t  SecurityCookie;
    399     uint32_t  SEHandlerTable;
    400     uint32_t  SEHandlerCount;
     381    KU32      Size;
     382    KU32      TimeDateStamp;
     383    KU16      MajorVersion;
     384    KU16      MinorVersion;
     385    KU32      GlobalFlagsClear;
     386    KU32      GlobalFlagsSet;
     387    KU32      CriticalSectionDefaultTimeout;
     388    KU32      DeCommitFreeBlockThreshold;
     389    KU32      DeCommitTotalFreeThreshold;
     390    KU32      LockPrefixTable;
     391    KU32      MaximumAllocationSize;
     392    KU32      VirtualMemoryThreshold;
     393    KU32      ProcessHeapFlags;
     394    KU32      ProcessAffinityMask;
     395    KU16      CSDVersion;
     396    KU16      Reserved1;
     397    KU32      EditList;
     398    KU32      SecurityCookie;
     399    KU32      SEHandlerTable;
     400    KU32      SEHandlerCount;
    401401} IMAGE_LOAD_CONFIG_DIRECTORY32;
    402402typedef IMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY32;
     
    404404typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64
    405405{
    406     uint32_t  Size;
    407     uint32_t  TimeDateStamp;
    408     uint16_t  MajorVersion;
    409     uint16_t  MinorVersion;
    410     uint32_t  GlobalFlagsClear;
    411     uint32_t  GlobalFlagsSet;
    412     uint32_t  CriticalSectionDefaultTimeout;
    413     uint64_t  DeCommitFreeBlockThreshold;
    414     uint64_t  DeCommitTotalFreeThreshold;
    415     uint64_t  LockPrefixTable;
    416     uint64_t  MaximumAllocationSize;
    417     uint64_t  VirtualMemoryThreshold;
    418     uint64_t  ProcessAffinityMask;
    419     uint32_t  ProcessHeapFlags;
    420     uint16_t  CSDVersion;
    421     uint16_t  Reserved1;
    422     uint64_t  EditList;
    423     uint64_t  SecurityCookie;
    424     uint64_t  SEHandlerTable;
    425     uint64_t  SEHandlerCount;
     406    KU32      Size;
     407    KU32      TimeDateStamp;
     408    KU16      MajorVersion;
     409    KU16      MinorVersion;
     410    KU32      GlobalFlagsClear;
     411    KU32      GlobalFlagsSet;
     412    KU32      CriticalSectionDefaultTimeout;
     413    KU64      DeCommitFreeBlockThreshold;
     414    KU64      DeCommitTotalFreeThreshold;
     415    KU64      LockPrefixTable;
     416    KU64      MaximumAllocationSize;
     417    KU64      VirtualMemoryThreshold;
     418    KU64      ProcessAffinityMask;
     419    KU32      ProcessHeapFlags;
     420    KU16      CSDVersion;
     421    KU16      Reserved1;
     422    KU64      EditList;
     423    KU64      SecurityCookie;
     424    KU64      SEHandlerTable;
     425    KU64      SEHandlerCount;
    426426} IMAGE_LOAD_CONFIG_DIRECTORY64;
    427427typedef IMAGE_LOAD_CONFIG_DIRECTORY64 *PIMAGE_LOAD_CONFIG_DIRECTORY64;
     
    429429typedef struct _IMAGE_DEBUG_DIRECTORY
    430430{
    431     uint32_t  Characteristics;
    432         uint32_t  TimeDateStamp;
    433     uint16_t  MajorVersion;
    434     uint16_t  MinorVersion;
    435     uint32_t  Type;
    436     uint32_t  SizeOfData;
    437     uint32_t  AddressOfRawData;
    438     uint32_t  PointerToRawData;
     431    KU32      Characteristics;
     432        KU32  TimeDateStamp;
     433    KU16      MajorVersion;
     434    KU16      MinorVersion;
     435    KU32      Type;
     436    KU32      SizeOfData;
     437    KU32      AddressOfRawData;
     438    KU32      PointerToRawData;
    439439} IMAGE_DEBUG_DIRECTORY;
    440440typedef IMAGE_DEBUG_DIRECTORY *PIMAGE_DEBUG_DIRECTORY;
     
    451451typedef struct _IMAGE_TLS_DIRECTORY32
    452452{
    453     uint32_t  StartAddressOfRawData;
    454     uint32_t  EndAddressOfRawData;
    455     uint32_t  AddressOfIndex;
    456     uint32_t  AddressOfCallBacks;
    457     uint32_t  SizeOfZeroFill;
    458     uint32_t  Characteristics;
     453    KU32      StartAddressOfRawData;
     454    KU32      EndAddressOfRawData;
     455    KU32      AddressOfIndex;
     456    KU32      AddressOfCallBacks;
     457    KU32      SizeOfZeroFill;
     458    KU32      Characteristics;
    459459} IMAGE_TLS_DIRECTORY32;
    460460typedef IMAGE_TLS_DIRECTORY32 *PIMAGE_TLS_DIRECTORY32;
     
    462462typedef struct _IMAGE_TLS_DIRECTORY64
    463463{
    464     uint64_t  StartAddressOfRawData;
    465     uint64_t  EndAddressOfRawData;
    466     uint64_t  AddressOfIndex;
    467     uint64_t  AddressOfCallBacks;
    468     uint32_t  SizeOfZeroFill;
    469     uint32_t  Characteristics;
     464    KU64      StartAddressOfRawData;
     465    KU64      EndAddressOfRawData;
     466    KU64      AddressOfIndex;
     467    KU64      AddressOfCallBacks;
     468    KU32      SizeOfZeroFill;
     469    KU32      Characteristics;
    470470} IMAGE_TLS_DIRECTORY64;
    471471typedef IMAGE_TLS_DIRECTORY64 *PIMAGE_TLS_DIRECTORY64;
Note: See TracChangeset for help on using the changeset viewer.