Merge vista/7 branch winnt.h

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@3189 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog
index 19d99a1..511e746 100644
--- a/mingw-w64-headers/include/ChangeLog
+++ b/mingw-w64-headers/include/ChangeLog
@@ -1,3 +1,33 @@
+2010-08-09  Jonathan Yong  <jon_y@sourceforge.net>
+
+	* winnt.h (TRANSACTION_OUTCOME): New typedef.
+	(POWER_PLATFORM_ROLE): Likewise.
+	(TOKEN_ELEVATION_TYPE): Likewise.
+	(PTOKEN_ELEVATION_TYPE): Likewise.
+	(ACTCTX_COMPATIBILITY_ELEMENT_TYPE): Likewise.
+	(COMPATIBILITY_CONTEXT_ELEMENT): Likewise.
+	(PCOMPATIBILITY_CONTEXT_ELEMENT): Likewise.
+	(ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION): Likewise.
+	(PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION): Likewise.
+	(PROCESSOR_NUMBER): Likewise.
+	(PPROCESSOR_NUMBER): Likewise.
+	(PROCESSOR_GROUP_INFO): Likewise.
+	(GROUP_RELATIONSHIP): Likewise.
+	(PGROUP_RELATIONSHIP): Likewise.
+	(GROUP_AFFINITY): Likewise.
+	(PGROUP_AFFINITY): Likewise.
+	(CACHE_RELATIONSHIP): Likewise.
+	(PCACHE_RELATIONSHIP): Likewise.
+	(NUMA_NODE_RELATIONSHIP): Likewise.
+	(PNUMA_NODE_RELATIONSHIP): Likewise.
+	(PNUMA_NODE_RELATIONSHIP): Likewise.
+	(PROCESSOR_RELATIONSHIP): Likewise.
+	(PPROCESSOR_RELATIONSHIP): Likewise.
+	(SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX): Likewise.
+	(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX): Likewise.
+	(UMS_CREATE_THREAD_ATTRIBUTES): Likewise.
+	(PUMS_CREATE_THREAD_ATTRIBUTES): Likewise.
+
 2010-08-06  Ozkan Sezer  <sezeroz@gmail.com>
 
 	* dpfilter.h: Add #pragma once.
@@ -191,7 +221,7 @@
 
 	* winnt.h: Add extern to FORCEINLINE definition.
 
-2010-17-20  Jonathan Yong  <jon_y@sourceforge.net>
+2010-07-20  Jonathan Yong  <jon_y@sourceforge.net>
 
 	* rpcndr.h (NdrUnMarshConfStringHdr): Fix macro brackets.
 	(NdrMarshSCtxtHdl): Likewise.
diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
index d2f50c6..037eb1a 100644
--- a/mingw-w64-headers/include/winnt.h
+++ b/mingw-w64-headers/include/winnt.h
@@ -3057,6 +3057,17 @@
       TOKEN_AUDIT_POLICY_ELEMENT Policy[ANYSIZE_ARRAY];
     } TOKEN_AUDIT_POLICY,*PTOKEN_AUDIT_POLICY;
 
+/*
+TOKEN_AUDIT_POLICY Structure
+http://msdn.microsoft.com/en-us/library/dd553632%28VS.85%29.aspx
+This page describes a stub:
+
+typedef struct _TOKEN_AUDIT_POLICY {
+  UCHAR PerUserPolicy;
+} TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;
+
+*/
+
 #define PER_USER_AUDITING_POLICY_SIZE(p) (sizeof(TOKEN_AUDIT_POLICY) + (((p)->PolicyCount > ANYSIZE_ARRAY) ? (sizeof(TOKEN_AUDIT_POLICY_ELEMENT) *((p)->PolicyCount - ANYSIZE_ARRAY)) : 0))
 #define PER_USER_AUDITING_POLICY_SIZE_BY_COUNT(C) (sizeof(TOKEN_AUDIT_POLICY) + (((C) > ANYSIZE_ARRAY) ? (sizeof(TOKEN_AUDIT_POLICY_ELEMENT) *((C) - ANYSIZE_ARRAY)) : 0))
 
@@ -6353,6 +6364,30 @@
     ACTCTX_RUN_LEVEL_NUMBERS
   } ACTCTX_REQUESTED_RUN_LEVEL, ACTCTX_REQUESTED_RUN_LEVEL_INFORMATION;
 
