headers: Add new symbols in winnt.h
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
index 1b33b07..df87eb1 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -411,6 +411,18 @@
} GROUP_AFFINITY, *PGROUP_AFFINITY;
#endif /* !___GROUP_AFFINITY_DEFINED */
+typedef struct _GROUP_AFFINITY32 {
+ DWORD Mask;
+ WORD Group;
+ WORD Reserved[3];
+} GROUP_AFFINITY32, *PGROUP_AFFINITY32;
+
+typedef struct _GROUP_AFFINITY64 {
+ unsigned __int64 Mask;
+ WORD Group;
+ WORD Reserved[3];
+} GROUP_AFFINITY64, *PGROUP_AFFINITY64;
+
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
@@ -916,6 +928,13 @@
#define PRODUCT_AZURE_SERVER_CLOUDMOS 0xC8
#define PRODUCT_CLOUDEDITIONN 0xCA
#define PRODUCT_CLOUDEDITION 0xCB
+#define PRODUCT_VALIDATION 0xCC
+#define PRODUCT_IOTENTERPRISESK 0xCD
+#define PRODUCT_IOTENTERPRISEK 0xCE
+#define PRODUCT_IOTENTERPRISESEVAL 0xCF
+#define PRODUCT_AZURE_SERVER_AGENTBRIDGE 0xD0
+#define PRODUCT_AZURE_SERVER_NANOHOST 0xD1
+#define PRODUCT_WNC 0xD2
#define PRODUCT_AZURESTACKHCI_SERVER_CORE 0x196
#define PRODUCT_DATACENTER_SERVER_AZURE_EDITION 0x197
#define PRODUCT_DATACENTER_SERVER_CORE_AZURE_EDITION 0x198
@@ -1502,6 +1521,13 @@
DWORD64 Ia32Pl3SspMsr;
} XSAVE_CET_U_FORMAT, *PXSAVE_CET_U_FORMAT;
+ typedef struct _XSAVE_ARM64_SVE_HEADER {
+ DWORD VectorLength;
+ DWORD VectorRegisterOffset;
+ DWORD PredicateRegisterOffset;
+ DWORD Reserved[5];
+ } XSAVE_ARM64_SVE_HEADER, *PXSAVE_ARM64_SVE_HEADER;
+
typedef struct DECLSPEC_ALIGN (8) _XSAVE_AREA_HEADER {
DWORD64 Mask;
DWORD64 Reserved[7];
@@ -1512,10 +1538,13 @@
XSAVE_AREA_HEADER Header;
} XSAVE_AREA,*PXSAVE_AREA;
+#define XSTATE_CONTEXT_FLAG_LOOKASIDE 0x1
+
typedef struct _XSTATE_CONTEXT {
DWORD64 Mask;
DWORD Length;
- DWORD Reserved1;
+ BYTE Flags;
+ BYTE Reserved0[3];
PXSAVE_AREA Area;
#if defined (__i386__)
DWORD Reserved2;
@@ -3099,6 +3128,11 @@
SID_HASH_ENTRY Hash[SID_HASH_SIZE];
} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
+ typedef struct _ATTRIBUTES_AND_SID {
+ UINT32 Attributes;
+ DWORD SidStart;
+ } ATTRIBUTES_AND_SID, *PATTRIBUTES_AND_SID;
+
#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
@@ -3202,9 +3236,15 @@
#define SECURITY_CCG_ID_BASE_RID (__MSABI_LONG(0x0000005f))
#define SECURITY_UMFD_BASE_RID (__MSABI_LONG(0x00000060))
+#define SECURITY_UNIQUIFIED_SERVICE_BASE_RID (__MSABI_LONG(0x00000061))
#define SECURITY_VIRTUALACCOUNT_ID_RID_COUNT (__MSABI_LONG(6))
+#define SECURITY_EDGE_CLOUD_INFRASTRUCTURE_SERVICE_ID_BASE_RID (__MSABI_LONG(0x00000062))
+
+#define SECURITY_RESTRICTED_SERVICES_BASE_RID (__MSABI_LONG(0x00000063))
+#define SECURITY_RESTRICTED_SERVICES_RID_COUNT (__MSABI_LONG(6))
+
#define SECURITY_MAX_BASE_RID (__MSABI_LONG(0x0000006f))
#define SECURITY_MAX_ALWAYS_FILTERED (__MSABI_LONG(0x000003E7))
@@ -3251,6 +3291,8 @@
#define DOMAIN_GROUP_RID_PROTECTED_USERS (__MSABI_LONG(0x0000020d))
#define DOMAIN_GROUP_RID_KEY_ADMINS (__MSABI_LONG(0x0000020e))
#define DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS (__MSABI_LONG(0x0000020f))
+#define DOMAIN_GROUP_RID_FOREST_TRUSTS (__MSABI_LONG(0x00000210))
+#define DOMAIN_GROUP_RID_EXTERNAL_TRUSTS (__MSABI_LONG(0x00000211))
#define DOMAIN_ALIAS_RID_ADMINS (__MSABI_LONG(0x00000220))
#define DOMAIN_ALIAS_RID_USERS (__MSABI_LONG(0x00000221))
@@ -3290,6 +3332,8 @@
#define DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT (__MSABI_LONG(0x00000245))
#define DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS (__MSABI_LONG(0x00000246))
#define DOMAIN_ALIAS_RID_DEVICE_OWNERS (__MSABI_LONG(0x00000247))
+#define DOMAIN_ALIAS_RID_USER_MODE_HARDWARE_OPERATORS (__MSABI_LONG(0x00000248))
+#define DOMAIN_ALIAS_RID_OPENSSH_USERS (__MSABI_LONG(0x00000249))
#define SECURITY_APP_PACKAGE_AUTHORITY {0, 0, 0, 0, 0, 15}
@@ -3435,7 +3479,9 @@
WinAuthenticationKeyPropertyMFASid = 116,
WinAuthenticationKeyPropertyAttestationSid = 117,
WinAuthenticationFreshKeyAuthSid = 118,
- WinBuiltinDeviceOwnersSid = 119
+ WinBuiltinDeviceOwnersSid = 119,
+ WinBuiltinUserModeHardwareOperatorsSid = 120,
+ WinBuiltinOpenSSHUsersSid = 121
} WELL_KNOWN_SID_TYPE;
#define SYSTEM_LUID { 0x3e7, 0x0 }
@@ -6111,8 +6157,72 @@
} FILE_NOTIFY_FULL_INFORMATION,*PFILE_NOTIFY_FULL_INFORMATION;
#endif
+ typedef struct _FILE_STAT_INFORMATION {
+ LARGE_INTEGER FileId;
+ LARGE_INTEGER CreationTime;
+ LARGE_INTEGER LastAccessTime;
+ LARGE_INTEGER LastWriteTime;
+ LARGE_INTEGER ChangeTime;
+ LARGE_INTEGER AllocationSize;
+ LARGE_INTEGER EndOfFile;
+ DWORD FileAttributes;
+ DWORD ReparseTag;
+ DWORD NumberOfLinks;
+ ACCESS_MASK EffectiveAccess;
+ } FILE_STAT_INFORMATION, *PFILE_STAT_INFORMATION;
+
+#define LX_FILE_METADATA_HAS_UID 0x1
+#define LX_FILE_METADATA_HAS_GID 0x2
+#define LX_FILE_METADATA_HAS_MODE 0x4
+#define LX_FILE_METADATA_HAS_DEVICE_ID 0x8
+#define LX_FILE_CASE_SENSITIVE_DIR 0x10
+
+ typedef struct _FILE_STAT_LX_INFORMATION {
+ LARGE_INTEGER FileId;
+ LARGE_INTEGER CreationTime;
+ LARGE_INTEGER LastAccessTime;
+ LARGE_INTEGER LastWriteTime;
+ LARGE_INTEGER ChangeTime;
+ LARGE_INTEGER AllocationSize;
+ LARGE_INTEGER EndOfFile;
+ DWORD FileAttributes;
+ DWORD ReparseTag;
+ DWORD NumberOfLinks;
+ ACCESS_MASK EffectiveAccess;
+ DWORD LxFlags;
+ DWORD LxUid;
+ DWORD LxGid;
+ DWORD LxMode;
+ DWORD LxDeviceIdMajor;
+ DWORD LxDeviceIdMinor;
+ } FILE_STAT_LX_INFORMATION, *PFILE_STAT_LX_INFORMATION;
+
+#if NTDDI_VERSION >= NTDDI_WIN11_ZN
+ typedef struct _FILE_STAT_BASIC_INFORMATION {
+ LARGE_INTEGER FileId;
+ LARGE_INTEGER CreationTime;
+ LARGE_INTEGER LastAccessTime;
+ LARGE_INTEGER LastWriteTime;
+ LARGE_INTEGER ChangeTime;
+ LARGE_INTEGER AllocationSize;
+ LARGE_INTEGER EndOfFile;
+ DWORD FileAttributes;
+ DWORD ReparseTag;
+ DWORD NumberOfLinks;
+ DWORD DeviceType;
+ DWORD DeviceCharacteristics;
+ DWORD Reserved;
+ LARGE_INTEGER VolumeSerialNumber;
+ FILE_ID_128 FileId128;
+ } FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;
+#endif
+
#define FILE_CS_FLAG_CASE_SENSITIVE_DIR 0x00000001
+ typedef struct _FILE_CASE_SENSITIVE_INFORMATION {
+ DWORD Flags;
+ } FILE_CASE_SENSITIVE_INFORMATION, *PFILE_CASE_SENSITIVE_INFORMATION;
+
typedef union _FILE_SEGMENT_ELEMENT {
PVOID64 Buffer;
ULONGLONG Alignment;
@@ -9240,10 +9350,22 @@
typedef LONG (NTAPI *PVECTORED_EXCEPTION_HANDLER) (struct _EXCEPTION_POINTERS *ExceptionInfo);
typedef enum _HEAP_INFORMATION_CLASS {
- HeapCompatibilityInformation,
- HeapEnableTerminationOnCorruption
+ HeapCompatibilityInformation = 0,
+ HeapEnableTerminationOnCorruption = 1
+#if ((NTDDI_VERSION > NTDDI_WINBLUE) || (NTDDI_VERSION == NTDDI_WINBLUE && defined(WINBLUE_KBSPRING14)))
+ ,HeapOptimizeResources = 3
+#endif
+ ,HeapTag = 7
} HEAP_INFORMATION_CLASS;
+#if ((NTDDI_VERSION > NTDDI_WINBLUE) || (NTDDI_VERSION == NTDDI_WINBLUE && defined(WINBLUE_KBSPRING14)))
+#define HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION 1
+ typedef struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION {
+ DWORD Version;
+ DWORD Flags;
+ } HEAP_OPTIMIZE_RESOURCES_INFORMATION, *PHEAP_OPTIMIZE_RESOURCES_INFORMATION;
+#endif
+
typedef VOID (NTAPI *WORKERCALLBACKFUNC) (PVOID);
typedef VOID (NTAPI *APC_CALLBACK_FUNCTION) (DWORD, PVOID, PVOID);
typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN);