x86mips / ntoskrnl

_COFF_OPTIONAL_HEADER

← first 1 build latest →

incomplete layouts only for what the kernel debugger decodes; other types are named by the checked kernel's ASSERT text, without layouts

struct _COFF_OPTIONAL_HEADER {
unsigned short Magic;/* 0x0 2 */
unsigned char LinkerVersionMajor;/* 0x2 1 */
unsigned char LinkerVersionMinor;/* 0x3 1 */
unsigned long SizeOfCode;/* 0x4 4 */
unsigned long SizeOfInitializedData;/* 0x8 4 */
unsigned long SizeOfUninitializedData;/* 0xc 4 */
unsigned long AddressOfEntryPoint;/* 0x10 4 */
unsigned long BaseOfCode;/* 0x14 4 */
unsigned long BaseOfData;/* 0x18 4 */
unsigned long ImageBase;/* 0x1c 4 */
unsigned long ImageAlignment;/* 0x20 4 */
unsigned long FileAlignment;/* 0x24 4 */
unsigned short TargetOperatingSystem;/* 0x28 2 */
unsigned short TargetSubsystem;/* 0x2a 2 */
unsigned char OperatingSystemMajor;/* 0x2c 1 */
unsigned char OperatingSystemMinor;/* 0x2d 1 */
unsigned char ImageVersionMajor;/* 0x2e 1 */
unsigned char ImageVersionMinor;/* 0x2f 1 */
unsigned long SizeOfImage;/* 0x30 4 */
unsigned long SizeOfHeaders;/* 0x34 4 */
unsigned long SizeOfHeapReserve;/* 0x38 4 */
unsigned long SizeOfHeapCommit;/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long SizeOfStackReserve;/* 0x40 4 */
unsigned long SizeOfStackCommit;/* 0x44 4 */
unsigned long ZeroBits;/* 0x48 4 */
unsigned long CheckSum;/* 0x4c 4 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long AdditionalMachineValues[8];/* 0x88 32 */
};
/* computed: October 1991 pre-release CD, SETUP/DBUGDISK/I386KD.EXE CodeView 3 types (compiled 1-byte packed for its 16-bit host), laid out with natural 32-bit alignment; _KPCR agrees with NT 3.1's offsets on every shared member */
size 168 (0xa8)28 members0 holespadding 03 cachelines