+  typedef enum _TRANSACTION_OUTCOME {
+    TransactionOutcomeUndetermined,
+    TransactionOutcomeCommitted,
+    TransactionOutcomeAborted 
+  } TRANSACTION_OUTCOME;
+
+  typedef enum _POWER_PLATFORM_ROLE {
+    PlatformRoleUnspecified         = 0,
+    PlatformRoleDesktop             = 1,
+    PlatformRoleMobile              = 2,
+    PlatformRoleWorkstation         = 3,
+    PlatformRoleEnterpriseServer    = 4,
+    PlatformRoleSOHOServer          = 5,
+    PlatformRoleAppliancePC         = 6,
+    PlatformRolePerformanceServer   = 7,
+    PlatformRoleMaximum             = 8 
+  } POWER_PLATFORM_ROLE;
+
+  typedef enum _TOKEN_ELEVATION_TYPE {
+    TokenElevationTypeDefault   = 1,
+    TokenElevationTypeFull,
+    TokenElevationTypeLimited 
+  } TOKEN_ELEVATION_TYPE , *PTOKEN_ELEVATION_TYPE;
+
   typedef struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION {
     ULONG ulFlags;
     ACTCTX_REQUESTED_RUN_LEVEL_INFORMATION RunLevel;
@@ -6364,8 +6399,129 @@
     PVOID CleanupContext
   );
 
+#define ENLISTMENT_QUERY_INFORMATION 0x00001
+#define ENLISTMENT_SET_INFORMATION 0x00002
+#define ENLISTMENT_RECOVER 0x00004
+#define ENLISTMENT_SUBORDINATE_RIGHTS 0x00008
+#define ENLISTMENT_SUPERIOR_RIGHTS 0x00010
+#define ENLISTMENT_GENERIC_READ 0x20001
+#define ENLISTMENT_GENERIC_WRITE 0x2001E
+#define ENLISTMENT_GENERIC_EXECUTE 0x2001C
+#define ENLISTMENT_ALL_ACCESS 0xF001F
+
+#define TRANSACTIONMANAGER_QUERY_INFORMATION 0x00001
+#define TRANSACTIONMANAGER_SET_INFORMATION 0x00002
+#define TRANSACTIONMANAGER_RECOVER 0x00004
+#define TRANSACTIONMANAGER_RENAME 0x00008
+#define TRANSACTIONMANAGER_CREATE_RM 0x00010
+#define TRANSACTIONMANAGER_BIND_TRANSACTION 0x00020
+#define TRANSACTIONMANAGER_GENERIC_READ 0x20001
+#define TRANSACTIONMANAGER_GENERIC_WRITE 0x2001E
+#define TRANSACTIONMANAGER_GENERIC_EXECUTE 0x20000
+#define TRANSACTIONMANAGER_ALL_ACCESS 0xF003F
+
+DEFINE_GUID(NO_SUBGROUP_GUID,0xfea3413e,0x7e05,0x4911,0x9a,0x71,0x70,0x03,0x31,0xf1,0xc2,0x94);
+DEFINE_GUID(GUID_DISK_SUBGROUP,0x0012ee47,0x9041,0x4b5d,0x9b,0x77,0x53,0x5f,0xba,0x8b,0x14,0x42);
+DEFINE_GUID(GUID_SYSTEM_BUTTON_SUBGROUP,0x4f971e89,0xeebd,0x4455,0xa8,0xde,0x9e,0x59,0x04,0x0e,0x73,0x47);
+DEFINE_GUID(GUID_PROCESSOR_SETTINGS_SUBGROUP,0x54533251,0x82be,0x4824,0x96,0xc1,0x47,0xb6,0x0b,0x74,0x0d,0x00);
+DEFINE_GUID(GUID_VIDEO_SUBGROUP,0x7516b95f,0xf776,0x4464,0x8c,0x53,0x06,0x16,0x7f,0x40,0xcc,0x99);
+DEFINE_GUID(GUID_BATTERY_SUBGROUP,0xe73a048d,0xbf27,0x4f12,0x97,0x31,0x8b,0x20,0x76,0xe8,0x89,0x1f);
+DEFINE_GUID(GUID_SLEEP_SUBGROUP,0x238C9FA8,0x0AAD,0x41ED,0x83,0xF4,0x97,0xBE,0x24,0x2C,0x8F,0x20);
+DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP,0x501a4d13,0x42af,0x4429,0x9f,0xd1,0xa8,0x21,0x8c,0x26,0x8e,0x20);
+
+typedef struct _WOW64_CONTEXT WOW64_CONTEXT, *PWOW64_CONTEXT;
+typedef struct _WOW64_FLOATING_SAVE_AREA WOW64_FLOATING_SAVE_AREA, *PWOW64_FLOATING_SAVE_AREA;
+
 #endif /*(_WIN32_WINNT >= 0x0600)*/
 
