...
From ffe1bc72a92480b5246afc03df206abef7eceff7 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <[email protected]> Date: Sat, 4 Apr 2020 14:49:12 +0530 Subject: [PATCH] headers: winnt add structures for memory APIs
Signed-off-by: Biswapriyo Nath <[email protected]> --- mingw-w64-headers/include/winnt.h | 76 ++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index 613775e..3f0f937 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -4826,6 +4826,15 @@ __buildmemorybarrier() DWORD __alignment2; } MEMORY_BASIC_INFORMATION64,*PMEMORY_BASIC_INFORMATION64; +#define CFG_CALL_TARGET_VALID 0x01 +#define CFG_CALL_TARGET_PROCESSED 0x02 +#define CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID 0x04 + + typedef struct _CFG_CALL_TARGET_INFO { + ULONG_PTR Offset; + ULONG_PTR Flags; + } CFG_CALL_TARGET_INFO, *PCFG_CALL_TARGET_INFO; + #define SECTION_QUERY 0x0001 #define SECTION_MAP_WRITE 0x0002 #define SECTION_MAP_READ 0x0004 @@ -4851,6 +4860,20 @@ __buildmemorybarrier() #define PAGE_GUARD 0x100 #define PAGE_NOCACHE 0x200 #define PAGE_WRITECOMBINE 0x400 +#define PAGE_GRAPHICS_NOACCESS 0x0800 +#define PAGE_GRAPHICS_READONLY 0x1000 +#define PAGE_GRAPHICS_READWRITE 0x2000 +#define PAGE_GRAPHICS_EXECUTE 0x4000 +#define PAGE_GRAPHICS_EXECUTE_READ 0x8000 +#define PAGE_GRAPHICS_EXECUTE_READWRITE 0x10000 +#define PAGE_GRAPHICS_COHERENT 0x20000 +#define PAGE_ENCLAVE_THREAD_CONTROL 0x80000000 +#define PAGE_REVERT_TO_FILE_MAP 0x80000000 +#define PAGE_TARGETS_NO_UPDATE 0x40000000 +#define PAGE_TARGETS_INVALID 0x40000000 +#define PAGE_ENCLAVE_UNVALIDATED 0x20000000 +#define PAGE_ENCLAVE_DECOMMIT 0x10000000 + #define MEM_COMMIT 0x1000 #define MEM_RESERVE 0x2000 #define MEM_DECOMMIT 0x4000 @@ -4863,8 +4886,52 @@ __buildmemorybarrier() #define MEM_WRITE_WATCH 0x200000 #define MEM_PHYSICAL 0x400000 #define MEM_ROTATE 0x800000 +#define MEM_DIFFERENT_IMAGE_BASE_OK 0x800000 +#define MEM_RESET_UNDO 0x1000000 #define MEM_LARGE_PAGES 0x20000000 #define MEM_4MB_PAGES 0x80000000 +#define MEM_64K_PAGES (MEM_LARGE_PAGES | MEM_PHYSICAL) + + typedef struct _MEM_ADDRESS_REQUIREMENTS { + PVOID LowestStartingAddress; + PVOID HighestEndingAddress; + SIZE_T Alignment; + } MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS; + +#define MEM_EXTENDED_PARAMETER_GRAPHICS 0x01 +#define MEM_EXTENDED_PARAMETER_NONPAGED 0x02 +#define MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL 0x04 +#define MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x08 +#define MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x10 + + typedef enum MEM_EXTENDED_PARAMETER_TYPE { + MemExtendedParameterInvalidType = 0, + MemExtendedParameterAddressRequirements, + MemExtendedParameterNumaNode, + MemExtendedParameterPartitionHandle, + MemExtendedParameterUserPhysicalHandle, + MemExtendedParameterAttributeFlags, + MemExtendedParameterMax + } MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE; + +#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8 + + typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER { + __C89_NAMELESS struct { + DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS; + DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS; + }; + __C89_NAMELESS union { + DWORD64 ULong64; + PVOID Pointer; + SIZE_T Size; + HANDLE Handle; + DWORD ULong; + }; + } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER; + +#define SEC_PARTITION_OWNER_HANDLE 0x40000 +#define SEC_64K_PAGES 0x80000 #define SEC_FILE 0x800000 #define SEC_IMAGE 0x1000000 #define SEC_PROTECTED_IMAGE 0x2000000 @@ -4873,8 +4940,15 @@ __buildmemorybarrier() #define SEC_NOCACHE 0x10000000 #define SEC_WRITECOMBINE 0x40000000 #define SEC_LARGE_PAGES 0x80000000 - #define SEC_IMAGE_NO_EXECUTE (SEC_IMAGE | SEC_NOCACHE) + + typedef enum MEM_SECTION_EXTENDED_PARAMETER_TYPE { + MemSectionExtendedParameterInvalidType = 0, + MemSectionExtendedParameterUserPhysicalFlags, + MemSectionExtendedParameterNumaNode, + MemSectionExtendedParameterMax + } MEM_SECTION_EXTENDED_PARAMETER_TYPE, *PMEM_SECTION_EXTENDED_PARAMETER_TYPE; + #define MEM_IMAGE SEC_IMAGE #define WRITE_WATCH_FLAG_RESET 0x01 #define MEM_UNMAP_WITH_TRANSIENT_BOOST 0x01 -- 2.26.0
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
