OK. Patch updated.
From 39dc5e951809f358c1b20ecf2239ca9a46c946bf Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <nathbap...@gmail.com> Date: Wed, 15 Jun 2022 11:07:54 +0530 Subject: [PATCH] headers: Add new symbols in winnt.h
Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com> --- mingw-w64-headers/include/winnt.h | 366 ++++++++++++++++++++++++++++-- 1 file changed, 343 insertions(+), 23 deletions(-) diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h index 57f72eb..b4a0bbd 100644 --- a/mingw-w64-headers/include/winnt.h +++ b/mingw-w64-headers/include/winnt.h @@ -911,6 +911,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { return (ENUMTYPE &)(((i #define PRODUCT_XBOX_ERAOS 0xC3 #define PRODUCT_XBOX_DURANGOHOSTOS 0xC4 #define PRODUCT_XBOX_SCARLETTHOSTOS 0xC5 +#define PRODUCT_XBOX_KEYSTONE 0xC6 #define PRODUCT_AZURE_SERVER_CLOUDHOST 0xC7 #define PRODUCT_AZURE_SERVER_CLOUDMOS 0xC8 #define PRODUCT_CLOUDEDITIONN 0xCA @@ -3279,6 +3280,7 @@ __buildmemorybarrier() #define SECURITY_APP_PACKAGE_RID_COUNT (__MSABI_LONG(8)) #define SECURITY_CAPABILITY_BASE_RID (__MSABI_LONG(0x00000003)) #define SECURITY_CAPABILITY_APP_RID (__MSABI_LONG(0x000000400)) +#define SECURITY_CAPABILITY_APP_SILO_RID (__MSABI_LONG(0x00010000)) #define SECURITY_BUILTIN_CAPABILITY_RID_COUNT (__MSABI_LONG(2)) #define SECURITY_CAPABILITY_RID_COUNT (__MSABI_LONG(5)) #define SECURITY_PARENT_PACKAGE_RID_COUNT (SECURITY_APP_PACKAGE_RID_COUNT) @@ -3891,7 +3893,12 @@ __buildmemorybarrier() #define SE_SESSION_IMPERSONATION_CAPABILITY L"sessionImpersonation" #define SE_MUMA_CAPABILITY L"muma" #define SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY L"developmentModeNetwork" +#define SE_LEARNING_MODE_LOGGING_CAPABILITY L"learningModeLogging" #define SE_PERMISSIVE_LEARNING_MODE_CAPABILITY L"permissiveLearningMode" +#define SE_APP_SILO_VOLUME_ROOT_MINIMAL_CAPABILITY L"isolatedWin32-volumeRootMinimal" +#define SE_APP_SILO_PROFILES_ROOT_MINIMAL_CAPABILITY L"isolatedWin32-profilesRootMinimal" +#define SE_APP_SILO_USER_PROFILE_MINIMAL_CAPABILITY L"isolatedWin32-userProfileMinimal" +#define SE_APP_SILO_PRINT_CAPABILITY L"isolatedWin32-print" typedef enum _SECURITY_IMPERSONATION_LEVEL { SecurityAnonymous,SecurityIdentification,SecurityImpersonation,SecurityDelegation @@ -3920,6 +3927,12 @@ __buildmemorybarrier() #define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) +#define TOKEN_TRUST_CONSTRAINT_MASK (STANDARD_RIGHTS_READ | TOKEN_QUERY | TOKEN_QUERY_SOURCE) + +#if NTDDI_VERSION >= NTDDI_WIN8 +#define TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 (TOKEN_QUERY | TOKEN_QUERY_SOURCE) +#define TOKEN_ACCESS_PSEUDO_HANDLE TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 +#endif typedef enum _TOKEN_TYPE { TokenPrimary = 1,TokenImpersonation } TOKEN_TYPE; @@ -3972,6 +3985,14 @@ __buildmemorybarrier() TokenRestrictedDeviceGroups, TokenSecurityAttributes, TokenIsRestricted, + TokenProcessTrustLevel, + TokenPrivateNameSpace, + TokenSingletonAttributes, + TokenBnoIsolation, + TokenChildProcessFlags, + TokenIsLessPrivilegedAppContainer, + TokenIsSandboxed, + TokenIsAppSilo, MaxTokenInfoClass } TOKEN_INFORMATION_CLASS,*PTOKEN_INFORMATION_CLASS; @@ -3979,6 +4000,23 @@ __buildmemorybarrier() SID_AND_ATTRIBUTES User; } TOKEN_USER,*PTOKEN_USER; +#ifndef __WIDL__ + + typedef struct _SE_TOKEN_USER { + __C89_NAMELESS union { + TOKEN_USER TokenUser; + SID_AND_ATTRIBUTES User; + }; + __C89_NAMELESS union { + SID Sid; + BYTE Buffer[SECURITY_MAX_SID_SIZE]; + }; + } SE_TOKEN_USER,*PSE_TOKEN_USER; + +#define TOKEN_USER_MAX_SIZE (sizeof(TOKEN_USER) + SECURITY_MAX_SID_SIZE) + +#endif + typedef struct _TOKEN_GROUPS { DWORD GroupCount; #ifdef __WIDL__ @@ -3997,6 +4035,10 @@ __buildmemorybarrier() PSID Owner; } TOKEN_OWNER,*PTOKEN_OWNER; +#ifndef __WIDL__ +#define TOKEN_OWNER_MAX_SIZE (sizeof(TOKEN_OWNER) + SECURITY_MAX_SID_SIZE) +#endif + typedef struct _TOKEN_PRIMARY_GROUP { PSID PrimaryGroup; } TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; @@ -4044,10 +4086,16 @@ __buildmemorybarrier() #define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) +#ifndef __WIDL__ +#define TOKEN_INTEGRITY_LEVEL_MAX_SIZE ((((DWORD)(sizeof(TOKEN_MANDATORY_LABEL)) + sizeof(PVOID) - 1) & ~(sizeof(PVOID)-1)) + SECURITY_MAX_SID_SIZE) +#endif + typedef struct _TOKEN_MANDATORY_POLICY { DWORD Policy; } TOKEN_MANDATORY_POLICY,*PTOKEN_MANDATORY_POLICY; + typedef PVOID PSECURITY_ATTRIBUTES_OPAQUE; + typedef struct _TOKEN_ACCESS_INFORMATION { PSID_AND_ATTRIBUTES_HASH SidHash; PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; @@ -4113,6 +4161,19 @@ __buildmemorybarrier() PSID TokenAppContainer; } TOKEN_APPCONTAINER_INFORMATION,*PTOKEN_APPCONTAINER_INFORMATION; +#ifndef __WIDL__ +#define TOKEN_APPCONTAINER_SID_MAX_SIZE (sizeof(TOKEN_APPCONTAINER_INFORMATION) + SECURITY_MAX_SID_SIZE) +#endif + + typedef struct _TOKEN_SID_INFORMATION { + PSID Sid; + } TOKEN_SID_INFORMATION,*PTOKEN_SID_INFORMATION; + + typedef struct _TOKEN_BNO_ISOLATION_INFORMATION { + PWSTR IsolationPrefix; + BOOLEAN IsolationEnabled; + } TOKEN_BNO_ISOLATION_INFORMATION,*PTOKEN_BNO_ISOLATION_INFORMATION; + #define CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID 0x00 #define CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 0x01 #define CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 0x02 @@ -4218,6 +4279,8 @@ __buildmemorybarrier() #define LABEL_SECURITY_INFORMATION (__MSABI_LONG(0x00000010)) #define ATTRIBUTE_SECURITY_INFORMATION (__MSABI_LONG(0x00000020)) #define SCOPE_SECURITY_INFORMATION (__MSABI_LONG(0x00000040)) +#define PROCESS_TRUST_LABEL_SECURITY_INFORMATION (__MSABI_LONG(0x00000080)) +#define ACCESS_FILTER_SECURITY_INFORMATION (__MSABI_LONG(0x00000100)) #define BACKUP_SECURITY_INFORMATION (__MSABI_LONG(0x00010000)) #define PROTECTED_DACL_SECURITY_INFORMATION (__MSABI_LONG(0x80000000)) @@ -4253,6 +4316,7 @@ __buildmemorybarrier() #define PROCESS_QUERY_INFORMATION (0x0400) #define PROCESS_SUSPEND_RESUME (0x0800) #define PROCESS_QUERY_LIMITED_INFORMATION (0x1000) +#define PROCESS_SET_LIMITED_INFORMATION (0x2000) #if NTDDI_VERSION >= 0x06000000 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff) @@ -4279,6 +4343,7 @@ __buildmemorybarrier() #define THREAD_DIRECT_IMPERSONATION (0x0200) #define THREAD_SET_LIMITED_INFORMATION (0x0400) #define THREAD_QUERY_LIMITED_INFORMATION (0x0800) +#define THREAD_RESUME (0x1000) #if NTDDI_VERSION >= 0x06000000 #define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff) @@ -4291,7 +4356,8 @@ __buildmemorybarrier() #define JOB_OBJECT_QUERY (0x0004) #define JOB_OBJECT_TERMINATE (0x0008) #define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) -#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F) +#define JOB_OBJECT_IMPERSONATE (0x0020) +#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3F) typedef struct _JOB_SET_ARRAY { HANDLE JobHandle; @@ -4367,6 +4433,8 @@ __buildmemorybarrier() #define WX86 #endif +#define THREAD_DYNAMIC_CODE_ALLOW 1 + #define THREAD_BASE_PRIORITY_LOWRT 15 #define THREAD_BASE_PRIORITY_MAX 2 #define THREAD_BASE_PRIORITY_MIN (-2) @@ -4490,6 +4558,8 @@ __buildmemorybarrier() ProcessSideChannelIsolationPolicy, ProcessUserShadowStackPolicy, ProcessRedirectionTrustPolicy, + ProcessUserPointerAuthPolicy, + ProcessSEHOPPolicy, MaxProcessMitigationPolicy } PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY; @@ -4518,6 +4588,16 @@ __buildmemorybarrier() BOOLEAN Permanent; } PROCESS_MITIGATION_DEP_POLICY,*PPROCESS_MITIGATION_DEP_POLICY; + typedef struct _PROCESS_MITIGATION_SEHOP_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableSehop : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_SEHOP_POLICY,*PPROCESS_MITIGATION_SEHOP_POLICY; + typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { __C89_NAMELESS union { DWORD Flags; @@ -4659,7 +4739,8 @@ __buildmemorybarrier() DWORD IsolateSecurityDomain :1; DWORD DisablePageCombine :1; DWORD SpeculativeStoreBypassDisable :1; - DWORD ReservedFlags :28; + DWORD RestrictCoreSharing : 1; + DWORD ReservedFlags : 27; }; }; } PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY, *PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; @@ -4683,6 +4764,16 @@ __buildmemorybarrier() }; } PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY, *PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; + typedef struct _PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnablePointerAuthUserIp : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY, *PPROCESS_MITIGATION_USER_POINTER_AUTH_POLICY; + typedef struct _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY { __C89_NAMELESS union { DWORD Flags; @@ -4821,9 +4912,11 @@ __buildmemorybarrier() #define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10 #define JOB_OBJECT_MSG_NOTIFICATION_LIMIT 11 #define JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT 12 +#define JOB_OBJECT_MSG_SILO_TERMINATED 13 #define JOB_OBJECT_MSG_MINIMUM 1 #define JOB_OBJECT_MSG_MAXIMUM 12 +#define JOB_OBJECT_VALID_COMPLETION_FILTER (((__MSABI_LONG(1U) << (JOB_OBJECT_MSG_MAXIMUM + 1)) - 1) - ((__MSABI_LONG(1U) << JOB_OBJECT_MSG_MINIMUM) - 1)) #define JOB_OBJECT_LIMIT_WORKINGSET 0x00000001 #define JOB_OBJECT_LIMIT_PROCESS_TIME 0x00000002 @@ -4836,16 +4929,20 @@ __buildmemorybarrier() #define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x00000100 #define JOB_OBJECT_LIMIT_JOB_MEMORY 0x00000200 +#define JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH JOB_OBJECT_LIMIT_JOB_MEMORY #define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x00000400 #define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x00000800 #define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x00001000 #define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x00002000 - #define JOB_OBJECT_LIMIT_SUBSET_AFFINITY 0x00004000 -#define JOB_OBJECT_LIMIT_RESERVED3 0x00008000 +#define JOB_OBJECT_LIMIT_JOB_MEMORY_LOW 0x00008000 + #define JOB_OBJECT_LIMIT_JOB_READ_BYTES 0x00010000 #define JOB_OBJECT_LIMIT_JOB_WRITE_BYTES 0x00020000 #define JOB_OBJECT_LIMIT_RATE_CONTROL 0x00040000 +#define JOB_OBJECT_LIMIT_CPU_RATE_CONTROL JOB_OBJECT_LIMIT_RATE_CONTROL +#define JOB_OBJECT_LIMIT_IO_RATE_CONTROL 0x00080000 +#define JOB_OBJECT_LIMIT_NET_RATE_CONTROL 0x00100000 #define JOB_OBJECT_LIMIT_RESERVED3 0x00008000 #define JOB_OBJECT_LIMIT_RESERVED4 0x00010000 @@ -4885,14 +4982,20 @@ __buildmemorybarrier() #define JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED 0x2 #define JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP 0x4 #define JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY 0x8 -#define JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS 0xf +#define JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE 0x10 +#define JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS 0x1f typedef enum _JOBOBJECTINFOCLASS { - JobObjectBasicAccountingInformation = 1, JobObjectBasicLimitInformation, - JobObjectBasicProcessIdList, JobObjectBasicUIRestrictions, - JobObjectSecurityLimitInformation, JobObjectEndOfJobTimeInformation, - JobObjectAssociateCompletionPortInformation, JobObjectBasicAndIoAccountingInformation, - JobObjectExtendedLimitInformation, JobObjectJobSetInformation, + JobObjectBasicAccountingInformation = 1, + JobObjectBasicLimitInformation, + JobObjectBasicProcessIdList, + JobObjectBasicUIRestrictions, + JobObjectSecurityLimitInformation, + JobObjectEndOfJobTimeInformation, + JobObjectAssociateCompletionPortInformation, + JobObjectBasicAndIoAccountingInformation, + JobObjectExtendedLimitInformation, + JobObjectJobSetInformation, JobObjectGroupInformation, JobObjectNotificationLimitInformation, JobObjectLimitViolationInformation, @@ -4908,9 +5011,35 @@ __buildmemorybarrier() JobObjectReserved6Information, JobObjectReserved7Information, JobObjectReserved8Information, + JobObjectReserved9Information, + JobObjectReserved10Information, + JobObjectReserved11Information, + JobObjectReserved12Information, + JobObjectReserved13Information, + JobObjectReserved14Information = 31, + JobObjectNetRateControlInformation, + JobObjectNotificationLimitInformation2, + JobObjectLimitViolationInformation2, + JobObjectCreateSilo, + JobObjectSiloBasicInformation, + JobObjectReserved15Information = 37, + JobObjectReserved16Information = 38, + JobObjectReserved17Information = 39, + JobObjectReserved18Information = 40, + JobObjectReserved19Information = 41, + JobObjectReserved20Information = 42, + JobObjectReserved21Information = 43, + JobObjectReserved22Information = 44, + JobObjectReserved23Information = 45, + JobObjectReserved24Information = 46, + JobObjectReserved25Information = 47, MaxJobObjectInfoClass } JOBOBJECTINFOCLASS; +#define MEMORY_PARTITION_QUERY_ACCESS 0x0001 +#define MEMORY_PARTITION_MODIFY_ACCESS 0x0002 +#define MEMORY_PARTITION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MEMORY_PARTITION_QUERY_ACCESS | MEMORY_PARTITION_MODIFY_ACCESS) + typedef enum _FIRMWARE_TYPE { FirmwareTypeUnknown, FirmwareTypeBios, @@ -4937,8 +5066,15 @@ __buildmemorybarrier() #define TIME_ZONE_ID_DAYLIGHT 2 typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP { - RelationProcessorCore,RelationNumaNode,RelationCache, - RelationProcessorPackage,RelationGroup,RelationAll=0xffff + RelationProcessorCore, + RelationNumaNode, + RelationCache, + RelationProcessorPackage, + RelationGroup, + RelationProcessorDie, + RelationNumaNodeEx, + RelationProcessorModule, + RelationAll = 0xffff } LOGICAL_PROCESSOR_RELATIONSHIP; #define LTP_PC_SMT 0x1 @@ -5013,14 +5149,60 @@ __buildmemorybarrier() LOGICAL_PROCESSOR_RELATIONSHIP Relationship; DWORD Size; __C89_NAMELESS union { - PROCESSOR_RELATIONSHIP Processor; - NUMA_NODE_RELATIONSHIP NumaNode; - CACHE_RELATIONSHIP Cache; - GROUP_RELATIONSHIP Group; - } DUMMYUNIONNAME; + PROCESSOR_RELATIONSHIP Processor; + NUMA_NODE_RELATIONSHIP NumaNode; + CACHE_RELATIONSHIP Cache; + GROUP_RELATIONSHIP Group; + }; + }; + + typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; + + typedef enum _CPU_SET_INFORMATION_TYPE { + CpuSetInformation + } CPU_SET_INFORMATION_TYPE, *PCPU_SET_INFORMATION_TYPE; + +#define SYSTEM_CPU_SET_INFORMATION_PARKED 0x1 +#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED 0x2 +#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS 0x4 +#define SYSTEM_CPU_SET_INFORMATION_REALTIME 0x8 + + struct _SYSTEM_CPU_SET_INFORMATION { + DWORD Size; + CPU_SET_INFORMATION_TYPE Type; + __C89_NAMELESS union { + struct { + DWORD Id; + WORD Group; + BYTE LogicalProcessorIndex; + BYTE CoreIndex; + BYTE LastLevelCacheIndex; + BYTE NumaNodeIndex; + BYTE EfficiencyClass; + __C89_NAMELESS union { + BYTE AllFlags; + __C89_NAMELESS struct { + BYTE Parked : 1; + BYTE Allocated : 1; + BYTE AllocatedToTargetProcess : 1; + BYTE RealTime : 1; + BYTE ReservedFlags : 4; + }; + }; + __C89_NAMELESS union { + DWORD Reserved; + BYTE SchedulingClass; + }; + DWORD64 AllocationTag; + } CpuSet; + }; }; - typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX,*PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; + typedef struct _SYSTEM_CPU_SET_INFORMATION SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION; + + typedef struct _SYSTEM_POOL_ZEROING_INFORMATION { + BOOLEAN PoolZeroingSupportPresent; + } SYSTEM_POOL_ZEROING_INFORMATION, *PSYSTEM_POOL_ZEROING_INFORMATION; typedef struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { DWORD64 CycleTime; @@ -5165,6 +5347,20 @@ __buildmemorybarrier() #define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U) #define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA) +#define XSTATE_COMPACTION_ENABLE (63) +#define XSTATE_COMPACTION_ENABLE_MASK (1ULL << (XSTATE_COMPACTION_ENABLE)) + +#define XSTATE_ALIGN_BIT (1) +#define XSTATE_ALIGN_MASK (1ULL << (XSTATE_ALIGN_BIT)) + +#define XSTATE_XFD_BIT (2) +#define XSTATE_XFD_MASK (1ULL << (XSTATE_XFD_BIT)) + +#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK (1) +#define XSTATE_CONTROLFLAG_XSAVEC_MASK (2) +#define XSTATE_CONTROLFLAG_XFD_MASK (4) +#define XSTATE_CONTROLFLAG_VALID_MASK (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | XSTATE_CONTROLFLAG_XSAVEC_MASK | XSTATE_CONTROLFLAG_XFD_MASK) + typedef struct _XSTATE_FEATURE { DWORD Offset; DWORD Size; @@ -5174,14 +5370,32 @@ __buildmemorybarrier() DWORD64 EnabledFeatures; DWORD64 EnabledVolatileFeatures; DWORD Size; - DWORD OptimizedSave : 1; + __C89_NAMELESS union { + DWORD ControlFlags; + __C89_NAMELESS struct { + DWORD OptimizedSave : 1; + DWORD CompactionEnabled : 1; + DWORD ExtendedFeatureDisable : 1; + }; + }; XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; - } XSTATE_CONFIGURATION,*PXSTATE_CONFIGURATION; + DWORD64 EnabledSupervisorFeatures; + DWORD64 AlignedFeatures; + DWORD AllFeatureSize; + DWORD AllFeatures[MAXIMUM_XSTATE_FEATURES]; + DWORD64 EnabledUserVisibleSupervisorFeatures; + DWORD64 ExtendedFeatureDisableFeatures; + DWORD AllNonLargeFeatureSize; + DWORD Spare; + } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; PVOID AllocationBase; DWORD AllocationProtect; +#if defined (_WIN64) + WORD PartitionId; +#endif SIZE_T RegionSize; DWORD State; DWORD Protect; @@ -5213,6 +5427,8 @@ __buildmemorybarrier() #define CFG_CALL_TARGET_VALID 0x01 #define CFG_CALL_TARGET_PROCESSED 0x02 #define CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID 0x04 +#define CFG_CALL_TARGET_VALID_XFG (0x08) +#define CFG_CALL_TARGET_CONVERT_XFG_TO_CFG (0x10) typedef struct _CFG_CALL_TARGET_INFO { ULONG_PTR Offset; @@ -5251,12 +5467,16 @@ __buildmemorybarrier() #define PAGE_GRAPHICS_EXECUTE_READ 0x8000 #define PAGE_GRAPHICS_EXECUTE_READWRITE 0x10000 #define PAGE_GRAPHICS_COHERENT 0x20000 +#define PAGE_GRAPHICS_NOCACHE 0x40000 #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 PAGE_ENCLAVE_MASK 0x10000000 +#define PAGE_ENCLAVE_DECOMMIT (PAGE_ENCLAVE_MASK | 0) +#define PAGE_ENCLAVE_SS_FIRST (PAGE_ENCLAVE_MASK | 1) +#define PAGE_ENCLAVE_SS_REST (PAGE_ENCLAVE_MASK | 2) #define MEM_COMMIT 0x1000 #define MEM_RESERVE 0x2000 @@ -5275,6 +5495,9 @@ __buildmemorybarrier() #define MEM_LARGE_PAGES 0x20000000 #define MEM_4MB_PAGES 0x80000000 #define MEM_64K_PAGES (MEM_LARGE_PAGES | MEM_PHYSICAL) +#define MEM_UNMAP_WITH_TRANSIENT_BOOST 0x00000001 +#define MEM_COALESCE_PLACEHOLDERS 0x00000001 +#define MEM_PRESERVE_PLACEHOLDER 0x00000002 typedef struct _MEM_ADDRESS_REQUIREMENTS { PVOID LowestStartingAddress; @@ -5287,6 +5510,11 @@ __buildmemorybarrier() #define MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL 0x04 #define MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x08 #define MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x10 +#define MEM_EXTENDED_PARAMETER_SOFT_FAULT_PAGES 0x20 +#define MEM_EXTENDED_PARAMETER_EC_CODE 0x40 +#define MEM_EXTENDED_PARAMETER_IMAGE_NO_HPAT 0x80 + +#define MEM_EXTENDED_PARAMETER_NUMA_NODE_MANDATORY MINLONG64 typedef enum MEM_EXTENDED_PARAMETER_TYPE { MemExtendedParameterInvalidType = 0, @@ -5295,6 +5523,7 @@ __buildmemorybarrier() MemExtendedParameterPartitionHandle, MemExtendedParameterUserPhysicalHandle, MemExtendedParameterAttributeFlags, + MemExtendedParameterImageMachine, MemExtendedParameterMax } MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE; @@ -5314,6 +5543,20 @@ __buildmemorybarrier() }; } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER; +#define MEMORY_CURRENT_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-1)) +#define MEMORY_SYSTEM_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-2)) +#define MEMORY_EXISTING_VAD_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-3)) +#define MEM_DEDICATED_ATTRIBUTE_NOT_SPECIFIED ((DWORD64)(-1)) + + typedef enum _MEM_DEDICATED_ATTRIBUTE_TYPE { + MemDedicatedAttributeReadBandwidth = 0, + MemDedicatedAttributeReadLatency, + MemDedicatedAttributeWriteBandwidth, + MemDedicatedAttributeWriteLatency, + MemDedicatedAttributeMax + } MEM_DEDICATED_ATTRIBUTE_TYPE, *PMEM_DEDICATED_ATTRIBUTE_TYPE; + +#define SEC_HUGE_PAGES 0x20000 #define SEC_PARTITION_OWNER_HANDLE 0x40000 #define SEC_64K_PAGES 0x80000 #define SEC_FILE 0x800000 @@ -5330,12 +5573,12 @@ __buildmemorybarrier() MemSectionExtendedParameterInvalidType = 0, MemSectionExtendedParameterUserPhysicalFlags, MemSectionExtendedParameterNumaNode, + MemSectionExtendedParameterSigningLevel, 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 #define FILE_READ_DATA (0x0001) #define FILE_LIST_DIRECTORY (0x0001) @@ -5411,7 +5654,19 @@ __buildmemorybarrier() #define FILE_ATTRIBUTE_OFFLINE 0x00001000 #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 #define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 +#define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000 #define FILE_ATTRIBUTE_VIRTUAL 0x00010000 +#define FILE_ATTRIBUTE_NO_SCRUB_DATA 0x00020000 +#define FILE_ATTRIBUTE_EA 0x00040000 +#define FILE_ATTRIBUTE_PINNED 0x00080000 +#define FILE_ATTRIBUTE_UNPINNED 0x00100000 +#define FILE_ATTRIBUTE_RECALL_ON_OPEN 0x00040000 +#define FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS 0x00400000 +#define TREE_CONNECT_ATTRIBUTE_PRIVACY 0x00004000 +#define TREE_CONNECT_ATTRIBUTE_INTEGRITY 0x00008000 +#define TREE_CONNECT_ATTRIBUTE_GLOBAL 0x00000004 +#define TREE_CONNECT_ATTRIBUTE_PINNED 0x00000002 +#define FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL 0x20000000 #define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 #define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 #define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 @@ -5436,6 +5691,12 @@ __buildmemorybarrier() #define FILE_SUPPORTS_SPARSE_FILES 0x00000040 #define FILE_SUPPORTS_REPARSE_POINTS 0x00000080 #define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100 +#define FILE_RETURNS_CLEANUP_RESULT_INFO 0x00000200 +#define FILE_SUPPORTS_POSIX_UNLINK_RENAME 0x00000400 +#define FILE_SUPPORTS_BYPASS_IO 0x00000800 +#define FILE_SUPPORTS_STREAM_SNAPSHOTS 0x00001000 +#define FILE_SUPPORTS_CASE_SENSITIVE_DIRS 0x00002000 + #define FILE_VOLUME_IS_COMPRESSED 0x00008000 #define FILE_SUPPORTS_OBJECT_IDS 0x00010000 #define FILE_SUPPORTS_ENCRYPTION 0x00020000 @@ -5448,8 +5709,13 @@ __buildmemorybarrier() #define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000 #define FILE_SUPPORTS_USN_JOURNAL 0x02000000 #define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000 +#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000 +#define FILE_SUPPORTS_SPARSE_VDL 0x10000000 +#define FILE_DAX_VOLUME 0x20000000 +#define FILE_SUPPORTS_GHOSTING 0x40000000 +#define FILE_INVALID_FILE_ID ((LONGLONG)(-1LL)) - typedef struct FILE_ID_128 { + typedef struct _FILE_ID_128 { BYTE Identifier[16]; } FILE_ID_128, *PFILE_ID_128; @@ -5460,6 +5726,60 @@ __buildmemorybarrier() WCHAR FileName[1]; } FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION; +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3 + typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastModificationTime; + LARGE_INTEGER LastChangeTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER AllocatedLength; + LARGE_INTEGER FileSize; + DWORD FileAttributes; + __C89_NAMELESS union { + DWORD ReparsePointTag; + DWORD EaSize; + }; + LARGE_INTEGER FileId; + LARGE_INTEGER ParentFileId; + DWORD FileNameLength; + WCHAR FileName[1]; + } FILE_NOTIFY_EXTENDED_INFORMATION,*PFILE_NOTIFY_EXTENDED_INFORMATION; +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_NI +#define FILE_NAME_FLAG_HARDLINK 0 +#define FILE_NAME_FLAG_NTFS 0x01 +#define FILE_NAME_FLAG_DOS 0x02 +#define FILE_NAME_FLAG_BOTH 0x03 +#define FILE_NAME_FLAGS_UNSPECIFIED 0x80 + + typedef struct _FILE_NOTIFY_FULL_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastModificationTime; + LARGE_INTEGER LastChangeTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER AllocatedLength; + LARGE_INTEGER FileSize; + DWORD FileAttributes; + __C89_NAMELESS union { + DWORD ReparsePointTag; + DWORD EaSize; + }; + LARGE_INTEGER FileId; + LARGE_INTEGER ParentFileId; + WORD FileNameLength; + BYTE FileNameFlags; + BYTE Reserved; + WCHAR FileName[1]; + } FILE_NOTIFY_FULL_INFORMATION,*PFILE_NOTIFY_FULL_INFORMATION; +#endif + +#define FILE_CS_FLAG_CASE_SENSITIVE_DIR 0x00000001 + typedef union _FILE_SEGMENT_ELEMENT { PVOID64 Buffer; ULONGLONG Alignment; -- 2.36.1
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public