+#if (_WIN32_WINNT >= 0x0601)
+
+typedef enum  {
+  ACTCX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN   = 0,
+  ACTCX_COMPATIBILITY_ELEMENT_TYPE_OS 
+} ACTCTX_COMPATIBILITY_ELEMENT_TYPE;
+
+typedef struct _COMPATIBILITY_CONTEXT_ELEMENT {
+  GUID                              Id;
+  ACTCTX_COMPATIBILITY_ELEMENT_TYPE Type;
+} COMPATIBILITY_CONTEXT_ELEMENT, *PCOMPATIBILITY_CONTEXT_ELEMENT;
+
+/*Vista: {e2011457-1546-43c5-a5fe-008deee3d3f0}*/
+/*Seven: {35138b9a-5d96-4fbd-8e2d-a2440225f93a}*/
+
+typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION {
+  DWORD                         ElementCount;
+  COMPATIBILITY_CONTEXT_ELEMENT Elements[];
+} ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION, *PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
+
+typedef struct _PROCESSOR_NUMBER {
+  WORD Group;
+  BYTE Number;
+  BYTE Reserved;
+} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER;
+
+typedef struct _PROCESSOR_GROUP_INFO {
+  BYTE      MaximumProcessorCount;
+  BYTE      ActiveProcessorCount;
+  BYTE      Reserved[38];
+  KAFFINITY ActiveProcessorMask;
+} PROCESSOR_GROUP_INFO, *PPROCESSOR_GROUP_INFO;
+
+typedef struct _GROUP_RELATIONSHIP {
+  WORD                 MaximumGroupCount;
+  WORD                 ActiveGroupCount;
+  BYTE                 Reserved[20];
+  PROCESSOR_GROUP_INFO GroupInfo[];
+} GROUP_RELATIONSHIP, *PGROUP_RELATIONSHIP;
+
+typedef struct _GROUP_AFFINITY {
+  KAFFINITY Mask;
+  WORD      Group;
+  WORD      Reserved[3];
+} GROUP_AFFINITY, *PGROUP_AFFINITY;
+
+typedef struct _CACHE_RELATIONSHIP {
+  BYTE                 Level;
+  BYTE                 Associativity;
+  WORD                 LineSize;
+  DWORD                CacheSize;
+  PROCESSOR_CACHE_TYPE Type;
+  BYTE                 Reserved[20];
+  GROUP_AFFINITY       GroupMask;
+} CACHE_RELATIONSHIP, *PCACHE_RELATIONSHIP;
+
+typedef struct _NUMA_NODE_RELATIONSHIP {
+  DWORD          NodeNumber;
+  BYTE           Reserved[20];
+  GROUP_AFFINITY GroupMask;
+} NUMA_NODE_RELATIONSHIP, *PNUMA_NODE_RELATIONSHIP;
+
+typedef struct _PROCESSOR_RELATIONSHIP {
+  BYTE           Flags;
+  BYTE           Reserved[21];
+  WORD           GroupCount;
+  GROUP_AFFINITY GroupMask[];
+} PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;
+
+typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
+  LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
+  DWORD                          Size;
+  __MINGW_EXTENSION union {
+    PROCESSOR_RELATIONSHIP Processor;
+    NUMA_NODE_RELATIONSHIP NumaNode;
+    CACHE_RELATIONSHIP     Cache;
+    GROUP_RELATIONSHIP     Group;
+  };
+} SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
+
+typedef struct _UMS_CREATE_THREAD_ATTRIBUTES {
+  DWORD UmsVersion;
+  PVOID UmsContext;
+  PVOID UmsCompletionList;
+} UMS_CREATE_THREAD_ATTRIBUTES, *PUMS_CREATE_THREAD_ATTRIBUTES;
+
+#endif /*(_WIN32_WINNT >= 0x0601)*/
+
 #ifdef __cplusplus
 }
 #endif