From 031c9f3f7d2ac8adc71e5e4ae5555f2ed5b95e92 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Sun, 22 May 2022 23:42:32 +0530
Subject: [PATCH] headers: Add missing symbols in winnt.h

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 mingw-w64-headers/include/winnt.h | 210 +++++++++++++++++++++++++++++-
 1 file changed, 204 insertions(+), 6 deletions(-)

diff --git a/mingw-w64-headers/include/winnt.h 
b/mingw-w64-headers/include/winnt.h
index 9e660bc..57f72eb 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -187,11 +187,21 @@ extern "C" {
 #endif
 #endif /* DECLSPEC_ALIGN */
 
+#ifndef X86_CACHE_ALIGNMENT_SIZE
+#define X86_CACHE_ALIGNMENT_SIZE 64
+#endif
+
+#ifndef ARM_CACHE_ALIGNMENT_SIZE
+#define ARM_CACHE_ALIGNMENT_SIZE 128
+#endif
+
 #ifndef SYSTEM_CACHE_ALIGNMENT_SIZE
 #if defined(__x86_64__) || defined(__i386__)
-#define SYSTEM_CACHE_ALIGNMENT_SIZE 64
+#define SYSTEM_CACHE_ALIGNMENT_SIZE X86_CACHE_ALIGNMENT_SIZE
+#elif defined(__aarch64__) || defined(__arm__)
+#define SYSTEM_CACHE_ALIGNMENT_SIZE ARM_CACHE_ALIGNMENT_SIZE
 #else
-#define SYSTEM_CACHE_ALIGNMENT_SIZE 128
+#error Must define a target architecture.
 #endif
 #endif
 
@@ -535,6 +545,9 @@ typedef struct _LARGE_INTEGER {
 
   typedef ULARGE_INTEGER *PULARGE_INTEGER;
 
+typedef LONG_PTR RTL_REFERENCE_COUNT, *PRTL_REFERENCE_COUNT;
+typedef LONG RTL_REFERENCE_COUNT32, *PRTL_REFERENCE_COUNT32;
+
   typedef struct _LUID {
     DWORD LowPart;
     LONG HighPart;
@@ -709,6 +722,9 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
     typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
 #endif
 
+#define ENCLAVE_SHORT_ID_LENGTH             16
+#define ENCLAVE_LONG_ID_LENGTH              32
+
 #define VER_WORKSTATION_NT                  0x40000000
 #define VER_SERVER_NT                       0x80000000
 #define VER_SUITE_SMALLBUSINESS             0x00000001
@@ -727,6 +743,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define VER_SUITE_STORAGE_SERVER            0x00002000
 #define VER_SUITE_COMPUTE_SERVER            0x00004000
 #define VER_SUITE_WH_SERVER                 0x00008000
+#define VER_SUITE_MULTIUSERTS               0x00020000
 
 #define PRODUCT_UNDEFINED                         0x0
 
@@ -853,6 +870,54 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define PRODUCT_ENTERPRISE_S_EVALUATION           0x81
 #define PRODUCT_ENTERPRISE_S_N_EVALUATION         0x82
 #define PRODUCT_MOBILE_ENTERPRISE                 0x85
+#define PRODUCT_HOLOGRAPHIC                       0x87
+#define PRODUCT_HOLOGRAPHIC_BUSINESS              0x88
+#define PRODUCT_PRO_SINGLE_LANGUAGE               0x8A
+#define PRODUCT_PRO_CHINA                         0x8B
+#define PRODUCT_ENTERPRISE_SUBSCRIPTION           0x8C
+#define PRODUCT_ENTERPRISE_SUBSCRIPTION_N         0x8D
+#define PRODUCT_DATACENTER_NANO_SERVER            0x8F
+#define PRODUCT_STANDARD_NANO_SERVER              0x90
+#define PRODUCT_DATACENTER_A_SERVER_CORE          0x91
+#define PRODUCT_STANDARD_A_SERVER_CORE            0x92
+#define PRODUCT_DATACENTER_WS_SERVER_CORE         0x93
+#define PRODUCT_STANDARD_WS_SERVER_CORE           0x94
+#define PRODUCT_UTILITY_VM                        0x95
+#define PRODUCT_DATACENTER_EVALUATION_SERVER_CORE 0x9F
+#define PRODUCT_STANDARD_EVALUATION_SERVER_CORE   0xA0
+#define PRODUCT_PRO_WORKSTATION                   0xA1
+#define PRODUCT_PRO_WORKSTATION_N                 0xA2
+#define PRODUCT_PRO_FOR_EDUCATION                 0xA4
+#define PRODUCT_PRO_FOR_EDUCATION_N               0xA5
+#define PRODUCT_AZURE_SERVER_CORE                 0xA8
+#define PRODUCT_AZURE_NANO_SERVER                 0xA9
+#define PRODUCT_ENTERPRISEG                       0xAB
+#define PRODUCT_ENTERPRISEGN                      0xAC
+#define PRODUCT_SERVERRDSH                        0xAF
+#define PRODUCT_CLOUD                             0xB2
+#define PRODUCT_CLOUDN                            0xB3
+#define PRODUCT_HUBOS                             0xB4
+#define PRODUCT_ONECOREUPDATEOS                   0xB6
+#define PRODUCT_CLOUDE                            0xB7
+#define PRODUCT_IOTOS                             0xB9
+#define PRODUCT_CLOUDEN                           0xBA
+#define PRODUCT_IOTEDGEOS                         0xBB
+#define PRODUCT_IOTENTERPRISE                     0xBC
+#define PRODUCT_LITE                              0xBD
+#define PRODUCT_IOTENTERPRISES                    0xBF
+#define PRODUCT_XBOX_SYSTEMOS                     0xC0
+#define PRODUCT_XBOX_NATIVEOS                     0xC1
+#define PRODUCT_XBOX_GAMEOS                       0xC2
+#define PRODUCT_XBOX_ERAOS                        0xC3
+#define PRODUCT_XBOX_DURANGOHOSTOS                0xC4
+#define PRODUCT_XBOX_SCARLETTHOSTOS               0xC5
+#define PRODUCT_AZURE_SERVER_CLOUDHOST            0xC7
+#define PRODUCT_AZURE_SERVER_CLOUDMOS             0xC8
+#define PRODUCT_CLOUDEDITIONN                     0xCA
+#define PRODUCT_CLOUDEDITION                      0xCB
+#define PRODUCT_AZURESTACKHCI_SERVER_CORE         0x196
+#define PRODUCT_DATACENTER_SERVER_AZURE_EDITION   0x197
+#define PRODUCT_DATACENTER_SERVER_CORE_AZURE_EDITION 0x198
 
 #define PRODUCT_UNLICENSED                        0xabcdabcd
 
@@ -906,6 +971,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define LANG_GREENLANDIC                          0x6f
 #define LANG_GUJARATI                             0x47
 #define LANG_HAUSA                                0x68
+#define LANG_HAWAIIAN                             0x75
 #define LANG_HEBREW                               0x0d
 #define LANG_HINDI                                0x39
 #define LANG_HUNGARIAN                            0x0e
@@ -1147,6 +1213,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define SUBLANG_NORWEGIAN_BOKMAL                  0x01
 #define SUBLANG_NORWEGIAN_NYNORSK                 0x02
 #define SUBLANG_OCCITAN_FRANCE                    0x01
+#define SUBLANG_ODIA_INDIA                        0x01
 #define SUBLANG_ORIYA_INDIA                       0x01
 #define SUBLANG_PASHTO_AFGHANISTAN                0x01
 #define SUBLANG_PERSIAN_IRAN                      0x01
@@ -1186,6 +1253,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC       0x0c
 #define SUBLANG_SERBIAN_SERBIA_LATIN              0x09
 #define SUBLANG_SERBIAN_SERBIA_CYRILLIC           0x0a
+#define SUBLANG_SERBIAN_CROATIA                   0x01
 #define SUBLANG_SINDHI_INDIA                      0x01
 #define SUBLANG_SINDHI_AFGHANISTAN                0x02
 #define SUBLANG_SINDHI_PAKISTAN                   0x02
@@ -1308,6 +1376,13 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 
 #define LOCALE_INVARIANT 
(MAKELCID(MAKELANGID(LANG_INVARIANT,SUBLANG_NEUTRAL),SORT_DEFAULT))
 
+#define LOCALE_TRANSIENT_KEYBOARD1 0x2000
+#define LOCALE_TRANSIENT_KEYBOARD2 0x2400
+#define LOCALE_TRANSIENT_KEYBOARD3 0x2800
+#define LOCALE_TRANSIENT_KEYBOARD4 0x2c00
+
+#define LOCALE_UNASSIGNED_LCID LOCALE_CUSTOM_UNSPECIFIED
+
 #define UNREFERENCED_PARAMETER(P) {(P) = (P);}
 #define UNREFERENCED_LOCAL_VARIABLE(V) {(V) = (V);}
 #define DBG_UNREFERENCED_PARAMETER(P) (P)
@@ -1326,6 +1401,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define DBG_CONTINUE ((DWORD)0x00010002)
 #define STATUS_SEGMENT_NOTIFICATION ((DWORD)0x40000005)
 #define STATUS_FATAL_APP_EXIT ((DWORD)0x40000015)
+#define DBG_REPLY_LATER ((DWORD)0x40010001)
 #define DBG_TERMINATE_THREAD ((DWORD)0x40010003)
 #define DBG_TERMINATE_PROCESS ((DWORD)0x40010004)
 #define DBG_CONTROL_C ((DWORD)0x40010005)
@@ -1366,6 +1442,7 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define STATUS_ENTRYPOINT_NOT_FOUND ((DWORD)0xC0000139)
 #define STATUS_CONTROL_C_EXIT ((DWORD)0xC000013A)
 #define STATUS_DLL_INIT_FAILED ((DWORD)0xC0000142)
+#define STATUS_CONTROL_STACK_VIOLATION ((DWORD)0xC00001B2)
 #define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD)0xC00002B4)
 #define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD)0xC00002B5)
 #define STATUS_REG_NAT_CONSUMPTION ((DWORD)0xC00002C9)
@@ -1373,6 +1450,11 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #define STATUS_STACK_BUFFER_OVERRUN ((DWORD)0xC0000409)
 #define STATUS_INVALID_CRUNTIME_PARAMETER ((DWORD)0xC0000417)
 #define STATUS_ASSERTION_FAILURE ((DWORD)0xC0000420)
+#define STATUS_ENCLAVE_VIOLATION ((DWORD)0xC00004A2)
+#define STATUS_INTERRUPTED ((DWORD)0xC0000515)
+#define STATUS_THREAD_NOT_RUNNING ((DWORD)0xC0000516)
+#define STATUS_ALREADY_REGISTERED ((DWORD)0xC0000718)
+
 #define STATUS_SXS_EARLY_DEACTIVATION ((DWORD)0xC015000F)
 #define STATUS_SXS_INVALID_DEACTIVATION ((DWORD)0xC0150010)
 #endif
@@ -1414,6 +1496,11 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #endif
     } XSAVE_FORMAT,*PXSAVE_FORMAT;
 
+    typedef struct _XSAVE_CET_U_FORMAT {
+      DWORD64 Ia32CetUMsr;
+      DWORD64 Ia32Pl3SspMsr;
+    } XSAVE_CET_U_FORMAT, *PXSAVE_CET_U_FORMAT;
+
     typedef struct DECLSPEC_ALIGN (8) _XSAVE_AREA_HEADER {
       DWORD64 Mask;
       DWORD64 Reserved[7];
@@ -1438,6 +1525,21 @@ inline ENUMTYPE &operator ^= (ENUMTYPE &a, ENUMTYPE b) { 
return (ENUMTYPE &)(((i
 #endif
     } XSTATE_CONTEXT,*PXSTATE_CONTEXT;
 
+    typedef struct _KERNEL_CET_CONTEXT {
+      DWORD64 Ssp;
+      DWORD64 Rip;
+      WORD SegCs;
+      __C89_NAMELESS union {
+        WORD   AllFlags;
+        __C89_NAMELESS struct {
+          WORD UseWrss : 1;
+          WORD PopShadowStackOne : 1;
+          WORD Unused : 14;
+        };
+      };
+      WORD Fill[2];
+    } KERNEL_CET_CONTEXT, *PKERNEL_CET_CONTEXT;
+
     typedef struct _SCOPE_TABLE_AMD64 {
       DWORD Count;
       struct {
@@ -1667,10 +1769,15 @@ extern "C" {
 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | 
CONTEXT_FLOATING_POINT)
 #define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | 
CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
 
+#define CONTEXT_XSTATE (CONTEXT_AMD64 | __MSABI_LONG(0x40))
+#define CONTEXT_KERNEL_CET (CONTEXT_AMD64 | __MSABI_LONG(0x80))
+
 #define CONTEXT_EXCEPTION_ACTIVE 0x8000000
 #define CONTEXT_SERVICE_ACTIVE 0x10000000
 #define CONTEXT_EXCEPTION_REQUEST 0x40000000
 #define CONTEXT_EXCEPTION_REPORTING 0x80000000
+#define CONTEXT_UNWOUND_TO_CALL 0x20000000
+
 #endif /* !defined(RC_INVOKED) */
 
 #define INITIAL_MXCSR 0x1f80
@@ -3068,6 +3175,15 @@ __buildmemorybarrier()
 #define SECURITY_DASHOST_ID_BASE_RID (__MSABI_LONG(0x0000005c))
 #define SECURITY_DASHOST_ID_RID_COUNT (__MSABI_LONG(6))
 
+#define SECURITY_USERMANAGER_ID_BASE_RID (__MSABI_LONG(0x0000005d))
+#define SECURITY_USERMANAGER_ID_RID_COUNT (__MSABI_LONG(6))
+
+#define SECURITY_WINRM_ID_BASE_RID (__MSABI_LONG(0x0000005e))
+#define SECURITY_WINRM_ID_RID_COUNT (__MSABI_LONG(6))
+
+#define SECURITY_CCG_ID_BASE_RID (__MSABI_LONG(0x0000005f))
+#define SECURITY_UMFD_BASE_RID (__MSABI_LONG(0x00000060))
+
 #define SECURITY_VIRTUALACCOUNT_ID_RID_COUNT (__MSABI_LONG(6))
 
 #define SECURITY_MAX_BASE_RID (__MSABI_LONG(0x0000006f))
@@ -3079,6 +3195,14 @@ __buildmemorybarrier()
 
 #define SECURITY_WINDOWSMOBILE_ID_BASE_RID (__MSABI_LONG(0x00000070))
 
+#define SECURITY_INSTALLER_GROUP_CAPABILITY_BASE (0x20)
+#define SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT (9)
+
+#define SECURITY_INSTALLER_CAPABILITY_RID_COUNT (10)
+
+#define SECURITY_LOCAL_ACCOUNT_RID (__MSABI_LONG(0x00000071))
+#define SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID (__MSABI_LONG(0x00000072))
+
 #define DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED 
(__MSABI_LONG(0x000001f0))
 #define DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS 
(__MSABI_LONG(0x000001f1))
 #define DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS 
(__MSABI_LONG(0x000001f2))
@@ -3088,6 +3212,8 @@ __buildmemorybarrier()
 #define DOMAIN_USER_RID_ADMIN (__MSABI_LONG(0x000001F4))
 #define DOMAIN_USER_RID_GUEST (__MSABI_LONG(0x000001F5))
 #define DOMAIN_USER_RID_KRBTGT (__MSABI_LONG(0x000001F6))
+#define DOMAIN_USER_RID_DEFAULT_ACCOUNT (__MSABI_LONG(0x000001F7))
+#define DOMAIN_USER_RID_WDAG_ACCOUNT (__MSABI_LONG(0x000001F8))
 
 #define DOMAIN_USER_RID_MAX (__MSABI_LONG(0x000003E7))
 
@@ -3102,6 +3228,10 @@ __buildmemorybarrier()
 #define DOMAIN_GROUP_RID_POLICY_ADMINS (__MSABI_LONG(0x00000208))
 #define DOMAIN_GROUP_RID_READONLY_CONTROLLERS (__MSABI_LONG(0x00000209))
 #define DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS (__MSABI_LONG(0x0000020a))
+#define DOMAIN_GROUP_RID_CDC_RESERVED (__MSABI_LONG(0x0000020c))
+#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_ALIAS_RID_ADMINS (__MSABI_LONG(0x00000220))
 #define DOMAIN_ALIAS_RID_USERS (__MSABI_LONG(0x00000221))
@@ -3138,6 +3268,9 @@ __buildmemorybarrier()
 #define DOMAIN_ALIAS_RID_HYPER_V_ADMINS (__MSABI_LONG(0x00000242))
 #define DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS 
(__MSABI_LONG(0x00000243))
 #define DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS (__MSABI_LONG(0x00000244))
+#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 SECURITY_APP_PACKAGE_AUTHORITY {0, 0, 0, 0, 0, 15}
 
@@ -3145,8 +3278,11 @@ __buildmemorybarrier()
 #define SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT (__MSABI_LONG(2))
 #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_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)
+#define SECURITY_CHILD_PACKAGE_RID_COUNT (__MSABI_LONG(12))
 
 #define SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE (__MSABI_LONG(0x00000001))
 #define SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE 
(__MSABI_LONG(0x00000002))
@@ -3171,6 +3307,7 @@ __buildmemorybarrier()
 #define SECURITY_MANDATORY_UNTRUSTED_RID (__MSABI_LONG(0x00000000))
 #define SECURITY_MANDATORY_LOW_RID (__MSABI_LONG(0x00001000))
 #define SECURITY_MANDATORY_MEDIUM_RID (__MSABI_LONG(0x00002000))
+#define SECURITY_MANDATORY_MEDIUM_PLUS_RID (SECURITY_MANDATORY_MEDIUM_RID + 
0x100)
 #define SECURITY_MANDATORY_HIGH_RID (__MSABI_LONG(0x00003000))
 #define SECURITY_MANDATORY_SYSTEM_RID (__MSABI_LONG(0x00004000))
 #define SECURITY_MANDATORY_PROTECTED_PROCESS_RID (__MSABI_LONG(0x00005000))
@@ -3185,6 +3322,24 @@ __buildmemorybarrier()
 #define SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT (__MSABI_LONG(1))
 #define SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID 
(__MSABI_LONG(0x00000001))
 #define SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID (__MSABI_LONG(0x00000002))
+#define SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID (__MSABI_LONG(0x00000003))
+#define SECURITY_AUTHENTICATION_KEY_TRUST_RID (__MSABI_LONG(0x00000004))
+#define SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID (__MSABI_LONG(0x00000005))
+#define SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID 
(__MSABI_LONG(0x00000006))
+
+#define SECURITY_PROCESS_TRUST_AUTHORITY {0,0,0,0,0,19}
+#define SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT (__MSABI_LONG(2))
+
+#define SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID (__MSABI_LONG(0x00000400))
+#define SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID (__MSABI_LONG(0x00000200))
+#define SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID (__MSABI_LONG(0x00000000))
+
+#define SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID (__MSABI_LONG(0x00002000))
+#define SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID 
(__MSABI_LONG(0x00001000))
+#define SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID (__MSABI_LONG(0x00000800))
+#define SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID 
(__MSABI_LONG(0x00000600))
+#define SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID 
(__MSABI_LONG(0x00000400))
+#define SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID (__MSABI_LONG(0x00000000))
 
 #define SECURITY_TRUSTED_INSTALLER_RID1 956008885
 #define SECURITY_TRUSTED_INSTALLER_RID2 3418522649
@@ -3258,7 +3413,9 @@ __buildmemorybarrier()
       WinAccountEnterpriseKeyAdminsSid = 114,
       WinAuthenticationKeyTrustSid = 115,
       WinAuthenticationKeyPropertyMFASid = 116,
-      WinAuthenticationKeyPropertyAttestationSid = 117
+      WinAuthenticationKeyPropertyAttestationSid = 117,
+      WinAuthenticationFreshKeyAuthSid = 118,
+      WinBuiltinDeviceOwnersSid = 119
 } WELL_KNOWN_SID_TYPE;
 
 #define SYSTEM_LUID { 0x3e7, 0x0 }
@@ -3266,6 +3423,7 @@ __buildmemorybarrier()
 #define LOCALSERVICE_LUID { 0x3e5, 0x0 }
 #define NETWORKSERVICE_LUID { 0x3e4, 0x0 }
 #define IUSER_LUID { 0x3e3, 0x0 }
+#define PROTECTED_TO_SYSTEM_LUID { 0x3e2, 0x0 }
 
 #define SE_GROUP_MANDATORY (__MSABI_LONG(0x00000001))
 #define SE_GROUP_ENABLED_BY_DEFAULT (__MSABI_LONG(0x00000002))
@@ -3337,7 +3495,9 @@ __buildmemorybarrier()
 #define SYSTEM_MANDATORY_LABEL_ACE_TYPE (0x11)
 #define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE (0x12)
 #define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE (0x13)
-#define ACCESS_MAX_MS_V5_ACE_TYPE (0x13)
+#define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE (0x14)
+#define SYSTEM_ACCESS_FILTER_ACE_TYPE (0x15)
+#define ACCESS_MAX_MS_V5_ACE_TYPE (0x15)
 
 #define OBJECT_INHERIT_ACE (0x1)
 #define CONTAINER_INHERIT_ACE (0x2)
@@ -3345,9 +3505,11 @@ __buildmemorybarrier()
 #define INHERIT_ONLY_ACE (0x8)
 #define INHERITED_ACE (0x10)
 #define VALID_INHERIT_FLAGS (0x1F)
+#define CRITICAL_ACE_FLAG (0x20)
 
 #define SUCCESSFUL_ACCESS_ACE_FLAG (0x40)
 #define FAILED_ACCESS_ACE_FLAG (0x80)
+#define TRUST_PROTECTED_FILTER_ACE_FLAG (0x40)
 
     typedef struct _ACCESS_ALLOWED_ACE {
       ACE_HEADER Header;
@@ -3396,12 +3558,29 @@ __buildmemorybarrier()
       DWORD SidStart;
     } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
 
+    typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE {
+      ACE_HEADER Header;
+      ACCESS_MASK Mask;
+      DWORD SidStart;
+    } SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE;
+
+    typedef struct _SYSTEM_ACCESS_FILTER_ACE {
+      ACE_HEADER Header;
+      ACCESS_MASK Mask;
+      DWORD SidStart;
+    } SYSTEM_ACCESS_FILTER_ACE, *PSYSTEM_ACCESS_FILTER_ACE;
+
 #define SYSTEM_MANDATORY_LABEL_NO_WRITE_UP 0x1
 #define SYSTEM_MANDATORY_LABEL_NO_READ_UP 0x2
 #define SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP 0x4
 
 #define SYSTEM_MANDATORY_LABEL_VALID_MASK (SYSTEM_MANDATORY_LABEL_NO_WRITE_UP 
| SYSTEM_MANDATORY_LABEL_NO_READ_UP | SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP)
 
+#define SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK 0x00ffffff
+#define SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK 0xffffffff
+#define SYSTEM_ACCESS_FILTER_VALID_MASK 0x00ffffff
+#define SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK 0xffffffff
+
     typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
       ACE_HEADER Header;
       ACCESS_MASK Mask;
@@ -3561,6 +3740,11 @@ __buildmemorybarrier()
       PACL Dacl;
     } SECURITY_DESCRIPTOR,*PISECURITY_DESCRIPTOR;
 
+    typedef struct _SECURITY_OBJECT_AI_PARAMS {
+      DWORD Size;
+      DWORD ConstraintMask;
+    } SECURITY_OBJECT_AI_PARAMS, *PSECURITY_OBJECT_AI_PARAMS;
+
     typedef struct _OBJECT_TYPE_LIST {
       WORD Level;
       WORD Sbz;
@@ -3621,7 +3805,9 @@ __buildmemorybarrier()
       AccessReasonNullDacl = 0x00500000,
       AccessReasonEmptyDacl = 0x00600000,
       AccessReasonNoSD = 0x00700000,
-      AccessReasonNoGrant = 0x00800000
+      AccessReasonNoGrant = 0x00800000,
+      AccessReasonTrustLabel = 0x00900000,
+      AccessReasonFilterAce = 0x00a00000
     } ACCESS_REASON_TYPE;
     typedef DWORD ACCESS_REASON;
 
@@ -3631,7 +3817,11 @@ __buildmemorybarrier()
 
 #define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001
 #define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002
-#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003
+#define SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE 0x00000004
+#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000007
+
+#define SE_ACCESS_CHECK_FLAG_NO_LEARNING_MODE_LOGGING 0x00000008
+#define SE_ACCESS_CHECK_VALID_FLAGS 0x00000008
 
     typedef struct _SE_SECURITY_DESCRIPTOR {
       DWORD Size;
@@ -3694,6 +3884,14 @@ __buildmemorybarrier()
 #define SE_INC_WORKING_SET_NAME TEXT("SeIncreaseWorkingSetPrivilege")
 #define SE_TIME_ZONE_NAME TEXT("SeTimeZonePrivilege")
 #define SE_CREATE_SYMBOLIC_LINK_NAME TEXT("SeCreateSymbolicLinkPrivilege")
+#define SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME 
TEXT("SeDelegateSessionUserImpersonatePrivilege")
+
+#define SE_ACTIVATE_AS_USER_CAPABILITY L"activateAsUser"
+#define SE_CONSTRAINED_IMPERSONATION_CAPABILITY L"constrainedImpersonation"
+#define SE_SESSION_IMPERSONATION_CAPABILITY L"sessionImpersonation"
+#define SE_MUMA_CAPABILITY L"muma"
+#define SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY L"developmentModeNetwork"
+#define SE_PERMISSIVE_LEARNING_MODE_CAPABILITY L"permissiveLearningMode"
 
     typedef enum _SECURITY_IMPERSONATION_LEVEL {
       
SecurityAnonymous,SecurityIdentification,SecurityImpersonation,SecurityDelegation
-- 
2.36.1

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to