#ifndef COSMOPOLITAN_LIBC_NT_STRUCT_MEMEXTENDEDPARAMETER_H_ #define COSMOPOLITAN_LIBC_NT_STRUCT_MEMEXTENDEDPARAMETER_H_ #define kNtMemExtendedParameterTypeBits 8 #define kNtMemExtendedParameterInvalidType 0 #define kNtMemExtendedParameterAddressRequirements 1 #define kNtMemExtendedParameterNumaNode 2 #define kNtMemExtendedParameterPartitionHandle 3 #define kNtMemExtendedParameterUserPhysicalHandle 4 #define kNtMemExtendedParameterAttributeFlags 5 #define kNtMemExtendedParameterMax 6 #define kNtMemExtendedParameterGraphics 0x00000001 #define kNtMemExtendedParameterNonpaged 0x00000002 #define kNtMemExtendedParameterZeroPagesOptional 0x00000004 #define kNtMemExtendedParameterNonpagedLarge 0x00000008 #define kNtMemExtendedParameterNonpagedHuge 0x00000010 struct NtMemExtendedParameter { struct { uint64_t Type : kNtMemExtendedParameterTypeBits; uint64_t Reserved : 64 - kNtMemExtendedParameterTypeBits; } DUMMYSTRUCTNAME; union { uint64_t ULong64; void *Pointer; size_t Size; intptr_t Handle; unsigned ULong; } DUMMYUNIONNAME; }; #endif /* COSMOPOLITAN_LIBC_NT_STRUCT_MEMEXTENDEDPARAMETER_H_ */