cosmopolitan/libc/nt/struct/imagefileheader.internal.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
925 B
C
Raw Normal View History

2020-06-15 07:18:57 -07:00
#ifndef COSMOPOLITAN_LIBC_NT_STRUCT_IMAGEFILEHEADER_H_
#define COSMOPOLITAN_LIBC_NT_STRUCT_IMAGEFILEHEADER_H_
struct NtImageFileHeader {
2023-08-09 00:29:01 -07:00
/*
* E.g. kNtImageFileMachineNexgen32e
*/
2020-06-15 07:18:57 -07:00
uint16_t Machine;
2023-08-09 00:29:01 -07:00
/*
* The number of sections. This indicates the size of the section
* table, which immediately follows the headers.
*/
2020-06-15 07:18:57 -07:00
uint16_t NumberOfSections;
2023-08-09 00:29:01 -07:00
2020-06-15 07:18:57 -07:00
uint32_t TimeDateStamp;
2023-08-09 00:29:01 -07:00
2020-06-15 07:18:57 -07:00
uint32_t PointerToSymbolTable;
2023-08-09 00:29:01 -07:00
2020-06-15 07:18:57 -07:00
uint32_t NumberOfSymbols;
2023-08-09 00:29:01 -07:00
/*
* [file size] The size of the optional header, which is required for
2023-08-09 00:29:01 -07:00
* executable files but not for object files. This value should be
* zero for an object file. For a description of the header format,
* see Optional Header (Image Only).
*/
2020-06-15 07:18:57 -07:00
uint16_t SizeOfOptionalHeader;
2023-08-09 00:29:01 -07:00
/*
* E.g. kNtPeFileExecutableImage | kNtImageFileLargeAddressAware
*/
2020-06-15 07:18:57 -07:00
uint16_t Characteristics;
};
#endif /* COSMOPOLITAN_LIBC_NT_STRUCT_IMAGEFILEHEADER_H_ */