[XDK]
authorAmine Khaldi <amine.khaldi@reactos.org>
Fri, 23 Apr 2010 10:50:19 +0000 (10:50 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Fri, 23 Apr 2010 10:50:19 +0000 (10:50 +0000)
- Apply _ANONYMOUS_UNION/_ANONYMOUS_STRUCT where it's missing, and get rid of __GNU_EXTENSION.
- Some minor formatting consistencies.
[DDK]
- Update wdm.h, ntifs.h and ntddk.h to reflect the recent XDK changes.

svn path=/branches/header-work/; revision=47000

16 files changed:
include/ddk/ntddk.h
include/ddk/ntifs.h
include/ddk/wdm.h
include/xdk/cmtypes.h
include/xdk/extypes.h
include/xdk/fsrtltypes.h
include/xdk/iotypes.h
include/xdk/ketypes.h
include/xdk/mmtypes.h
include/xdk/ntddk.template.h
include/xdk/ntifs.template.h
include/xdk/obtypes.h
include/xdk/potypes.h
include/xdk/pstypes.h
include/xdk/rtltypes.h
include/xdk/setypes.h

index 602a32a..73aa6d6 100644 (file)
@@ -93,7 +93,6 @@ typedef PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS;
 /******************************************************************************
  *                            Executive Types                                 *
  ******************************************************************************/
-
 typedef struct _ZONE_SEGMENT_HEADER {
   SINGLE_LIST_ENTRY SegmentList;
   PVOID Reserved;
@@ -210,8 +209,7 @@ typedef enum _CONFIGURATION_TYPE {
 #define IO_ATTACH_DEVICE                0x0400
 #define IO_IGNORE_SHARE_ACCESS_CHECK    0x0800
 
-typedef
-NTSTATUS
+typedef NTSTATUS
 (NTAPI *PIO_QUERY_DEVICE_ROUTINE)(
   IN PVOID Context,
   IN PUNICODE_STRING PathName,
@@ -578,7 +576,7 @@ typedef struct PCI_AGP_EXTENDED_CAPABILITY {
 typedef struct _PCIX_BRIDGE_CAPABILITY {
   PCI_CAPABILITIES_HEADER Header;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       USHORT Bus64Bit:1;
       USHORT Bus133MHzCapable:1;
       USHORT SplitCompletionDiscarded:1;
@@ -594,7 +592,7 @@ typedef struct _PCIX_BRIDGE_CAPABILITY {
   USHORT AsUSHORT;
   } SecondaryStatus;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG FunctionNumber:3;
       ULONG DeviceNumber:5;
       ULONG BusNumber:8;
@@ -616,7 +614,7 @@ typedef struct _PCIX_BRIDGE_CAPABILITY {
   USHORT DownstreamSplitTransactionCapacity;
   USHORT DownstreamSplitTransactionLimit;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG SelectSecondaryRegisters:1;
       ULONG ErrorPresentInOtherBank:1;
       ULONG AdditionalCorrectableError:1;
@@ -655,7 +653,7 @@ typedef struct _PCI_SUBSYSTEM_IDS_CAPABILITY {
 
 typedef struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD {
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG ExtendedConfigOpRegions:1;
       ULONG ActiveStatePowerManagement:1;
       ULONG ClockPowerManagement:1;
@@ -670,7 +668,7 @@ typedef struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD {
 
 typedef struct _PCI_ROOT_BUS_OSC_CONTROL_FIELD {
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG ExpressNativeHotPlug:1;
       ULONG ShpcNativeHotPlug:1;
       ULONG ExpressNativePME:1;
@@ -696,7 +694,7 @@ typedef enum {
 
 typedef struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY {
   PCI_HARDWARE_INTERFACE SecondaryInterface;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     BOOLEAN BusCapabilitiesFound;
     ULONG CurrentSpeedAndMode;
     ULONG SupportedSpeedsAndModes;
@@ -709,7 +707,7 @@ typedef struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY {
 } PCI_ROOT_BUS_HARDWARE_CAPABILITY, *PPCI_ROOT_BUS_HARDWARE_CAPABILITY;
 
 typedef union _PCI_EXPRESS_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CapabilityVersion:4;
     USHORT DeviceType:4;
     USHORT SlotImplemented:1;
@@ -720,7 +718,7 @@ typedef union _PCI_EXPRESS_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_CAPABILITIES_REGISTER, *PPCI_EXPRESS_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG MaxPayloadSizeSupported:3;
     ULONG PhantomFunctionsSupported:2;
     ULONG ExtendedTagSupported:1;
@@ -739,7 +737,7 @@ typedef union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER {
 #define PCI_EXPRESS_AER_DEVICE_CONTROL_MASK 0x07;
 
 typedef union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableErrorEnable:1;
     USHORT NonFatalErrorEnable:1;
     USHORT FatalErrorEnable:1;
@@ -759,7 +757,7 @@ typedef union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER {
 #define PCI_EXPRESS_AER_DEVICE_STATUS_MASK 0x0F;
 
 typedef union _PCI_EXPRESS_DEVICE_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableErrorDetected:1;
     USHORT NonFatalErrorDetected:1;
     USHORT FatalErrorDetected:1;
@@ -772,7 +770,7 @@ typedef union _PCI_EXPRESS_DEVICE_STATUS_REGISTER {
 } PCI_EXPRESS_DEVICE_STATUS_REGISTER, *PPCI_EXPRESS_DEVICE_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG MaximumLinkSpeed:4;
     ULONG MaximumLinkWidth:6;
     ULONG ActiveStatePMSupport:2;
@@ -788,7 +786,7 @@ typedef union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_LINK_CAPABILITIES_REGISTER, *PPCI_EXPRESS_LINK_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT ActiveStatePMControl:2;
     USHORT Rsvd1:1;
     USHORT ReadCompletionBoundary:1;
@@ -803,7 +801,7 @@ typedef union _PCI_EXPRESS_LINK_CONTROL_REGISTER {
 } PCI_EXPRESS_LINK_CONTROL_REGISTER, *PPCI_EXPRESS_LINK_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT LinkSpeed:4;
     USHORT LinkWidth:6;
     USHORT Undefined:1;
@@ -816,7 +814,7 @@ typedef union _PCI_EXPRESS_LINK_STATUS_REGISTER {
 } PCI_EXPRESS_LINK_STATUS_REGISTER, *PPCI_EXPRESS_LINK_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG AttentionButtonPresent:1;
     ULONG PowerControllerPresent:1;
     ULONG MRLSensorPresent:1;
@@ -834,7 +832,7 @@ typedef union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER, *PPCI_EXPRESS_SLOT_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT AttentionButtonEnable:1;
     USHORT PowerFaultDetectEnable:1;
     USHORT MRLSensorEnable:1;
@@ -852,7 +850,7 @@ typedef union _PCI_EXPRESS_SLOT_CONTROL_REGISTER {
 } PCI_EXPRESS_SLOT_CONTROL_REGISTER, *PPCI_EXPRESS_SLOT_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT AttentionButtonPressed:1;
     USHORT PowerFaultDetected:1;
     USHORT MRLSensorChanged:1;
@@ -868,7 +866,7 @@ typedef union _PCI_EXPRESS_SLOT_STATUS_REGISTER {
 } PCI_EXPRESS_SLOT_STATUS_REGISTER, *PPCI_EXPRESS_SLOT_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableSerrEnable:1;
     USHORT NonFatalSerrEnable:1;
     USHORT FatalSerrEnable:1;
@@ -880,7 +878,7 @@ typedef union _PCI_EXPRESS_ROOT_CONTROL_REGISTER {
 } PCI_EXPRESS_ROOT_CONTROL_REGISTER, *PPCI_EXPRESS_ROOT_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CRSSoftwareVisibility:1;
     USHORT Rsvd:15;
   } DUMMYSTRUCTNAME;
@@ -888,7 +886,7 @@ typedef union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER, *PPCI_EXPRESS_ROOT_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG PMERequestorId:16;
     ULONG PMEStatus:1;
     ULONG PMEPending:1;
@@ -991,7 +989,7 @@ typedef enum {
 } PCI_EXPRESS_MAX_PAYLOAD_SIZE;
 
 typedef union _PCI_EXPRESS_PME_REQUESTOR_ID {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT FunctionNumber:3;
     USHORT DeviceNumber:5;
     USHORT BusNumber:8;
@@ -999,18 +997,6 @@ typedef union _PCI_EXPRESS_PME_REQUESTOR_ID {
   USHORT AsUSHORT;
 } PCI_EXPRESS_PME_REQUESTOR_ID, *PPCI_EXPRESS_PME_REQUESTOR_ID;
 
-#if defined(_WIN64)
-
-#ifndef USE_DMA_MACROS
-#define USE_DMA_MACROS
-#endif
-
-#ifndef NO_LEGACY_DRIVERS
-#define NO_LEGACY_DRIVERS
-#endif
-
-#endif /* defined(_WIN64) */
-
 typedef enum _PHYSICAL_COUNTER_RESOURCE_DESCRIPTOR_TYPE {
   ResourceTypeSingle = 0,
   ResourceTypeRange,
@@ -1130,8 +1116,8 @@ typedef struct _PCI_BUS_INTERFACE_STANDARD {
 #define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX     0x00004000
 #define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX    0x00008000
 #define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK_EX \
-    (FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX | \
-     FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX)
+  (FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX | \
+   FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX)
 
 #define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_DEPRECATED 0x00000200
 #define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_DEPRECATED 0x00000300
@@ -1149,11 +1135,11 @@ typedef struct _PCI_BUS_INTERFACE_STANDARD {
 
 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
 
-#define FILE_CHARACTERISTICS_PROPAGATED (   FILE_REMOVABLE_MEDIA   | \
-                                            FILE_READ_ONLY_DEVICE  | \
-                                            FILE_FLOPPY_DISKETTE   | \
-                                            FILE_WRITE_ONCE_MEDIA  | \
-                                            FILE_DEVICE_SECURE_OPEN  )
+#define FILE_CHARACTERISTICS_PROPAGATED (FILE_REMOVABLE_MEDIA  | \
+                                         FILE_READ_ONLY_DEVICE | \
+                                         FILE_FLOPPY_DISKETTE  | \
+                                         FILE_WRITE_ONCE_MEDIA | \
+                                         FILE_DEVICE_SECURE_OPEN)
 
 typedef struct _FILE_ALIGNMENT_INFORMATION {
   ULONG AlignmentRequirement;
@@ -1888,9 +1874,9 @@ typedef struct _KUSER_SHARED_DATA {
   ULONG NumberOfPhysicalPages;
   BOOLEAN SafeBootMode;
 #if (NTDDI_VERSION >= NTDDI_WIN7)
-  union {
+  _ANONYMOUS_UNION union {
     UCHAR TscQpcData;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       UCHAR TscQpcEnabled:1;
       UCHAR TscQpcSpareFlag:1;
       UCHAR TscQpcShift:6;
@@ -1899,9 +1885,9 @@ typedef struct _KUSER_SHARED_DATA {
   UCHAR TscQpcPad[2];
 #endif
 #if (NTDDI_VERSION >= NTDDI_VISTA)
-  union {
+  _ANONYMOUS_UNION union {
     ULONG SharedDataFlags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG DbgErrorPortPresent:1;
       ULONG DbgElevationEnabled:1;
       ULONG DbgVirtEnabled:1;
@@ -2111,7 +2097,7 @@ typedef struct _QUOTA_LIMITS {
 
 typedef union _RATE_QUOTA_LIMIT {
   ULONG RateData;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG RatePercent:7;
     ULONG Reserved0:25;
   } DUMMYSTRUCTNAME;
@@ -2217,13 +2203,13 @@ typedef VOID
 
 typedef struct _PS_CREATE_NOTIFY_INFO {
   IN SIZE_T Size;
-  union {
+  _ANONYMOUS_UNION union {
     IN ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       IN ULONG FileOpenNameAvailable:1;
       IN ULONG Reserved:31;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN HANDLE ParentProcessId;
   IN CLIENT_ID CreatingThreadId;
   IN OUT struct _FILE_OBJECT *FileObject;
@@ -2300,10 +2286,10 @@ typedef struct _NT_TIB32 {
   ULONG StackBase;
   ULONG StackLimit;
   ULONG SubSystemTib;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     ULONG FiberData;
     ULONG Version;
-  };
+  } DUMMYUNIONNAME;
   ULONG ArbitraryUserPointer;
   ULONG Self;
 } NT_TIB32,*PNT_TIB32;
@@ -2313,10 +2299,10 @@ typedef struct _NT_TIB64 {
   ULONG64 StackBase;
   ULONG64 StackLimit;
   ULONG64 SubSystemTib;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     ULONG64 FiberData;
     ULONG Version;
-  };
+  } DUMMYUNIONNAME;
   ULONG64 ArbitraryUserPointer;
   ULONG64 Self;
 } NT_TIB64,*PNT_TIB64;
@@ -2435,9 +2421,9 @@ typedef struct _PROCESS_BASIC_INFORMATION {
 typedef struct _PROCESS_EXTENDED_BASIC_INFORMATION {
   SIZE_T Size;
   PROCESS_BASIC_INFORMATION BasicInfo;
-  union {
+  _ANONYMOUS_UNION union {
     ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG IsProtectedProcess:1;
       ULONG IsWow64Process:1;
       ULONG IsProcessDeleting:1;
@@ -2448,7 +2434,7 @@ typedef struct _PROCESS_EXTENDED_BASIC_INFORMATION {
 } PROCESS_EXTENDED_BASIC_INFORMATION, *PPROCESS_EXTENDED_BASIC_INFORMATION;
 
 typedef struct _PROCESS_DEVICEMAP_INFORMATION {
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     struct {
       HANDLE DirectoryHandle;
     } Set;
@@ -2456,11 +2442,11 @@ typedef struct _PROCESS_DEVICEMAP_INFORMATION {
       ULONG DriveMap;
       UCHAR DriveType[32];
     } Query;
-  };
+  } DUMMYUNIONNAME;
 } PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
 
 typedef struct _PROCESS_DEVICEMAP_INFORMATION_EX {
-  union {
+  _ANONYMOUS_UNION union {
     struct {
       HANDLE DirectoryHandle;
     } Set;
@@ -5538,9 +5524,9 @@ ZwSetTimerEx(
 
 /* UNSORTED */
 
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
-        ((ConditionMask) = VerSetConditionMask((ConditionMask), \
-        (TypeBitMask), (ComparisonType)))
+#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
+  ((ConditionMask) = VerSetConditionMask((ConditionMask),             \
+  (TypeBitMask), (ComparisonType)))
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 NTSYSAPI
@@ -5611,28 +5597,28 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
 
 #define SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V  0x3
 #define SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED    \
-    (1UL << SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V)
 
 #define SHARED_GLOBAL_FLAGS_SPARE_V                     0x4
 #define SHARED_GLOBAL_FLAGS_SPARE                       \
-    (1UL << SHARED_GLOBAL_FLAGS_SPARE_V)
+  (1UL << SHARED_GLOBAL_FLAGS_SPARE_V)
 
 #define SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V      0x5
 #define SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED        \
-    (1UL << SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V)
 
 #define SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V    0x6
 #define SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED        \
-    (1UL << SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V)
 
 #define EX_INIT_BITS(Flags, Bit) \
-    *((Flags)) |= (Bit)             // Safe to use before concurrently accessible
+  *((Flags)) |= (Bit)             // Safe to use before concurrently accessible
 
 #define EX_TEST_SET_BIT(Flags, Bit) \
-    InterlockedBitTestAndSet ((PLONG)(Flags), (Bit))
+  InterlockedBitTestAndSet ((PLONG)(Flags), (Bit))
 
 #define EX_TEST_CLEAR_BIT(Flags, Bit) \
-    InterlockedBitTestAndReset ((PLONG)(Flags), (Bit))
+  InterlockedBitTestAndReset ((PLONG)(Flags), (Bit))
 
 #define PCCARD_MAP_ERROR               0x01
 #define PCCARD_DEVICE_PCI              0x10
@@ -5657,8 +5643,6 @@ FsRtlIsTotalDeviceFailure(
   IN NTSTATUS Status);
 #endif
 
-/* FIXME : These definitions below doesn't belong to NTDDK */
-
 #ifdef __cplusplus
 }
 #endif
index a872113..a0aa30b 100644 (file)
@@ -73,10 +73,10 @@ typedef struct _SID_IDENTIFIER_AUTHORITY {
 #ifndef SID_DEFINED
 #define SID_DEFINED
 typedef struct _SID {
-   UCHAR  Revision;
-   UCHAR  SubAuthorityCount;
-   SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
-   ULONG SubAuthority[ANYSIZE_ARRAY];
+  UCHAR Revision;
+  UCHAR SubAuthorityCount;
+  SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+  ULONG SubAuthority[ANYSIZE_ARRAY];
 } SID, *PISID;
 #endif
 
@@ -85,16 +85,16 @@ typedef struct _SID {
 #define SID_RECOMMENDED_SUB_AUTHORITIES 1
 
 typedef enum _SID_NAME_USE {
-    SidTypeUser = 1,
-    SidTypeGroup,
-    SidTypeDomain,
-    SidTypeAlias,
-    SidTypeWellKnownGroup,
-    SidTypeDeletedAccount,
-    SidTypeInvalid,
-    SidTypeUnknown,
-    SidTypeComputer,
-    SidTypeLabel
+  SidTypeUser = 1,
+  SidTypeGroup,
+  SidTypeDomain,
+  SidTypeAlias,
+  SidTypeWellKnownGroup,
+  SidTypeDeletedAccount,
+  SidTypeInvalid,
+  SidTypeUnknown,
+  SidTypeComputer,
+  SidTypeLabel
 } SID_NAME_USE, *PSID_NAME_USE;
 
 typedef struct _SID_AND_ATTRIBUTES {
@@ -220,15 +220,15 @@ typedef struct _SID_AND_ATTRIBUTES_HASH {
 
 /* Well-known groups */
 
-#define DOMAIN_GROUP_RID_ADMINS        (0x00000200L)
-#define DOMAIN_GROUP_RID_USERS         (0x00000201L)
-#define DOMAIN_GROUP_RID_GUESTS        (0x00000202L)
-#define DOMAIN_GROUP_RID_COMPUTERS     (0x00000203L)
-#define DOMAIN_GROUP_RID_CONTROLLERS   (0x00000204L)
-#define DOMAIN_GROUP_RID_CERT_ADMINS   (0x00000205L)
-#define DOMAIN_GROUP_RID_SCHEMA_ADMINS (0x00000206L)
-#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS (0x00000207L)
-#define DOMAIN_GROUP_RID_POLICY_ADMINS (0x00000208L)
+#define DOMAIN_GROUP_RID_ADMINS               (0x00000200L)
+#define DOMAIN_GROUP_RID_USERS                (0x00000201L)
+#define DOMAIN_GROUP_RID_GUESTS               (0x00000202L)
+#define DOMAIN_GROUP_RID_COMPUTERS            (0x00000203L)
+#define DOMAIN_GROUP_RID_CONTROLLERS          (0x00000204L)
+#define DOMAIN_GROUP_RID_CERT_ADMINS          (0x00000205L)
+#define DOMAIN_GROUP_RID_SCHEMA_ADMINS        (0x00000206L)
+#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS    (0x00000207L)
+#define DOMAIN_GROUP_RID_POLICY_ADMINS        (0x00000208L)
 #define DOMAIN_GROUP_RID_READONLY_CONTROLLERS (0x00000209L)
 
 /* Well-known aliases */
@@ -280,11 +280,11 @@ typedef struct _SID_AND_ATTRIBUTES_HASH {
 /* Allocate the System Luid.  The first 1000 LUIDs are reserved.
    Use #999 here (0x3e7 = 999) */
 
-#define SYSTEM_LUID                     { 0x3e7, 0x0 }
-#define ANONYMOUS_LOGON_LUID            { 0x3e6, 0x0 }
-#define LOCALSERVICE_LUID               { 0x3e5, 0x0 }
-#define NETWORKSERVICE_LUID             { 0x3e4, 0x0 }
-#define IUSER_LUID                      { 0x3e3, 0x0 }
+#define SYSTEM_LUID                     {0x3e7, 0x0}
+#define ANONYMOUS_LOGON_LUID            {0x3e6, 0x0}
+#define LOCALSERVICE_LUID               {0x3e5, 0x0}
+#define NETWORKSERVICE_LUID             {0x3e4, 0x0}
+#define IUSER_LUID                      {0x3e3, 0x0}
 
 typedef struct _ACE_HEADER {
   UCHAR AceType;
@@ -330,8 +330,8 @@ typedef struct _ACE_HEADER {
 #define INHERITED_ACE                     (0x10)
 #define VALID_INHERIT_FLAGS               (0x1F)
 
-#define SUCCESSFUL_ACCESS_ACE_FLAG       (0x40)
-#define FAILED_ACCESS_ACE_FLAG           (0x80)
+#define SUCCESSFUL_ACCESS_ACE_FLAG        (0x40)
+#define FAILED_ACCESS_ACE_FLAG            (0x80)
 
 typedef struct _ACCESS_ALLOWED_ACE {
   ACE_HEADER Header;
@@ -2432,7 +2432,7 @@ NtCreateSection(
 
 #define MAX_UNICODE_STACK_BUFFER_LENGTH 256
 
-#define METHOD_FROM_CTL_CODE(ctrlCode)          ((ULONG)(ctrlCode & 3))
+#define METHOD_FROM_CTL_CODE(ctrlCode)  ((ULONG)(ctrlCode & 3))
 
 #define METHOD_DIRECT_TO_HARDWARE       METHOD_IN_DIRECT
 #define METHOD_DIRECT_FROM_HARDWARE     METHOD_OUT_DIRECT
@@ -2509,20 +2509,20 @@ LsaFreeReturnBuffer(
 #define MSV1_0_SUBAUTHENTICATION_KEY "SYSTEM\\CurrentControlSet\\Control\\Lsa\\MSV1_0"
 #define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
 
-#define MSV1_0_CHALLENGE_LENGTH 8
-#define MSV1_0_USER_SESSION_KEY_LENGTH 16
-#define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8
-
-#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED    0x02
-#define MSV1_0_UPDATE_LOGON_STATISTICS       0x04
-#define MSV1_0_RETURN_USER_PARAMETERS        0x08
-#define MSV1_0_DONT_TRY_GUEST_ACCOUNT        0x10
-#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT    0x20
-#define MSV1_0_RETURN_PASSWORD_EXPIRY        0x40
-#define MSV1_0_USE_CLIENT_CHALLENGE          0x80
-#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY        0x100
-#define MSV1_0_RETURN_PROFILE_PATH           0x200
-#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY     0x400
+#define MSV1_0_CHALLENGE_LENGTH                8
+#define MSV1_0_USER_SESSION_KEY_LENGTH         16
+#define MSV1_0_LANMAN_SESSION_KEY_LENGTH       8
+
+#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED      0x02
+#define MSV1_0_UPDATE_LOGON_STATISTICS         0x04
+#define MSV1_0_RETURN_USER_PARAMETERS          0x08
+#define MSV1_0_DONT_TRY_GUEST_ACCOUNT          0x10
+#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT      0x20
+#define MSV1_0_RETURN_PASSWORD_EXPIRY          0x40
+#define MSV1_0_USE_CLIENT_CHALLENGE            0x80
+#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY          0x100
+#define MSV1_0_RETURN_PROFILE_PATH             0x200
+#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY       0x400
 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 0x800
 
 #define MSV1_0_DISABLE_PERSONAL_FALLBACK     0x00001000
@@ -2873,8 +2873,8 @@ typedef struct _MSV1_0_GETUSERINFO_RESPONSE {
 #define FILE_ACTION_TUNNELLED_ID_COLLISION  0x0000000B
 /* end  winnt.h */
 
-#define FILE_PIPE_BYTE_STREAM_TYPE      0x00000000
-#define FILE_PIPE_MESSAGE_TYPE          0x00000001
+#define FILE_PIPE_BYTE_STREAM_TYPE          0x00000000
+#define FILE_PIPE_MESSAGE_TYPE              0x00000001
 
 #define FILE_PIPE_ACCEPT_REMOTE_CLIENTS     0x00000000
 #define FILE_PIPE_REJECT_REMOTE_CLIENTS     0x00000002
@@ -2883,44 +2883,44 @@ typedef struct _MSV1_0_GETUSERINFO_RESPONSE {
 #define FILE_PIPE_REJECT_REMOTE_CLIENTS     0x00000002
 #define FILE_PIPE_TYPE_VALID_MASK           0x00000003
 
-#define FILE_PIPE_BYTE_STREAM_MODE      0x00000000
-#define FILE_PIPE_MESSAGE_MODE          0x00000001
-
-#define FILE_PIPE_QUEUE_OPERATION       0x00000000
-#define FILE_PIPE_COMPLETE_OPERATION    0x00000001
-
-#define FILE_PIPE_INBOUND               0x00000000
-#define FILE_PIPE_OUTBOUND              0x00000001
-#define FILE_PIPE_FULL_DUPLEX           0x00000002
-
-#define FILE_PIPE_DISCONNECTED_STATE    0x00000001
-#define FILE_PIPE_LISTENING_STATE       0x00000002
-#define FILE_PIPE_CONNECTED_STATE       0x00000003
-#define FILE_PIPE_CLOSING_STATE         0x00000004
-
-#define FILE_PIPE_CLIENT_END            0x00000000
-#define FILE_PIPE_SERVER_END            0x00000001
-
-#define FILE_CASE_SENSITIVE_SEARCH        0x00000001
-#define FILE_CASE_PRESERVED_NAMES         0x00000002
-#define FILE_UNICODE_ON_DISK              0x00000004
-#define FILE_PERSISTENT_ACLS              0x00000008
-#define FILE_FILE_COMPRESSION             0x00000010
-#define FILE_VOLUME_QUOTAS                0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES        0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS      0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE      0x00000100
-#define FILE_VOLUME_IS_COMPRESSED         0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS          0x00010000
-#define FILE_SUPPORTS_ENCRYPTION          0x00020000
-#define FILE_NAMED_STREAMS                0x00040000
-#define FILE_READ_ONLY_VOLUME             0x00080000
-#define FILE_SEQUENTIAL_WRITE_ONCE        0x00100000
-#define FILE_SUPPORTS_TRANSACTIONS        0x00200000
-#define FILE_SUPPORTS_HARD_LINKS          0x00400000
-#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
-#define FILE_SUPPORTS_OPEN_BY_FILE_ID     0x01000000
-#define FILE_SUPPORTS_USN_JOURNAL         0x02000000
+#define FILE_PIPE_BYTE_STREAM_MODE          0x00000000
+#define FILE_PIPE_MESSAGE_MODE              0x00000001
+
+#define FILE_PIPE_QUEUE_OPERATION           0x00000000
+#define FILE_PIPE_COMPLETE_OPERATION        0x00000001
+
+#define FILE_PIPE_INBOUND                   0x00000000
+#define FILE_PIPE_OUTBOUND                  0x00000001
+#define FILE_PIPE_FULL_DUPLEX               0x00000002
+
+#define FILE_PIPE_DISCONNECTED_STATE        0x00000001
+#define FILE_PIPE_LISTENING_STATE           0x00000002
+#define FILE_PIPE_CONNECTED_STATE           0x00000003
+#define FILE_PIPE_CLOSING_STATE             0x00000004
+
+#define FILE_PIPE_CLIENT_END                0x00000000
+#define FILE_PIPE_SERVER_END                0x00000001
+
+#define FILE_CASE_SENSITIVE_SEARCH          0x00000001
+#define FILE_CASE_PRESERVED_NAMES           0x00000002
+#define FILE_UNICODE_ON_DISK                0x00000004
+#define FILE_PERSISTENT_ACLS                0x00000008
+#define FILE_FILE_COMPRESSION               0x00000010
+#define FILE_VOLUME_QUOTAS                  0x00000020
+#define FILE_SUPPORTS_SPARSE_FILES          0x00000040
+#define FILE_SUPPORTS_REPARSE_POINTS        0x00000080
+#define FILE_SUPPORTS_REMOTE_STORAGE        0x00000100
+#define FILE_VOLUME_IS_COMPRESSED           0x00008000
+#define FILE_SUPPORTS_OBJECT_IDS            0x00010000
+#define FILE_SUPPORTS_ENCRYPTION            0x00020000
+#define FILE_NAMED_STREAMS                  0x00040000
+#define FILE_READ_ONLY_VOLUME               0x00080000
+#define FILE_SEQUENTIAL_WRITE_ONCE          0x00100000
+#define FILE_SUPPORTS_TRANSACTIONS          0x00200000
+#define FILE_SUPPORTS_HARD_LINKS            0x00400000
+#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES   0x00800000
+#define FILE_SUPPORTS_OPEN_BY_FILE_ID       0x01000000
+#define FILE_SUPPORTS_USN_JOURNAL           0x02000000
 
 #define FILE_NEED_EA                    0x00000080
 
@@ -3054,11 +3054,11 @@ typedef struct _FILE_OBJECTID_INFORMATION {
   LONGLONG FileReference;
   UCHAR ObjectId[16];
   _ANONYMOUS_UNION union {
-    __GNU_EXTENSION struct {
+    _ANONYMOUS_STRUCT struct {
       UCHAR BirthVolumeId[16];
       UCHAR BirthObjectId[16];
       UCHAR DomainId[16];
-    };
+    } DUMMYSTRUCTNAME;
     UCHAR ExtendedInfo[48];
   } DUMMYUNIONNAME;
 } FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
@@ -3689,8 +3689,8 @@ typedef struct _FILE_PREFETCH_EX {
 
 typedef struct _FILE_OBJECTID_BUFFER {
   UCHAR ObjectId[16];
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       UCHAR BirthVolumeId[16];
       UCHAR BirthObjectId[16];
       UCHAR DomainId[16];
@@ -3778,7 +3778,7 @@ typedef struct _FILE_MAKE_COMPATIBLE_BUFFER {
 } FILE_MAKE_COMPATIBLE_BUFFER, *PFILE_MAKE_COMPATIBLE_BUFFER;
 
 typedef struct _FILE_SET_DEFECT_MGMT_BUFFER {
-    BOOLEAN Disable;
+  BOOLEAN Disable;
 } FILE_SET_DEFECT_MGMT_BUFFER, *PFILE_SET_DEFECT_MGMT_BUFFER;
 
 typedef struct _FILE_QUERY_SPARING_BUFFER {
@@ -3847,24 +3847,23 @@ typedef struct _SHRINK_VOLUME_INFORMATION {
 #define TXFS_TRANSACTION_STATE_PREPARED     0x02
 #define TXFS_TRANSACTION_STATE_NOTACTIVE    0x03
 
-#define TXFS_MODIFY_RM_VALID_FLAGS                                      \
-                (TXFS_RM_FLAG_LOGGING_MODE                          |   \
-                 TXFS_RM_FLAG_RENAME_RM                             |   \
-                 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX               |   \
-                 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN               |   \
-                 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS   |   \
-                 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT          |   \
-                 TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE            |   \
-                 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX            |   \
-                 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN            |   \
-                 TXFS_RM_FLAG_SHRINK_LOG                            |   \
-                 TXFS_RM_FLAG_GROW_LOG                              |   \
-                 TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE                  |   \
-                 TXFS_RM_FLAG_PRESERVE_CHANGES                      |   \
-                 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START                |   \
-                 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START         |   \
-                 TXFS_RM_FLAG_PREFER_CONSISTENCY                    |   \
-                 TXFS_RM_FLAG_PREFER_AVAILABILITY)
+#define TXFS_MODIFY_RM_VALID_FLAGS (TXFS_RM_FLAG_LOGGING_MODE                        | \
+                                    TXFS_RM_FLAG_RENAME_RM                           | \
+                                    TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX             | \
+                                    TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN             | \
+                                    TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \
+                                    TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT        | \
+                                    TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE          | \
+                                    TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX          | \
+                                    TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN          | \
+                                    TXFS_RM_FLAG_SHRINK_LOG                          | \
+                                    TXFS_RM_FLAG_GROW_LOG                            | \
+                                    TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE                | \
+                                    TXFS_RM_FLAG_PRESERVE_CHANGES                    | \
+                                    TXFS_RM_FLAG_RESET_RM_AT_NEXT_START              | \
+                                    TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START       | \
+                                    TXFS_RM_FLAG_PREFER_CONSISTENCY                  | \
+                                    TXFS_RM_FLAG_PREFER_AVAILABILITY)
 
 typedef struct _TXFS_MODIFY_RM {
   ULONG Flags;
@@ -4024,7 +4023,7 @@ typedef struct _TXFS_LIST_TRANSACTIONS {
 } TXFS_LIST_TRANSACTIONS, *PTXFS_LIST_TRANSACTIONS;
 
 typedef struct _TXFS_READ_BACKUP_INFORMATION_OUT {
-  union {
+  _ANONYMOUS_UNION union {
     ULONG BufferLength;
     UCHAR Buffer[1];
   } DUMMYUNIONNAME;
@@ -4153,17 +4152,17 @@ typedef struct _SD_CHANGE_MACHINE_SID_OUTPUT {
 typedef struct _SD_GLOBAL_CHANGE_INPUT {
   ULONG Flags;
   ULONG ChangeType;
-  union {
+  _ANONYMOUS_UNION union {
     SD_CHANGE_MACHINE_SID_INPUT SdChange;
-  };
+  } DUMMYUNIONNAME;
 } SD_GLOBAL_CHANGE_INPUT, *PSD_GLOBAL_CHANGE_INPUT;
 
 typedef struct _SD_GLOBAL_CHANGE_OUTPUT {
   ULONG Flags;
   ULONG ChangeType;
-  union {
+  _ANONYMOUS_UNION union {
     SD_CHANGE_MACHINE_SID_OUTPUT SdChange;
-  };
+  } DUMMYUNIONNAME;
 } SD_GLOBAL_CHANGE_OUTPUT, *PSD_GLOBAL_CHANGE_OUTPUT;
 
 #define ENCRYPTED_DATA_INFO_SPARSE_FILE    1
@@ -4214,15 +4213,15 @@ typedef struct _FILE_TYPE_NOTIFICATION_INPUT {
 #define FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN     0x00000001
 #define FILE_TYPE_NOTIFICATION_FLAG_USAGE_END       0x00000002
 
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE,         0x0d0a64a1, 0x38fc, 0x4db8, 0x9f, 0xe7, 0x3f, 0x43, 0x52, 0xcd, 0x7c, 0x5c );
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE,  0xb7624d64, 0xb9a3, 0x4cf8, 0x80, 0x11, 0x5b, 0x86, 0xc9, 0x40, 0xe7, 0xb7 );
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE,    0x9d453eb7, 0xd2a6, 0x4dbd, 0xa2, 0xe3, 0xfb, 0xd0, 0xed, 0x91, 0x09, 0xa9 );
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE,         0x0d0a64a1, 0x38fc, 0x4db8, 0x9f, 0xe7, 0x3f, 0x43, 0x52, 0xcd, 0x7c, 0x5c);
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE,  0xb7624d64, 0xb9a3, 0x4cf8, 0x80, 0x11, 0x5b, 0x86, 0xc9, 0x40, 0xe7, 0xb7);
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE,    0x9d453eb7, 0xd2a6, 0x4dbd, 0xa2, 0xe3, 0xfb, 0xd0, 0xed, 0x91, 0x09, 0xa9);
 
 #ifndef _VIRTUAL_STORAGE_TYPE_DEFINED
 #define _VIRTUAL_STORAGE_TYPE_DEFINED
 typedef struct _VIRTUAL_STORAGE_TYPE {
   ULONG DeviceId;
-  GUID  VendorId;
+  GUID VendorId;
 } VIRTUAL_STORAGE_TYPE, *PVIRTUAL_STORAGE_TYPE;
 #endif
 
@@ -4260,10 +4259,10 @@ typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY {
 typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE {
   ULONG ResponseLevel;
   ULONG NumberEntries;
-  union {
+  _ANONYMOUS_UNION union {
     STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY Lev1Depends[];
     STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY Lev2Depends[];
-  };
+  } DUMMYUNIONNAME;
 } STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE, *PSTORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE;
 
 #endif /* (_WIN32_WINNT >= 0x0601) */
@@ -4392,7 +4391,7 @@ typedef struct _NTFS_STATISTICS {
   } Allocate;
 } NTFS_STATISTICS, *PNTFS_STATISTICS;
 
-#endif // _FILESYSTEMFSCTL_
+#endif /* _FILESYSTEMFSCTL_ */
 
 #define SYMLINK_FLAG_RELATIVE   1
 
@@ -4400,7 +4399,7 @@ typedef struct _REPARSE_DATA_BUFFER {
   ULONG ReparseTag;
   USHORT ReparseDataLength;
   USHORT Reserved;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     struct {
       USHORT SubstituteNameOffset;
       USHORT SubstituteNameLength;
@@ -4419,7 +4418,7 @@ typedef struct _REPARSE_DATA_BUFFER {
     struct {
       UCHAR DataBuffer[1];
     } GenericReparseBuffer;
-  };
+  } DUMMYUNIONNAME;
 } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
 
 #define REPARSE_DATA_BUFFER_HEADER_SIZE   FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
@@ -4443,15 +4442,15 @@ typedef struct _REPARSE_GUID_DATA_BUFFER {
 #define IO_REPARSE_TAG_RESERVED_ONE             (1)
 #define IO_REPARSE_TAG_RESERVED_RANGE           IO_REPARSE_TAG_RESERVED_ONE
 
-#define IsReparseTagMicrosoft(_tag) (((_tag) & 0x80000000))
-#define IsReparseTagNameSurrogate(_tag) (((_tag) & 0x20000000))
+#define IsReparseTagMicrosoft(_tag)             (((_tag) & 0x80000000))
+#define IsReparseTagNameSurrogate(_tag)         (((_tag) & 0x20000000))
 
-#define IO_REPARSE_TAG_VALID_VALUES     (0xF000FFFF)
+#define IO_REPARSE_TAG_VALID_VALUES             (0xF000FFFF)
 
 #define IsReparseTagValid(tag) (                               \
                   !((tag) & ~IO_REPARSE_TAG_VALID_VALUES) &&   \
                   ((tag) > IO_REPARSE_TAG_RESERVED_RANGE)      \
-                 )
+                )
 
 /* MicroSoft reparse point tags */
 #define IO_REPARSE_TAG_MOUNT_POINT              (0xA0000003L)
@@ -4478,16 +4477,16 @@ typedef struct _REPARSE_INDEX_KEY {
 #define FSCTL_LMR_SET_LINK_TRACKING_INFORMATION   CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,59,METHOD_BUFFERED,FILE_ANY_ACCESS)
 #define IOCTL_LMR_ARE_FILE_OBJECTS_ON_SAME_SERVER CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,60,METHOD_BUFFERED,FILE_ANY_ACCESS)
 
-#define FSCTL_PIPE_ASSIGN_EVENT         CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_DISCONNECT           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_LISTEN               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_PEEK                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_QUERY_EVENT          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_TRANSCEIVE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_WAIT                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_IMPERSONATE          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_SET_CLIENT_PROCESS   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_ASSIGN_EVENT             CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_DISCONNECT               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_LISTEN                   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_PEEK                     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_QUERY_EVENT              CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_TRANSCEIVE               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)
+#define FSCTL_PIPE_WAIT                     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_IMPERSONATE              CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_SET_CLIENT_PROCESS       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_QUERY_CLIENT_PROCESS     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_GET_PIPE_ATTRIBUTE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_SET_PIPE_ATTRIBUTE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
@@ -4496,13 +4495,13 @@ typedef struct _REPARSE_INDEX_KEY {
 #define FSCTL_PIPE_SET_HANDLE_ATTRIBUTE     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_FLUSH                    CTL_CODE(FILE_DEVICE_NAMED_PIPE, 16, METHOD_BUFFERED, FILE_WRITE_DATA)
 
-#define FSCTL_PIPE_INTERNAL_READ        CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_INTERNAL_WRITE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_TRANSCEIVE  CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_INTERNAL_READ            CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_INTERNAL_WRITE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
+#define FSCTL_PIPE_INTERNAL_TRANSCEIVE      CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
+#define FSCTL_PIPE_INTERNAL_READ_OVFLOW     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
 
-#define FILE_PIPE_READ_DATA             0x00000000
-#define FILE_PIPE_WRITE_SPACE           0x00000001
+#define FILE_PIPE_READ_DATA                 0x00000000
+#define FILE_PIPE_WRITE_SPACE               0x00000001
 
 typedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {
   HANDLE EventHandle;
@@ -4574,10 +4573,10 @@ typedef struct _REMOTE_LINK_TRACKING_INFORMATION {
   UCHAR TargetLinkTrackingInformationBuffer[1];
 } REMOTE_LINK_TRACKING_INFORMATION, *PREMOTE_LINK_TRACKING_INFORMATION;
 
-#define IO_OPEN_PAGING_FILE             0x0002
-#define IO_OPEN_TARGET_DIRECTORY        0x0004
-#define IO_STOP_ON_SYMLINK              0x0008
-#define IO_MM_PAGING_FILE               0x0010
+#define IO_OPEN_PAGING_FILE                 0x0002
+#define IO_OPEN_TARGET_DIRECTORY            0x0004
+#define IO_STOP_ON_SYMLINK                  0x0008
+#define IO_MM_PAGING_FILE                   0x0010
 
 typedef VOID
 (NTAPI *PDRIVER_FS_NOTIFICATION) (
@@ -6019,17 +6018,17 @@ typedef union _MM_PREFETCH_FLAGS {
 #define HEAP_TAG_SHIFT                  18
 #define HEAP_TAG_MASK                  (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT)
 
-#define HEAP_CREATE_VALID_MASK         (HEAP_NO_SERIALIZE |             \
-                                        HEAP_GROWABLE |                 \
-                                        HEAP_GENERATE_EXCEPTIONS |      \
-                                        HEAP_ZERO_MEMORY |              \
-                                        HEAP_REALLOC_IN_PLACE_ONLY    \
-                                        HEAP_TAIL_CHECKING_ENABLED    \
-                                        HEAP_FREE_CHECKING_ENABLED    \
-                                        HEAP_DISABLE_COALESCE_ON_FREE | \
-                                        HEAP_CLASS_MASK |               \
-                                        HEAP_CREATE_ALIGN_16 |          \
-                                        HEAP_CREATE_ENABLE_TRACING    \
+#define HEAP_CREATE_VALID_MASK         (HEAP_NO_SERIALIZE             |   \
+                                        HEAP_GROWABLE                 |   \
+                                        HEAP_GENERATE_EXCEPTIONS      |   \
+                                        HEAP_ZERO_MEMORY              |   \
+                                        HEAP_REALLOC_IN_PLACE_ONLY    |   \
+                                        HEAP_TAIL_CHECKING_ENABLED    |   \
+                                        HEAP_FREE_CHECKING_ENABLED    |   \
+                                        HEAP_DISABLE_COALESCE_ON_FREE |   \
+                                        HEAP_CLASS_MASK               |   \
+                                        HEAP_CREATE_ALIGN_16          |   \
+                                        HEAP_CREATE_ENABLE_TRACING    |   \
                                         HEAP_CREATE_ENABLE_EXECUTE)
 
 /******************************************************************************
@@ -6456,7 +6455,7 @@ typedef struct _OPLOCK_KEY_ECP_CONTEXT {
   ULONG Reserved;
 } OPLOCK_KEY_ECP_CONTEXT, *POPLOCK_KEY_ECP_CONTEXT;
 
-DEFINE_GUID( GUID_ECP_OPLOCK_KEY, 0x48850596, 0x3050, 0x4be7, 0x98, 0x63, 0xfe, 0xc3, 0x50, 0xce, 0x8d, 0x7f );
+DEFINE_GUID(GUID_ECP_OPLOCK_KEY, 0x48850596, 0x3050, 0x4be7, 0x98, 0x63, 0xfe, 0xc3, 0x50, 0xce, 0x8d, 0x7f);
 
 #endif
 
@@ -8848,7 +8847,7 @@ typedef enum _NETWORK_OPEN_INTEGRITY_QUALIFIER {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
       NETWORK_OPEN_LOCATION_QUALIFIER Location;
       NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -8865,7 +8864,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT_V0 {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
     NETWORK_OPEN_LOCATION_QUALIFIER Location;
     NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -8881,7 +8880,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT_V0 {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
       NETWORK_OPEN_LOCATION_QUALIFIER Location;
       NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -8894,7 +8893,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT {
 } NETWORK_OPEN_ECP_CONTEXT, *PNETWORK_OPEN_ECP_CONTEXT;
 #endif
 
-DEFINE_GUID(GUID_ECP_NETWORK_OPEN_CONTEXT, 0xc584edbf, 0x00df, 0x4d28, 0xb8, 0x84, 0x35, 0xba, 0xca, 0x89, 0x11, 0xe8 );
+DEFINE_GUID(GUID_ECP_NETWORK_OPEN_CONTEXT, 0xc584edbf, 0x00df, 0x4d28, 0xb8, 0x84, 0x35, 0xba, 0xca, 0x89, 0x11, 0xe8);
 
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
@@ -8905,14 +8904,14 @@ typedef struct _PREFETCH_OPEN_ECP_CONTEXT {
   PVOID Context;
 } PREFETCH_OPEN_ECP_CONTEXT, *PPREFETCH_OPEN_ECP_CONTEXT;
 
-DEFINE_GUID(GUID_ECP_PREFETCH_OPEN, 0xe1777b21, 0x847e, 0x4837, 0xaa, 0x45, 0x64, 0x16, 0x1d, 0x28, 0x6, 0x55 );
+DEFINE_GUID(GUID_ECP_PREFETCH_OPEN, 0xe1777b21, 0x847e, 0x4837, 0xaa, 0x45, 0x64, 0x16, 0x1d, 0x28, 0x6, 0x55);
 
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
 #if (NTDDI_VERSION >= NTDDI_WIN7)
 
 DEFINE_GUID (GUID_ECP_NFS_OPEN, 0xf326d30c, 0xe5f8, 0x4fe7, 0xab, 0x74, 0xf5, 0xa3, 0x19, 0x6d, 0x92, 0xdb);
-DEFINE_GUID(GUID_ECP_SRV_OPEN, 0xbebfaebc, 0xaabf, 0x489d, 0x9d, 0x2c, 0xe9, 0xe3, 0x61, 0x10, 0x28, 0x53 );
+DEFINE_GUID (GUID_ECP_SRV_OPEN, 0xbebfaebc, 0xaabf, 0x489d, 0x9d, 0x2c, 0xe9, 0xe3, 0x61, 0x10, 0x28, 0x53);
 
 typedef struct sockaddr_storage *PSOCKADDR_STORAGE_NFS;
 
@@ -8938,9 +8937,9 @@ typedef struct _SRV_OPEN_ECP_CONTEXT {
 #define PIN_CALLER_TRACKS_DIRTY_DATA    (32)
 #define PIN_HIGH_PRIORITY               (64)
 
-#define MAP_WAIT                          1
-#define MAP_NO_READ                       (16)
-#define MAP_HIGH_PRIORITY                 (64)
+#define MAP_WAIT                        1
+#define MAP_NO_READ                     (16)
+#define MAP_HIGH_PRIORITY               (64)
 
 #define IOCTL_REDIR_QUERY_PATH          CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
 #define IOCTL_REDIR_QUERY_PATH_EX       CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 100, METHOD_NEITHER, FILE_ANY_ACCESS)
@@ -8979,7 +8978,7 @@ typedef struct _QUERY_PATH_RESPONSE {
 extern PACL                         SePublicDefaultDacl;
 extern PACL                         SeSystemDefaultDacl;
 
-#define FS_LFN_APIS                     0x00004000
+#define FS_LFN_APIS                             0x00004000
 
 #define FILE_STORAGE_TYPE_SPECIFIED             0x00000041  /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */
 #define FILE_STORAGE_TYPE_DEFAULT               (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)
@@ -8996,7 +8995,7 @@ extern PACL                         SeSystemDefaultDacl;
 #define FILE_STORAGE_TYPE_MASK                  0x000f0000
 #define FILE_STORAGE_TYPE_SHIFT                 16
 
-#define FILE_VC_QUOTAS_LOG_VIOLATIONS   0x00000004
+#define FILE_VC_QUOTAS_LOG_VIOLATIONS           0x00000004
 
 #ifdef _X86_
 #define HARDWARE_PTE    HARDWARE_PTE_X86
@@ -9045,7 +9044,7 @@ extern PACL                         SeSystemDefaultDacl;
 #define OB_TYPE_IO_COMPLETION           22
 #define OB_TYPE_FILE                    23
 
-#define SEC_BASED      0x00200000
+#define SEC_BASED 0x00200000
 
 /* end winnt.h */
 
index 014a58d..dd4b5d0 100644 (file)
@@ -25,6 +25,9 @@
 #ifndef _WDMDDK_
 #define _WDMDDK_
 
+#define WDM_MAJORVERSION        0x06
+#define WDM_MINORVERSION        0x00
+
 /* Included via ntddk.h? */
 #ifndef _NTDDK_
 #define _NTDDK_
@@ -124,6 +127,15 @@ extern "C" {
 
 #endif
 
+#if defined(_WIN64)
+#if !defined(USE_DMA_MACROS) && !defined(_NTHAL_)
+#define USE_DMA_MACROS
+#endif
+#ifndef NO_LEGACY_DRIVERS
+#define NO_LEGACY_DRIVERS
+#endif
+#endif /* defined(_WIN64) */
+
 /* Forward declarations */
 struct _IRP;
 struct _MDL;
@@ -153,7 +165,7 @@ typedef struct _KPROCESS *PKPROCESS;
 typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
 typedef struct _CONTEXT *PCONTEXT;
 
-#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && ( defined(_NTDDK_) || defined(_NTDRIVER_) || defined(_NTOSP_))
+#if defined(USE_DMA_MACROS) && !defined(_NTHAL_)
 typedef struct _DMA_ADAPTER *PADAPTER_OBJECT;
 #elif defined(_WDM_INCLUDED_)
 typedef struct _DMA_ADAPTER *PADAPTER_OBJECT;
@@ -465,7 +477,7 @@ typedef struct _SLIST_ENTRY32 {
 } SLIST_ENTRY32, *PSLIST_ENTRY32;
 
 typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONGLONG Alignment;
     ULONGLONG Region;
   } DUMMYSTRUCTNAME;
@@ -497,7 +509,7 @@ typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
 
 typedef union _SLIST_HEADER32 {
   ULONGLONG Alignment;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     SLIST_ENTRY32 Next;
     USHORT Depth;
     USHORT Sequence;
@@ -514,7 +526,7 @@ typedef SLIST_ENTRY SLIST_ENTRY32, *PSLIST_ENTRY32;
 
 typedef union _SLIST_HEADER {
   ULONGLONG Alignment;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     SLIST_ENTRY Next;
     USHORT Depth;
     USHORT Sequence;
@@ -609,7 +621,7 @@ typedef struct _CACHE_DESCRIPTOR {
 typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
   ULONG_PTR ProcessorMask;
   LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
-  union {
+  _ANONYMOUS_UNION union {
     struct {
       UCHAR Flags;
     } ProcessorCore;
@@ -617,7 +629,7 @@ typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
       ULONG NodeNumber;
     } NumaNode;
     CACHE_DESCRIPTOR Cache;
-    ULONGLONG  Reserved[2];
+    ULONGLONG Reserved[2];
   } DUMMYUNIONNAME;
 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
 
@@ -661,7 +673,7 @@ typedef struct _GROUP_RELATIONSHIP {
 typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
   LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
   ULONG Size;
-  union {
+  _ANONYMOUS_UNION union {
     PROCESSOR_RELATIONSHIP Processor;
     NUMA_NODE_RELATIONSHIP NumaNode;
     CACHE_RELATIONSHIP Cache;
@@ -1231,13 +1243,13 @@ typedef struct _KDEVICE_QUEUE {
   LIST_ENTRY DeviceListHead;
   KSPIN_LOCK Lock;
   #if defined(_AMD64_)
-  union {
+  _ANONYMOUS_UNION union {
     BOOLEAN Busy;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       LONG64 Reserved:8;
       LONG64 Hint:56;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   #else
   BOOLEAN Busy;
   #endif
@@ -1337,13 +1349,13 @@ typedef struct _KGUARDED_MUTEX {
   PKTHREAD Owner;
   ULONG Contention;
   KGATE Gate;
-  __GNU_EXTENSION union {
-    __GNU_EXTENSION struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       SHORT KernelApcDisable;
       SHORT SpecialApcDisable;
-    };
+    } DUMMYSTRUCTNAME;
     ULONG CombinedApcDisable;
-  };
+  } DUMMYUNIONNAME;
 } KGUARDED_MUTEX, *PKGUARDED_MUTEX;
 
 typedef struct _KMUTANT {
@@ -1494,8 +1506,8 @@ typedef struct _XSTATE_SAVE {
 #elif defined(_IA64_)
   ULONG Dummy;
 #elif defined(_X86_)
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       LONG64 Reserved1;
       ULONG Reserved2;
       struct _XSTATE_SAVE* Prev;
@@ -1503,9 +1515,9 @@ typedef struct _XSTATE_SAVE {
       struct _KTHREAD* Thread;
       PVOID Reserved4;
       UCHAR Level;
-    };
+    } DUMMYSTRUCTNAME;
     XSTATE_CONTEXT XStateContext;
-  };
+  } DUMMYUNIONNAME;
 #endif
 } XSTATE_SAVE, *PXSTATE_SAVE;
 
@@ -1583,16 +1595,15 @@ typedef ULONG NODE_REQUIREMENT;
 #define MDL_ALLOCATED_MUST_SUCCEED  0x4000
 #define MDL_INTERNAL                0x8000
 
-#define MDL_MAPPING_FLAGS ( \
-  MDL_MAPPED_TO_SYSTEM_VA     | \
-  MDL_PAGES_LOCKED            | \
-  MDL_SOURCE_IS_NONPAGED_POOL | \
-  MDL_PARTIAL_HAS_BEEN_MAPPED | \
-  MDL_PARENT_MAPPED_SYSTEM_VA | \
-  MDL_SYSTEM_VA               | \
-  MDL_IO_SPACE)
+#define MDL_MAPPING_FLAGS (MDL_MAPPED_TO_SYSTEM_VA     | \
+                           MDL_PAGES_LOCKED            | \
+                           MDL_SOURCE_IS_NONPAGED_POOL | \
+                           MDL_PARTIAL_HAS_BEEN_MAPPED | \
+                           MDL_PARENT_MAPPED_SYSTEM_VA | \
+                           MDL_SYSTEM_VA               | \
+                           MDL_IO_SPACE)
 
-#define FLUSH_MULTIPLE_MAXIMUM 32
+#define FLUSH_MULTIPLE_MAXIMUM       32
 
 /* Section access rights */
 #define SECTION_QUERY                0x0001
@@ -1602,17 +1613,17 @@ typedef ULONG NODE_REQUIREMENT;
 #define SECTION_EXTEND_SIZE          0x0010
 #define SECTION_MAP_EXECUTE_EXPLICIT 0x0020
 
-#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\
-                            SECTION_MAP_WRITE |      \
-                            SECTION_MAP_READ |       \
-                            SECTION_MAP_EXECUTE |    \
+#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| \
+                            SECTION_MAP_WRITE |                     \
+                            SECTION_MAP_READ |                      \
+                            SECTION_MAP_EXECUTE |                   \
                             SECTION_EXTEND_SIZE)
 
-#define SESSION_QUERY_ACCESS  0x0001
-#define SESSION_MODIFY_ACCESS 0x0002
+#define SESSION_QUERY_ACCESS         0x0001
+#define SESSION_MODIFY_ACCESS        0x0002
 
 #define SESSION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |  \
-                            SESSION_QUERY_ACCESS |             \
+                            SESSION_QUERY_ACCESS     |  \
                             SESSION_MODIFY_ACCESS)
 
 #define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS
@@ -1700,7 +1711,6 @@ extern PVOID MmBadPointer;
 /******************************************************************************
  *                            Executive Types                                 *
  ******************************************************************************/
-
 #define EX_RUNDOWN_ACTIVE                 0x1
 #define EX_RUNDOWN_COUNT_SHIFT            0x1
 #define EX_RUNDOWN_COUNT_INC              (1 << EX_RUNDOWN_COUNT_SHIFT)
@@ -1783,40 +1793,36 @@ typedef VOID
 typedef CALLBACK_FUNCTION *PCALLBACK_FUNCTION;
 
 #define GENERAL_LOOKASIDE_LAYOUT                \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         SLIST_HEADER ListHead;                  \
         SINGLE_LIST_ENTRY SingleListHead;       \
     } DUMMYUNIONNAME;                           \
     USHORT Depth;                               \
     USHORT MaximumDepth;                        \
     ULONG TotalAllocates;                       \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG AllocateMisses;                   \
         ULONG AllocateHits;                     \
     } DUMMYUNIONNAME2;                          \
-                                                \
     ULONG TotalFrees;                           \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG FreeMisses;                       \
         ULONG FreeHits;                         \
     } DUMMYUNIONNAME3;                          \
-                                                \
     POOL_TYPE Type;                             \
     ULONG Tag;                                  \
     ULONG Size;                                 \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         PALLOCATE_FUNCTION_EX AllocateEx;       \
         PALLOCATE_FUNCTION Allocate;            \
     } DUMMYUNIONNAME4;                          \
-                                                \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         PFREE_FUNCTION_EX FreeEx;               \
         PFREE_FUNCTION Free;                    \
     } DUMMYUNIONNAME5;                          \
-                                                \
     LIST_ENTRY ListEntry;                       \
     ULONG LastTotalAllocates;                   \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG LastAllocateMisses;               \
         ULONG LastAllocateHits;                 \
     } DUMMYUNIONNAME6;                          \
@@ -1868,10 +1874,10 @@ typedef struct _LOOKASIDE_LIST_EX {
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
 typedef struct _EX_RUNDOWN_REF {
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     volatile ULONG_PTR Count;
     volatile PVOID Ptr;
-  };
+  } DUMMYUNIONNAME;
 } EX_RUNDOWN_REF, *PEX_RUNDOWN_REF;
 
 typedef struct _EX_RUNDOWN_REF_CACHE_AWARE *PEX_RUNDOWN_REF_CACHE_AWARE;
@@ -1898,14 +1904,14 @@ typedef ULONG_PTR ERESOURCE_THREAD, *PERESOURCE_THREAD;
 
 typedef struct _OWNER_ENTRY {
   ERESOURCE_THREAD OwnerThread;
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       ULONG IoPriorityBoosted:1;
       ULONG OwnerReferenced:1;
       ULONG OwnerCount:30;
-    };
+    } DUMMYSTRUCTNAME;
     ULONG TableSize;
-  };
+  } DUMMYUNIONNAME;
 } OWNER_ENTRY, *POWNER_ENTRY;
 
 typedef struct _ERESOURCE {
@@ -1923,10 +1929,10 @@ typedef struct _ERESOURCE {
 #if defined(_WIN64)
   PVOID Reserved2;
 #endif
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     PVOID Address;
     ULONG_PTR CreatorBackTraceIndex;
-  };
+  } DUMMYUNIONNAME;
   KSPIN_LOCK SpinLock;
 } ERESOURCE, *PERESOURCE;
 
@@ -2392,8 +2398,8 @@ typedef enum _POWER_STATE_TYPE {
 
 #if (NTDDI_VERSION >= NTDDI_VISTA)
 typedef struct _SYSTEM_POWER_STATE_CONTEXT {
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       ULONG Reserved1:8;
       ULONG TargetSystemState:4;
       ULONG EffectiveSystemState:4;
@@ -2411,8 +2417,8 @@ typedef struct _SYSTEM_POWER_STATE_CONTEXT {
 typedef struct _COUNTED_REASON_CONTEXT {
   ULONG Version;
   ULONG Flags;
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       UNICODE_STRING ResourceFileName;
       USHORT ResourceReasonId;
       ULONG StringCount;
@@ -2542,74 +2548,74 @@ typedef struct {
 #define CORE_PARKING_POLICY_CHANGE_ROCKET        2
 #define CORE_PARKING_POLICY_CHANGE_MAX           CORE_PARKING_POLICY_CHANGE_ROCKET
 
-DEFINE_GUID(GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A );
-DEFINE_GUID(GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C );
-DEFINE_GUID(GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E );
-DEFINE_GUID(NO_SUBGROUP_GUID, 0xFEA3413E, 0x7E05, 0x4911, 0x9A, 0x71, 0x70, 0x03, 0x31, 0xF1, 0xC2, 0x94 );
-DEFINE_GUID(ALL_POWERSCHEMES_GUID, 0x68A1E95E, 0x13EA, 0x41E1, 0x80, 0x11, 0x0C, 0x49, 0x6C, 0xA4, 0x90, 0xB0 );
-DEFINE_GUID(GUID_POWERSCHEME_PERSONALITY, 0x245D8541, 0x3943, 0x4422, 0xB0, 0x25, 0x13, 0xA7, 0x84, 0xF6, 0x79, 0xB7 );
-DEFINE_GUID(GUID_ACTIVE_POWERSCHEME, 0x31F9F286, 0x5084, 0x42FE, 0xB7, 0x20, 0x2B, 0x02, 0x64, 0x99, 0x37, 0x63 );
-DEFINE_GUID(GUID_VIDEO_SUBGROUP, 0x7516B95F, 0xF776, 0x4464, 0x8C, 0x53, 0x06, 0x16, 0x7F, 0x40, 0xCC, 0x99 );
-DEFINE_GUID(GUID_VIDEO_POWERDOWN_TIMEOUT, 0x3C0BC021, 0xC8A8, 0x4E07, 0xA9, 0x73, 0x6B, 0x14, 0xCB, 0xCB, 0x2B, 0x7E );
-DEFINE_GUID(GUID_VIDEO_ANNOYANCE_TIMEOUT, 0x82DBCF2D, 0xCD67, 0x40C5, 0xBF, 0xDC, 0x9F, 0x1A, 0x5C, 0xCD, 0x46, 0x63 );
-DEFINE_GUID(GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, 0xEED904DF, 0xB142, 0x4183, 0xB1, 0x0B, 0x5A, 0x11, 0x97, 0xA3, 0x78, 0x64 );
+DEFINE_GUID(GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A);
+DEFINE_GUID(GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C);
+DEFINE_GUID(GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E);
+DEFINE_GUID(NO_SUBGROUP_GUID, 0xFEA3413E, 0x7E05, 0x4911, 0x9A, 0x71, 0x70, 0x03, 0x31, 0xF1, 0xC2, 0x94);
+DEFINE_GUID(ALL_POWERSCHEMES_GUID, 0x68A1E95E, 0x13EA, 0x41E1, 0x80, 0x11, 0x0C, 0x49, 0x6C, 0xA4, 0x90, 0xB0);
+DEFINE_GUID(GUID_POWERSCHEME_PERSONALITY, 0x245D8541, 0x3943, 0x4422, 0xB0, 0x25, 0x13, 0xA7, 0x84, 0xF6, 0x79, 0xB7);
+DEFINE_GUID(GUID_ACTIVE_POWERSCHEME, 0x31F9F286, 0x5084, 0x42FE, 0xB7, 0x20, 0x2B, 0x02, 0x64, 0x99, 0x37, 0x63);
+DEFINE_GUID(GUID_VIDEO_SUBGROUP, 0x7516B95F, 0xF776, 0x4464, 0x8C, 0x53, 0x06, 0x16, 0x7F, 0x40, 0xCC, 0x99);
+DEFINE_GUID(GUID_VIDEO_POWERDOWN_TIMEOUT, 0x3C0BC021, 0xC8A8, 0x4E07, 0xA9, 0x73, 0x6B, 0x14, 0xCB, 0xCB, 0x2B, 0x7E);
+DEFINE_GUID(GUID_VIDEO_ANNOYANCE_TIMEOUT, 0x82DBCF2D, 0xCD67, 0x40C5, 0xBF, 0xDC, 0x9F, 0x1A, 0x5C, 0xCD, 0x46, 0x63);
+DEFINE_GUID(GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, 0xEED904DF, 0xB142, 0x4183, 0xB1, 0x0B, 0x5A, 0x11, 0x97, 0xA3, 0x78, 0x64);
 DEFINE_GUID(GUID_VIDEO_DIM_TIMEOUT, 0x17aaa29b, 0x8b43, 0x4b94, 0xaa, 0xfe, 0x35, 0xf6, 0x4d, 0xaa, 0xf1, 0xee);
-DEFINE_GUID(GUID_VIDEO_ADAPTIVE_POWERDOWN, 0x90959D22, 0xD6A1, 0x49B9, 0xAF, 0x93, 0xBC, 0xE8, 0x85, 0xAD, 0x33, 0x5B );
-DEFINE_GUID(GUID_MONITOR_POWER_ON, 0x02731015, 0x4510, 0x4526, 0x99, 0xE6, 0xE5, 0xA1, 0x7E, 0xBD, 0x1A, 0xEA );
+DEFINE_GUID(GUID_VIDEO_ADAPTIVE_POWERDOWN, 0x90959D22, 0xD6A1, 0x49B9, 0xAF, 0x93, 0xBC, 0xE8, 0x85, 0xAD, 0x33, 0x5B);
+DEFINE_GUID(GUID_MONITOR_POWER_ON, 0x02731015, 0x4510, 0x4526, 0x99, 0xE6, 0xE5, 0xA1, 0x7E, 0xBD, 0x1A, 0xEA);
 DEFINE_GUID(GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS, 0xaded5e82L, 0xb909, 0x4619, 0x99, 0x49, 0xf5, 0xd7, 0x1d, 0xac, 0x0b, 0xcb);
 DEFINE_GUID(GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS, 0xf1fbfde2, 0xa960, 0x4165, 0x9f, 0x88, 0x50, 0x66, 0x79, 0x11, 0xce, 0x96);
 DEFINE_GUID(GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS, 0x8ffee2c6, 0x2d01, 0x46be, 0xad, 0xb9, 0x39, 0x8a, 0xdd, 0xc5, 0xb4, 0xff);
 DEFINE_GUID(GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS, 0xFBD9AA66, 0x9553, 0x4097, 0xBA, 0x44, 0xED, 0x6E, 0x9D, 0x65, 0xEA, 0xB8);
-DEFINE_GUID(GUID_SESSION_DISPLAY_STATE, 0x73A5E93A, 0x5BB1, 0x4F93, 0x89, 0x5B, 0xDB, 0xD0, 0xDA, 0x85, 0x59, 0x67 );
+DEFINE_GUID(GUID_SESSION_DISPLAY_STATE, 0x73A5E93A, 0x5BB1, 0x4F93, 0x89, 0x5B, 0xDB, 0xD0, 0xDA, 0x85, 0x59, 0x67);
 DEFINE_GUID(GUID_CONSOLE_DISPLAY_STATE, 0x6fe69556, 0x704a, 0x47a0, 0x8f, 0x24, 0xc2, 0x8d, 0x93, 0x6f, 0xda, 0x47);
-DEFINE_GUID(GUID_ALLOW_DISPLAY_REQUIRED, 0xA9CEB8DA, 0xCD46, 0x44FB, 0xA9, 0x8B, 0x02, 0xAF, 0x69, 0xDE, 0x46, 0x23 );
-DEFINE_GUID(GUID_DISK_SUBGROUP, 0x0012EE47, 0x9041, 0x4B5D, 0x9B, 0x77, 0x53, 0x5F, 0xBA, 0x8B, 0x14, 0x42 );
-DEFINE_GUID(GUID_DISK_POWERDOWN_TIMEOUT, 0x6738E2C4, 0xE8A5, 0x4A42, 0xB1, 0x6A, 0xE0, 0x40, 0xE7, 0x69, 0x75, 0x6E );
-DEFINE_GUID(GUID_DISK_BURST_IGNORE_THRESHOLD, 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63 );
-DEFINE_GUID(GUID_DISK_ADAPTIVE_POWERDOWN, 0x396A32E1, 0x499A, 0x40B2, 0x91, 0x24, 0xA9, 0x6A, 0xFE, 0x70, 0x76, 0x67 );
-DEFINE_GUID(GUID_SLEEP_SUBGROUP, 0x238C9FA8, 0x0AAD, 0x41ED, 0x83, 0xF4, 0x97, 0xBE, 0x24, 0x2C, 0x8F, 0x20 );
-DEFINE_GUID(GUID_SLEEP_IDLE_THRESHOLD, 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70 );
-DEFINE_GUID(GUID_STANDBY_TIMEOUT, 0x29F6C1DB, 0x86DA, 0x48C5, 0x9F, 0xDB, 0xF2, 0xB6, 0x7B, 0x1F, 0x44, 0xDA );
-DEFINE_GUID(GUID_UNATTEND_SLEEP_TIMEOUT, 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0 );
-DEFINE_GUID(GUID_HIBERNATE_TIMEOUT, 0x9D7815A6, 0x7EE4, 0x497E, 0x88, 0x88, 0x51, 0x5A, 0x05, 0xF0, 0x23, 0x64 );
-DEFINE_GUID(GUID_HIBERNATE_FASTS4_POLICY, 0x94AC6D29, 0x73CE, 0x41A6, 0x80, 0x9F, 0x63, 0x63, 0xBA, 0x21, 0xB4, 0x7E );
+DEFINE_GUID(GUID_ALLOW_DISPLAY_REQUIRED, 0xA9CEB8DA, 0xCD46, 0x44FB, 0xA9, 0x8B, 0x02, 0xAF, 0x69, 0xDE, 0x46, 0x23);
+DEFINE_GUID(GUID_DISK_SUBGROUP, 0x0012EE47, 0x9041, 0x4B5D, 0x9B, 0x77, 0x53, 0x5F, 0xBA, 0x8B, 0x14, 0x42);
+DEFINE_GUID(GUID_DISK_POWERDOWN_TIMEOUT, 0x6738E2C4, 0xE8A5, 0x4A42, 0xB1, 0x6A, 0xE0, 0x40, 0xE7, 0x69, 0x75, 0x6E);
+DEFINE_GUID(GUID_DISK_BURST_IGNORE_THRESHOLD, 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63);
+DEFINE_GUID(GUID_DISK_ADAPTIVE_POWERDOWN, 0x396A32E1, 0x499A, 0x40B2, 0x91, 0x24, 0xA9, 0x6A, 0xFE, 0x70, 0x76, 0x67);
+DEFINE_GUID(GUID_SLEEP_SUBGROUP, 0x238C9FA8, 0x0AAD, 0x41ED, 0x83, 0xF4, 0x97, 0xBE, 0x24, 0x2C, 0x8F, 0x20);
+DEFINE_GUID(GUID_SLEEP_IDLE_THRESHOLD, 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70);
+DEFINE_GUID(GUID_STANDBY_TIMEOUT, 0x29F6C1DB, 0x86DA, 0x48C5, 0x9F, 0xDB, 0xF2, 0xB6, 0x7B, 0x1F, 0x44, 0xDA);
+DEFINE_GUID(GUID_UNATTEND_SLEEP_TIMEOUT, 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0);
+DEFINE_GUID(GUID_HIBERNATE_TIMEOUT, 0x9D7815A6, 0x7EE4, 0x497E, 0x88, 0x88, 0x51, 0x5A, 0x05, 0xF0, 0x23, 0x64);
+DEFINE_GUID(GUID_HIBERNATE_FASTS4_POLICY, 0x94AC6D29, 0x73CE, 0x41A6, 0x80, 0x9F, 0x63, 0x63, 0xBA, 0x21, 0xB4, 0x7E);
 DEFINE_GUID(GUID_CRITICAL_POWER_TRANSITION,  0xB7A27025, 0xE569, 0x46c2, 0xA5, 0x04, 0x2B, 0x96, 0xCA, 0xD2, 0x25, 0xA1);
-DEFINE_GUID(GUID_SYSTEM_AWAYMODE, 0x98A7F580, 0x01F7, 0x48AA, 0x9C, 0x0F, 0x44, 0x35, 0x2C, 0x29, 0xE5, 0xC0 );
-DEFINE_GUID(GUID_ALLOW_AWAYMODE, 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87 );
-DEFINE_GUID(GUID_ALLOW_STANDBY_STATES, 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab );
-DEFINE_GUID(GUID_ALLOW_RTC_WAKE, 0xBD3B718A, 0x0680, 0x4D9D, 0x8A, 0xB2, 0xE1, 0xD2, 0xB4, 0xAC, 0x80, 0x6D );
-DEFINE_GUID(GUID_ALLOW_SYSTEM_REQUIRED, 0xA4B195F5, 0x8225, 0x47D8, 0x80, 0x12, 0x9D, 0x41, 0x36, 0x97, 0x86, 0xE2 );
-DEFINE_GUID(GUID_SYSTEM_BUTTON_SUBGROUP, 0x4F971E89, 0xEEBD, 0x4455, 0xA8, 0xDE, 0x9E, 0x59, 0x04, 0x0E, 0x73, 0x47 );
-DEFINE_GUID(GUID_POWERBUTTON_ACTION, 0x7648EFA3, 0xDD9C, 0x4E3E, 0xB5, 0x66, 0x50, 0xF9, 0x29, 0x38, 0x62, 0x80 );
-DEFINE_GUID(GUID_POWERBUTTON_ACTION_FLAGS, 0x857E7FAC, 0x034B, 0x4704, 0xAB, 0xB1, 0xBC, 0xA5, 0x4A, 0xA3, 0x14, 0x78 );
-DEFINE_GUID(GUID_SLEEPBUTTON_ACTION, 0x96996BC0, 0xAD50, 0x47EC, 0x92, 0x3B, 0x6F, 0x41, 0x87, 0x4D, 0xD9, 0xEB );
-DEFINE_GUID(GUID_SLEEPBUTTON_ACTION_FLAGS, 0x2A160AB1, 0xB69D, 0x4743, 0xB7, 0x18, 0xBF, 0x14, 0x41, 0xD5, 0xE4, 0x93 );
-DEFINE_GUID(GUID_USERINTERFACEBUTTON_ACTION, 0xA7066653, 0x8D6C, 0x40A8, 0x91, 0x0E, 0xA1, 0xF5, 0x4B, 0x84, 0xC7, 0xE5 );
-DEFINE_GUID(GUID_LIDCLOSE_ACTION, 0x5CA83367, 0x6E45, 0x459F, 0xA2, 0x7B, 0x47, 0x6B, 0x1D, 0x01, 0xC9, 0x36 );
-DEFINE_GUID(GUID_LIDCLOSE_ACTION_FLAGS, 0x97E969AC, 0x0D6C, 0x4D08, 0x92, 0x7C, 0xD7, 0xBD, 0x7A, 0xD7, 0x85, 0x7B );
-DEFINE_GUID(GUID_LIDOPEN_POWERSTATE, 0x99FF10E7, 0x23B1, 0x4C07, 0xA9, 0xD1, 0x5C, 0x32, 0x06, 0xD7, 0x41, 0xB4 );
-DEFINE_GUID(GUID_BATTERY_SUBGROUP, 0xE73A048D, 0xBF27, 0x4F12, 0x97, 0x31, 0x8B, 0x20, 0x76, 0xE8, 0x89, 0x1F );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_0, 0x637EA02F, 0xBBCB, 0x4015, 0x8E, 0x2C, 0xA1, 0xC7, 0xB9, 0xC0, 0xB5, 0x46 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_0, 0x9A66D8D7, 0x4FF7, 0x4EF9, 0xB5, 0xA2, 0x5A, 0x32, 0x6C, 0xA2, 0xA4, 0x69 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_0, 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_1, 0xD8742DCB, 0x3E6A, 0x4B3C, 0xB3, 0xFE, 0x37, 0x46, 0x23, 0xCD, 0xCF, 0x06 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_1, 0x8183BA9A, 0xE910, 0x48DA, 0x87, 0x69, 0x14, 0xAE, 0x6D, 0xC1, 0x17, 0x0A );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_1, 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_2, 0x421CBA38, 0x1A8E, 0x4881, 0xAC, 0x89, 0xE3, 0x3A, 0x8B, 0x04, 0xEC, 0xE4 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_2, 0x07A07CA2, 0xADAF, 0x40D7, 0xB0, 0x77, 0x53, 0x3A, 0xAD, 0xED, 0x1B, 0xFA );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_2, 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_3, 0x80472613, 0x9780, 0x455E, 0xB3, 0x08, 0x72, 0xD3, 0x00, 0x3C, 0xF2, 0xF8 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_3, 0x58AFD5A6, 0xC2DD, 0x47D2, 0x9F, 0xBF, 0xEF, 0x70, 0xCC, 0x5C, 0x59, 0x65 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_3, 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3 );
-DEFINE_GUID(GUID_PROCESSOR_SETTINGS_SUBGROUP, 0x54533251, 0x82BE, 0x4824, 0x96, 0xC1, 0x47, 0xB6, 0x0B, 0x74, 0x0D, 0x00 );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_POLICY, 0x57027304, 0x4AF6, 0x4104, 0x92, 0x60, 0xE3, 0xD9, 0x52, 0x48, 0xFC, 0x36 );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MAXIMUM, 0xBC5038F7, 0x23E0, 0x4960, 0x96, 0xDA, 0x33, 0xAB, 0xAF, 0x59, 0x35, 0xEC );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MINIMUM, 0x893DEE8E, 0x2BEF, 0x41E0, 0x89, 0xC6, 0xB5, 0x5D, 0x09, 0x29, 0x96, 0x4C );
-DEFINE_GUID(GUID_PROCESSOR_ALLOW_THROTTLING, 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb );
+DEFINE_GUID(GUID_SYSTEM_AWAYMODE, 0x98A7F580, 0x01F7, 0x48AA, 0x9C, 0x0F, 0x44, 0x35, 0x2C, 0x29, 0xE5, 0xC0);
+DEFINE_GUID(GUID_ALLOW_AWAYMODE, 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87);
+DEFINE_GUID(GUID_ALLOW_STANDBY_STATES, 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab);
+DEFINE_GUID(GUID_ALLOW_RTC_WAKE, 0xBD3B718A, 0x0680, 0x4D9D, 0x8A, 0xB2, 0xE1, 0xD2, 0xB4, 0xAC, 0x80, 0x6D);
+DEFINE_GUID(GUID_ALLOW_SYSTEM_REQUIRED, 0xA4B195F5, 0x8225, 0x47D8, 0x80, 0x12, 0x9D, 0x41, 0x36, 0x97, 0x86, 0xE2);
+DEFINE_GUID(GUID_SYSTEM_BUTTON_SUBGROUP, 0x4F971E89, 0xEEBD, 0x4455, 0xA8, 0xDE, 0x9E, 0x59, 0x04, 0x0E, 0x73, 0x47);
+DEFINE_GUID(GUID_POWERBUTTON_ACTION, 0x7648EFA3, 0xDD9C, 0x4E3E, 0xB5, 0x66, 0x50, 0xF9, 0x29, 0x38, 0x62, 0x80);
+DEFINE_GUID(GUID_POWERBUTTON_ACTION_FLAGS, 0x857E7FAC, 0x034B, 0x4704, 0xAB, 0xB1, 0xBC, 0xA5, 0x4A, 0xA3, 0x14, 0x78);
+DEFINE_GUID(GUID_SLEEPBUTTON_ACTION, 0x96996BC0, 0xAD50, 0x47EC, 0x92, 0x3B, 0x6F, 0x41, 0x87, 0x4D, 0xD9, 0xEB);
+DEFINE_GUID(GUID_SLEEPBUTTON_ACTION_FLAGS, 0x2A160AB1, 0xB69D, 0x4743, 0xB7, 0x18, 0xBF, 0x14, 0x41, 0xD5, 0xE4, 0x93);
+DEFINE_GUID(GUID_USERINTERFACEBUTTON_ACTION, 0xA7066653, 0x8D6C, 0x40A8, 0x91, 0x0E, 0xA1, 0xF5, 0x4B, 0x84, 0xC7, 0xE5);
+DEFINE_GUID(GUID_LIDCLOSE_ACTION, 0x5CA83367, 0x6E45, 0x459F, 0xA2, 0x7B, 0x47, 0x6B, 0x1D, 0x01, 0xC9, 0x36);
+DEFINE_GUID(GUID_LIDCLOSE_ACTION_FLAGS, 0x97E969AC, 0x0D6C, 0x4D08, 0x92, 0x7C, 0xD7, 0xBD, 0x7A, 0xD7, 0x85, 0x7B);
+DEFINE_GUID(GUID_LIDOPEN_POWERSTATE, 0x99FF10E7, 0x23B1, 0x4C07, 0xA9, 0xD1, 0x5C, 0x32, 0x06, 0xD7, 0x41, 0xB4);
+DEFINE_GUID(GUID_BATTERY_SUBGROUP, 0xE73A048D, 0xBF27, 0x4F12, 0x97, 0x31, 0x8B, 0x20, 0x76, 0xE8, 0x89, 0x1F);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_0, 0x637EA02F, 0xBBCB, 0x4015, 0x8E, 0x2C, 0xA1, 0xC7, 0xB9, 0xC0, 0xB5, 0x46);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_0, 0x9A66D8D7, 0x4FF7, 0x4EF9, 0xB5, 0xA2, 0x5A, 0x32, 0x6C, 0xA2, 0xA4, 0x69);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_0, 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_1, 0xD8742DCB, 0x3E6A, 0x4B3C, 0xB3, 0xFE, 0x37, 0x46, 0x23, 0xCD, 0xCF, 0x06);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_1, 0x8183BA9A, 0xE910, 0x48DA, 0x87, 0x69, 0x14, 0xAE, 0x6D, 0xC1, 0x17, 0x0A);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_1, 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_2, 0x421CBA38, 0x1A8E, 0x4881, 0xAC, 0x89, 0xE3, 0x3A, 0x8B, 0x04, 0xEC, 0xE4);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_2, 0x07A07CA2, 0xADAF, 0x40D7, 0xB0, 0x77, 0x53, 0x3A, 0xAD, 0xED, 0x1B, 0xFA);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_2, 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_3, 0x80472613, 0x9780, 0x455E, 0xB3, 0x08, 0x72, 0xD3, 0x00, 0x3C, 0xF2, 0xF8);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_3, 0x58AFD5A6, 0xC2DD, 0x47D2, 0x9F, 0xBF, 0xEF, 0x70, 0xCC, 0x5C, 0x59, 0x65);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_3, 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3);
+DEFINE_GUID(GUID_PROCESSOR_SETTINGS_SUBGROUP, 0x54533251, 0x82BE, 0x4824, 0x96, 0xC1, 0x47, 0xB6, 0x0B, 0x74, 0x0D, 0x00);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_POLICY, 0x57027304, 0x4AF6, 0x4104, 0x92, 0x60, 0xE3, 0xD9, 0x52, 0x48, 0xFC, 0x36);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MAXIMUM, 0xBC5038F7, 0x23E0, 0x4960, 0x96, 0xDA, 0x33, 0xAB, 0xAF, 0x59, 0x35, 0xEC);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MINIMUM, 0x893DEE8E, 0x2BEF, 0x41E0, 0x89, 0xC6, 0xB5, 0x5D, 0x09, 0x29, 0x96, 0x4C);
+DEFINE_GUID(GUID_PROCESSOR_ALLOW_THROTTLING, 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb);
 DEFINE_GUID(GUID_PROCESSOR_IDLESTATE_POLICY, 0x68f262a7, 0xf621, 0x4069, 0xb9, 0xa5, 0x48, 0x74, 0x16, 0x9b, 0xe2, 0x3c);
 DEFINE_GUID(GUID_PROCESSOR_PERFSTATE_POLICY, 0xBBDC3814, 0x18E9, 0x4463, 0x8A, 0x55, 0xD1, 0x97, 0x32, 0x7C, 0x45, 0xC0);
-DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d );
-DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6 );
+DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d);
+DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6);
 DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_POLICY, 0x465e1f50, 0xb610, 0x473a, 0xab, 0x58, 0x0, 0xd1, 0x7, 0x7d, 0xc4, 0x18);
 DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_POLICY, 0x40fbefc7, 0x2e9d, 0x4d25, 0xa1, 0x85, 0xc, 0xfd, 0x85, 0x74, 0xba, 0xc6);
 DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_TIME, 0x984cf492, 0x3bed, 0x4488, 0xa8, 0xf9, 0x42, 0x86, 0xc9, 0x7b, 0xf5, 0xaa);
@@ -2621,7 +2627,7 @@ DEFINE_GUID(GUID_PROCESSOR_IDLE_DISABLE, 0x5d76a2ca, 0xe8c0, 0x402f, 0xa1, 0x33,
 DEFINE_GUID(GUID_PROCESSOR_IDLE_TIME_CHECK, 0xc4581c31, 0x89ab, 0x4597, 0x8e, 0x2b, 0x9c, 0x9c, 0xab, 0x44, 0xe, 0x6b);
 DEFINE_GUID(GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD, 0x4b92d758, 0x5a24, 0x4851, 0xa4, 0x70, 0x81, 0x5d, 0x78, 0xae, 0xe1, 0x19);
 DEFINE_GUID(GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD, 0x7b224883, 0xb3cc, 0x4d79, 0x81, 0x9f, 0x83, 0x74, 0x15, 0x2c, 0xbe, 0x7c);
-DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1 );
+DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD, 0x68dd2f27, 0xa4ce, 0x4e11, 0x84, 0x87, 0x37, 0x94, 0xe4, 0x13, 0x5d, 0xfa);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY, 0xc7be0679, 0x2817, 0x4d69, 0x9d, 0x02, 0x51, 0x9a, 0x53, 0x7e, 0xd0, 0xc6);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY, 0x71021b41, 0xc749, 0x4d21, 0xbe, 0x74, 0xa0, 0x0f, 0x33, 0x5d, 0x58, 0x2b);
@@ -2640,17 +2646,17 @@ DEFINE_GUID(GUID_PROCESSOR_PARKING_CORE_OVERRIDE, 0xa55612aa, 0xf624, 0x42c6, 0x
 DEFINE_GUID(GUID_PROCESSOR_PARKING_PERF_STATE, 0x447235c7, 0x6a8d, 0x4cc0, 0x8e, 0x24, 0x9e, 0xaf, 0x70, 0xb9, 0x6e, 0x2b);
 DEFINE_GUID(GUID_PROCESSOR_PERF_HISTORY, 0x7d24baa7, 0x0b84, 0x480f, 0x84, 0x0c, 0x1b, 0x07, 0x43, 0xc0, 0x0f, 0x5f);
 DEFINE_GUID(GUID_SYSTEM_COOLING_POLICY, 0x94D3A615, 0xA899, 0x4AC5, 0xAE, 0x2B, 0xE4, 0xD8, 0xF6, 0x34, 0x36, 0x7F);
-DEFINE_GUID(GUID_LOCK_CONSOLE_ON_WAKE, 0x0E796BDB, 0x100D, 0x47D6, 0xA2, 0xD5, 0xF7, 0xD2, 0xDA, 0xA5, 0x1F, 0x51 );
-DEFINE_GUID(GUID_DEVICE_IDLE_POLICY, 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19 );
-DEFINE_GUID(GUID_ACDC_POWER_SOURCE, 0x5D3E9A59, 0xE9D5, 0x4B00, 0xA6, 0xBD, 0xFF, 0x34, 0xFF, 0x51, 0x65, 0x48 );
-DEFINE_GUID(GUID_LIDSWITCH_STATE_CHANGE,  0xBA3E0F4D, 0xB817, 0x4094, 0xA2, 0xD1, 0xD5, 0x63, 0x79, 0xE6, 0xA0, 0xF3 );
-DEFINE_GUID(GUID_BATTERY_PERCENTAGE_REMAINING, 0xA7AD8041, 0xB45A, 0x4CAE, 0x87, 0xA3, 0xEE, 0xCB, 0xB4, 0x68, 0xA9, 0xE1 );
-DEFINE_GUID(GUID_IDLE_BACKGROUND_TASK, 0x515C31D8, 0xF734, 0x163D, 0xA0, 0xFD, 0x11, 0xA0, 0x8C, 0x91, 0xE8, 0xF1 );
-DEFINE_GUID(GUID_BACKGROUND_TASK_NOTIFICATION, 0xCF23F240, 0x2A54, 0x48D8, 0xB1, 0x14, 0xDE, 0x15, 0x18, 0xFF, 0x05, 0x2E );
-DEFINE_GUID(GUID_APPLAUNCH_BUTTON, 0x1A689231, 0x7399, 0x4E9A, 0x8F, 0x99, 0xB7, 0x1F, 0x99, 0x9D, 0xB3, 0xFA );
-DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af,0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20 );
-DEFINE_GUID(GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5 );
-DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6 );
+DEFINE_GUID(GUID_LOCK_CONSOLE_ON_WAKE, 0x0E796BDB, 0x100D, 0x47D6, 0xA2, 0xD5, 0xF7, 0xD2, 0xDA, 0xA5, 0x1F, 0x51);
+DEFINE_GUID(GUID_DEVICE_IDLE_POLICY, 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19);
+DEFINE_GUID(GUID_ACDC_POWER_SOURCE, 0x5D3E9A59, 0xE9D5, 0x4B00, 0xA6, 0xBD, 0xFF, 0x34, 0xFF, 0x51, 0x65, 0x48);
+DEFINE_GUID(GUID_LIDSWITCH_STATE_CHANGE,  0xBA3E0F4D, 0xB817, 0x4094, 0xA2, 0xD1, 0xD5, 0x63, 0x79, 0xE6, 0xA0, 0xF3);
+DEFINE_GUID(GUID_BATTERY_PERCENTAGE_REMAINING, 0xA7AD8041, 0xB45A, 0x4CAE, 0x87, 0xA3, 0xEE, 0xCB, 0xB4, 0x68, 0xA9, 0xE1);
+DEFINE_GUID(GUID_IDLE_BACKGROUND_TASK, 0x515C31D8, 0xF734, 0x163D, 0xA0, 0xFD, 0x11, 0xA0, 0x8C, 0x91, 0xE8, 0xF1);
+DEFINE_GUID(GUID_BACKGROUND_TASK_NOTIFICATION, 0xCF23F240, 0x2A54, 0x48D8, 0xB1, 0x14, 0xDE, 0x15, 0x18, 0xFF, 0x05, 0x2E);
+DEFINE_GUID(GUID_APPLAUNCH_BUTTON, 0x1A689231, 0x7399, 0x4E9A, 0x8F, 0x99, 0xB7, 0x1F, 0x99, 0x9D, 0xB3, 0xFA);
+DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af,0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20);
+DEFINE_GUID(GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5);
+DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6);
 
 #define PERFSTATE_POLICY_CHANGE_IDEAL            0
 #define PERFSTATE_POLICY_CHANGE_SINGLE           1
@@ -2838,7 +2844,7 @@ typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
     } Interrupt;
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
     struct {
-      __GNU_EXTENSION union {
+      _ANONYMOUS_UNION union {
         struct {
 #if defined(NT_PROCESSOR_GROUPS)
           USHORT Group;
@@ -3691,20 +3697,6 @@ typedef enum _CM_ERROR_CONTROL_TYPE {
  *                         I/O Manager Types                                  *
  ******************************************************************************/
 
-#define WDM_MAJORVERSION        0x06
-#define WDM_MINORVERSION        0x00
-
-#if defined(_WIN64)
-
-#ifndef USE_DMA_MACROS
-#define USE_DMA_MACROS
-#endif
-
-#ifndef NO_LEGACY_DRIVERS
-#define NO_LEGACY_DRIVERS
-#endif
-
-#endif /* defined(_WIN64) */
 
 #define STATUS_CONTINUE_COMPLETION      STATUS_SUCCESS
 
@@ -4044,11 +4036,11 @@ typedef struct _IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS {
 
 typedef struct _IO_CONNECT_INTERRUPT_PARAMETERS {
   IN OUT ULONG Version;
-  union {
+  _ANONYMOUS_UNION union {
     IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS FullySpecified;
     IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS LineBased;
     IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS MessageBased;
-  };
+  } DUMMYUNIONNAME;
 } IO_CONNECT_INTERRUPT_PARAMETERS, *PIO_CONNECT_INTERRUPT_PARAMETERS;
 
 typedef struct _IO_DISCONNECT_INTERRUPT_PARAMETERS {
@@ -4171,75 +4163,75 @@ typedef struct _SHARE_ACCESS {
 /* While MS WDK uses inheritance in C++, we cannot do this with gcc, as
    inheritance, even from a struct renders the type non-POD. So we use
    this hack */
-#define PCI_COMMON_HEADER_LAYOUT \
-  USHORT VendorID; \
-  USHORT DeviceID; \
-  USHORT Command; \
-  USHORT Status; \
-  UCHAR RevisionID; \
-  UCHAR ProgIf; \
-  UCHAR SubClass; \
-  UCHAR BaseClass; \
-  UCHAR CacheLineSize; \
-  UCHAR LatencyTimer; \
-  UCHAR HeaderType; \
-  UCHAR BIST; \
-  union { \
-    struct _PCI_HEADER_TYPE_0 { \
+#define PCI_COMMON_HEADER_LAYOUT                \
+  USHORT VendorID;                              \
+  USHORT DeviceID;                              \
+  USHORT Command;                               \
+  USHORT Status;                                \
+  UCHAR RevisionID;                             \
+  UCHAR ProgIf;                                 \
+  UCHAR SubClass;                               \
+  UCHAR BaseClass;                              \
+  UCHAR CacheLineSize;                          \
+  UCHAR LatencyTimer;                           \
+  UCHAR HeaderType;                             \
+  UCHAR BIST;                                   \
+  union {                                       \
+    struct _PCI_HEADER_TYPE_0 {                 \
       ULONG BaseAddresses[PCI_TYPE0_ADDRESSES]; \
-      ULONG CIS; \
-      USHORT SubVendorID; \
-      USHORT SubSystemID; \
-      ULONG ROMBaseAddress; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved1[3]; \
-      ULONG Reserved2; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      UCHAR MinimumGrant; \
-      UCHAR MaximumLatency; \
-    } type0; \
-    struct _PCI_HEADER_TYPE_1 { \
+      ULONG CIS;                                \
+      USHORT SubVendorID;                       \
+      USHORT SubSystemID;                       \
+      ULONG ROMBaseAddress;                     \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved1[3];                       \
+      ULONG Reserved2;                          \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      UCHAR MinimumGrant;                       \
+      UCHAR MaximumLatency;                     \
+    } type0;                                    \
+    struct _PCI_HEADER_TYPE_1 {                 \
       ULONG BaseAddresses[PCI_TYPE1_ADDRESSES]; \
-      UCHAR PrimaryBus; \
-      UCHAR SecondaryBus; \
-      UCHAR SubordinateBus; \
-      UCHAR SecondaryLatency; \
-      UCHAR IOBase; \
-      UCHAR IOLimit; \
-      USHORT SecondaryStatus; \
-      USHORT MemoryBase; \
-      USHORT MemoryLimit; \
-      USHORT PrefetchBase; \
-      USHORT PrefetchLimit; \
-      ULONG PrefetchBaseUpper32; \
-      ULONG PrefetchLimitUpper32; \
-      USHORT IOBaseUpper16; \
-      USHORT IOLimitUpper16; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved1[3]; \
-      ULONG ROMBaseAddress; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      USHORT BridgeControl; \
-    } type1; \
-    struct _PCI_HEADER_TYPE_2 { \
-      ULONG SocketRegistersBaseAddress; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved; \
-      USHORT SecondaryStatus; \
-      UCHAR PrimaryBus; \
-      UCHAR SecondaryBus; \
-      UCHAR SubordinateBus; \
-      UCHAR SecondaryLatency; \
-      struct { \
-        ULONG Base; \
-        ULONG Limit; \
-      } Range[PCI_TYPE2_ADDRESSES-1]; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      USHORT BridgeControl; \
-    } type2; \
+      UCHAR PrimaryBus;                         \
+      UCHAR SecondaryBus;                       \
+      UCHAR SubordinateBus;                     \
+      UCHAR SecondaryLatency;                   \
+      UCHAR IOBase;                             \
+      UCHAR IOLimit;                            \
+      USHORT SecondaryStatus;                   \
+      USHORT MemoryBase;                        \
+      USHORT MemoryLimit;                       \
+      USHORT PrefetchBase;                      \
+      USHORT PrefetchLimit;                     \
+      ULONG PrefetchBaseUpper32;                \
+      ULONG PrefetchLimitUpper32;               \
+      USHORT IOBaseUpper16;                     \
+      USHORT IOLimitUpper16;                    \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved1[3];                       \
+      ULONG ROMBaseAddress;                     \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      USHORT BridgeControl;                     \
+    } type1;                                    \
+    struct _PCI_HEADER_TYPE_2 {                 \
+      ULONG SocketRegistersBaseAddress;         \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved;                           \
+      USHORT SecondaryStatus;                   \
+      UCHAR PrimaryBus;                         \
+      UCHAR SecondaryBus;                       \
+      UCHAR SubordinateBus;                     \
+      UCHAR SecondaryLatency;                   \
+      struct {                                  \
+        ULONG Base;                             \
+        ULONG Limit;                            \
+      } Range[PCI_TYPE2_ADDRESSES-1];           \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      USHORT BridgeControl;                     \
+    } type2;                                    \
   } u;
 
 typedef enum _CREATE_FILE_TYPE {
@@ -4345,10 +4337,10 @@ typedef struct _BOOTDISK_INFORMATION_EX {
 typedef struct _LOADER_PARTITION_INFORMATION_EX {
   ULONG PartitionStyle;
   ULONG PartitionNumber;
-  union {
+  _ANONYMOUS_UNION union {
     ULONG Signature;
     GUID DeviceId;
-  };
+  } DUMMYUNIONNAME;
   ULONG Flags;
 } LOADER_PARTITION_INFORMATION_EX, *PLOADER_PARTITION_INFORMATION_EX;
 
@@ -6861,7 +6853,7 @@ typedef struct _PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY {
 } PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY, *PPCI_EXPRESS_SERIAL_NUMBER_CAPABILITY;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -6882,7 +6874,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -6903,7 +6895,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -6924,7 +6916,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY;
 
 typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG ReceiverError:1;
     ULONG Reserved1:5;
     ULONG BadTLP:1;
@@ -6939,7 +6931,7 @@ typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_CORRECTABLE_ERROR_STATUS, *PPCI_CORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG ReceiverError:1;
     ULONG Reserved1:5;
     ULONG BadTLP:1;
@@ -6954,7 +6946,7 @@ typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_CORRECTABLE_ERROR_MASK, *PPCI_CORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_AER_CAPABILITIES {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG FirstErrorPointer:5;
     ULONG ECRCGenerationCapable:1;
     ULONG ECRCGenerationEnable:1;
@@ -6966,7 +6958,7 @@ typedef union _PCI_EXPRESS_AER_CAPABILITIES {
 } PCI_EXPRESS_AER_CAPABILITIES, *PPCI_EXPRESS_AER_CAPABILITIES;
 
 typedef union _PCI_EXPRESS_ROOT_ERROR_COMMAND {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG CorrectableErrorReportingEnable:1;
     ULONG NonFatalErrorReportingEnable:1;
     ULONG FatalErrorReportingEnable:1;
@@ -6976,7 +6968,7 @@ typedef union _PCI_EXPRESS_ROOT_ERROR_COMMAND {
 } PCI_EXPRESS_ROOT_ERROR_COMMAND, *PPCI_EXPRESS_ROOT_ERROR_COMMAND;
 
 typedef union _PCI_EXPRESS_ROOT_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG CorrectableErrorReceived:1;
     ULONG MultipleCorrectableErrorsReceived:1;
     ULONG UncorrectableErrorReceived:1;
@@ -6991,7 +6983,7 @@ typedef union _PCI_EXPRESS_ROOT_ERROR_STATUS {
 } PCI_EXPRESS_ROOT_ERROR_STATUS, *PPCI_EXPRESS_ROOT_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_ERROR_SOURCE_ID {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableSourceIdFun:3;
     USHORT CorrectableSourceIdDev:5;
     USHORT CorrectableSourceIdBus:8;
@@ -7003,7 +6995,7 @@ typedef union _PCI_EXPRESS_ERROR_SOURCE_ID {
 } PCI_EXPRESS_ERROR_SOURCE_ID, *PPCI_EXPRESS_ERROR_SOURCE_ID;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -7024,7 +7016,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -7045,7 +7037,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -7066,7 +7058,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY;
 
 typedef union _PCI_EXPRESS_SEC_AER_CAPABILITIES {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG SecondaryUncorrectableFirstErrorPtr:5;
     ULONG Reserved:27;
   } DUMMYSTRUCTNAME;
@@ -7129,7 +7121,7 @@ typedef struct _PCI_EXPRESS_BRIDGE_AER_CAPABILITY {
 } PCI_EXPRESS_BRIDGE_AER_CAPABILITY, *PPCI_EXPRESS_BRIDGE_AER_CAPABILITY;
 
 typedef union _PCI_EXPRESS_SRIOV_CAPS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG VFMigrationCapable:1;
     ULONG Reserved1:20;
     ULONG VFMigrationInterruptNumber:11;
@@ -7138,7 +7130,7 @@ typedef union _PCI_EXPRESS_SRIOV_CAPS {
 } PCI_EXPRESS_SRIOV_CAPS, *PPCI_EXPRESS_SRIOV_CAPS;
 
 typedef union _PCI_EXPRESS_SRIOV_CONTROL {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT VFEnable:1;
     USHORT VFMigrationEnable:1;
     USHORT VFMigrationInterruptEnable:1;
@@ -7150,7 +7142,7 @@ typedef union _PCI_EXPRESS_SRIOV_CONTROL {
 } PCI_EXPRESS_SRIOV_CONTROL, *PPCI_EXPRESS_SRIOV_CONTROL;
 
 typedef union _PCI_EXPRESS_SRIOV_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT VFMigrationStatus:1;
     USHORT Reserved1:15;
   } DUMMYSTRUCTNAME;
@@ -7158,7 +7150,7 @@ typedef union _PCI_EXPRESS_SRIOV_STATUS {
 } PCI_EXPRESS_SRIOV_STATUS, *PPCI_EXPRESS_SRIOV_STATUS;
 
 typedef union _PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG VFMigrationStateBIR:3;
     ULONG VFMigrationStateOffset:29;
   } DUMMYSTRUCTNAME;
@@ -7426,16 +7418,16 @@ typedef struct _PCI_MSIX_TABLE_CONFIG_INTERFACE {
  ******************************************************************************/
 
 #define MAXIMUM_FILENAME_LENGTH           256
-#define OBJ_NAME_PATH_SEPARATOR     ((WCHAR)L'\\')
+#define OBJ_NAME_PATH_SEPARATOR           ((WCHAR)L'\\')
 
-#define OBJECT_TYPE_CREATE 0x0001
-#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
+#define OBJECT_TYPE_CREATE                0x0001
+#define OBJECT_TYPE_ALL_ACCESS            (STANDARD_RIGHTS_REQUIRED | 0x1)
 
-#define DIRECTORY_QUERY 0x0001
-#define DIRECTORY_TRAVERSE 0x0002
-#define DIRECTORY_CREATE_OBJECT 0x0004
-#define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
-#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
+#define DIRECTORY_QUERY                   0x0001
+#define DIRECTORY_TRAVERSE                0x0002
+#define DIRECTORY_CREATE_OBJECT           0x0004
+#define DIRECTORY_CREATE_SUBDIRECTORY     0x0008
+#define DIRECTORY_ALL_ACCESS              (STANDARD_RIGHTS_REQUIRED | 0xF)
 
 #define SYMBOLIC_LINK_QUERY               0x0001
 #define SYMBOLIC_LINK_ALL_ACCESS          (STANDARD_RIGHTS_REQUIRED | 0x1)
@@ -7444,13 +7436,13 @@ typedef struct _PCI_MSIX_TABLE_CONFIG_INTERFACE {
 #define DUPLICATE_SAME_ACCESS             0x00000002
 #define DUPLICATE_SAME_ATTRIBUTES         0x00000004
 
-#define OB_FLT_REGISTRATION_VERSION_0100         0x0100
-#define OB_FLT_REGISTRATION_VERSION OB_FLT_REGISTRATION_VERSION_0100
+#define OB_FLT_REGISTRATION_VERSION_0100  0x0100
+#define OB_FLT_REGISTRATION_VERSION       OB_FLT_REGISTRATION_VERSION_0100
 
 typedef ULONG OB_OPERATION;
 
-#define OB_OPERATION_HANDLE_CREATE               0x00000001
-#define OB_OPERATION_HANDLE_DUPLICATE            0x00000002
+#define OB_OPERATION_HANDLE_CREATE        0x00000001
+#define OB_OPERATION_HANDLE_DUPLICATE     0x00000002
 
 typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
   IN OUT ACCESS_MASK DesiredAccess;
@@ -7471,13 +7463,13 @@ typedef union _OB_PRE_OPERATION_PARAMETERS {
 
 typedef struct _OB_PRE_OPERATION_INFORMATION {
   IN OB_OPERATION Operation;
-  union {
+  _ANONYMOUS_UNION union {
     IN ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       IN ULONG KernelHandle:1;
       IN ULONG Reserved:31;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN PVOID Object;
   IN POBJECT_TYPE ObjectType;
   OUT PVOID CallContext;
@@ -7499,13 +7491,13 @@ typedef union _OB_POST_OPERATION_PARAMETERS {
 
 typedef struct _OB_POST_OPERATION_INFORMATION {
   IN OB_OPERATION Operation;
-    union {
-      IN ULONG Flags;
-      struct {
-        IN ULONG KernelHandle:1;
-        IN ULONG Reserved:31;
-      };
-    };
+  _ANONYMOUS_UNION union {
+    IN ULONG Flags;
+    _ANONYMOUS_STRUCT struct {
+      IN ULONG KernelHandle:1;
+      IN ULONG Reserved:31;
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN PVOID Object;
   IN POBJECT_TYPE ObjectType;
   IN PVOID CallContext;
@@ -7555,7 +7547,6 @@ extern POBJECT_TYPE NTSYSAPI PsThreadType;
 extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
 extern POBJECT_TYPE NTSYSAPI PsProcessType;
 
-
 /******************************************************************************
  *                           Process Manager Types                            *
  ******************************************************************************/
@@ -7576,7 +7567,7 @@ extern POBJECT_TYPE NTSYSAPI PsProcessType;
 #define THREAD_SET_LIMITED_INFORMATION   0x0400
 #define THREAD_QUERY_LIMITED_INFORMATION 0x0800
 
-#define PROCESS_DUP_HANDLE                 (0x0040)
+#define PROCESS_DUP_HANDLE               (0x0040)
 
 #if (NTDDI_VERSION >= NTDDI_VISTA)
 #define PROCESS_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
index dd9cac2..41f52ec 100644 (file)
@@ -156,7 +156,7 @@ typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
     } Interrupt;
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
     struct {
-      __GNU_EXTENSION union {
+      _ANONYMOUS_UNION union {
         struct {
 #if defined(NT_PROCESSOR_GROUPS)
           USHORT Group;
@@ -1044,4 +1044,4 @@ typedef struct _CM_PCCARD_DEVICE_DATA {
   UCHAR IRQMap[16];
 } CM_PCCARD_DEVICE_DATA, *PCM_PCCARD_DEVICE_DATA;
 
-$endif  (_NTDDK_)
+$endif (_NTDDK_)
index 6014fe5..89728aa 100644 (file)
@@ -86,40 +86,36 @@ typedef VOID
 typedef CALLBACK_FUNCTION *PCALLBACK_FUNCTION;
 
 #define GENERAL_LOOKASIDE_LAYOUT                \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         SLIST_HEADER ListHead;                  \
         SINGLE_LIST_ENTRY SingleListHead;       \
     } DUMMYUNIONNAME;                           \
     USHORT Depth;                               \
     USHORT MaximumDepth;                        \
     ULONG TotalAllocates;                       \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG AllocateMisses;                   \
         ULONG AllocateHits;                     \
     } DUMMYUNIONNAME2;                          \
-                                                \
     ULONG TotalFrees;                           \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG FreeMisses;                       \
         ULONG FreeHits;                         \
     } DUMMYUNIONNAME3;                          \
-                                                \
     POOL_TYPE Type;                             \
     ULONG Tag;                                  \
     ULONG Size;                                 \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         PALLOCATE_FUNCTION_EX AllocateEx;       \
         PALLOCATE_FUNCTION Allocate;            \
     } DUMMYUNIONNAME4;                          \
-                                                \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         PFREE_FUNCTION_EX FreeEx;               \
         PFREE_FUNCTION Free;                    \
     } DUMMYUNIONNAME5;                          \
-                                                \
     LIST_ENTRY ListEntry;                       \
     ULONG LastTotalAllocates;                   \
-    union {                                     \
+    _ANONYMOUS_UNION union {                    \
         ULONG LastAllocateMisses;               \
         ULONG LastAllocateHits;                 \
     } DUMMYUNIONNAME6;                          \
@@ -171,10 +167,10 @@ typedef struct _LOOKASIDE_LIST_EX {
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
 typedef struct _EX_RUNDOWN_REF {
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     volatile ULONG_PTR Count;
     volatile PVOID Ptr;
-  };
+  } DUMMYUNIONNAME;
 } EX_RUNDOWN_REF, *PEX_RUNDOWN_REF;
 
 typedef struct _EX_RUNDOWN_REF_CACHE_AWARE *PEX_RUNDOWN_REF_CACHE_AWARE;
@@ -201,14 +197,14 @@ typedef ULONG_PTR ERESOURCE_THREAD, *PERESOURCE_THREAD;
 
 typedef struct _OWNER_ENTRY {
   ERESOURCE_THREAD OwnerThread;
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       ULONG IoPriorityBoosted:1;
       ULONG OwnerReferenced:1;
       ULONG OwnerCount:30;
-    };
+    } DUMMYSTRUCTNAME;
     ULONG TableSize;
-  };
+  } DUMMYUNIONNAME;
 } OWNER_ENTRY, *POWNER_ENTRY;
 
 typedef struct _ERESOURCE {
@@ -226,10 +222,10 @@ typedef struct _ERESOURCE {
 #if defined(_WIN64)
   PVOID Reserved2;
 #endif
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     PVOID Address;
     ULONG_PTR CreatorBackTraceIndex;
-  };
+  } DUMMYUNIONNAME;
   KSPIN_LOCK SpinLock;
 } ERESOURCE, *PERESOURCE;
 
index 7305e84..3a9db1c 100644 (file)
@@ -274,7 +274,7 @@ typedef struct _OPLOCK_KEY_ECP_CONTEXT {
   ULONG Reserved;
 } OPLOCK_KEY_ECP_CONTEXT, *POPLOCK_KEY_ECP_CONTEXT;
 
-DEFINE_GUID( GUID_ECP_OPLOCK_KEY, 0x48850596, 0x3050, 0x4be7, 0x98, 0x63, 0xfe, 0xc3, 0x50, 0xce, 0x8d, 0x7f );
+DEFINE_GUID(GUID_ECP_OPLOCK_KEY, 0x48850596, 0x3050, 0x4be7, 0x98, 0x63, 0xfe, 0xc3, 0x50, 0xce, 0x8d, 0x7f);
 
 #endif
 
index b2a16cc..7bb3484 100644 (file)
@@ -369,11 +369,11 @@ typedef struct _IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS {
 
 typedef struct _IO_CONNECT_INTERRUPT_PARAMETERS {
   IN OUT ULONG Version;
-  union {
+  _ANONYMOUS_UNION union {
     IO_CONNECT_INTERRUPT_FULLY_SPECIFIED_PARAMETERS FullySpecified;
     IO_CONNECT_INTERRUPT_LINE_BASED_PARAMETERS LineBased;
     IO_CONNECT_INTERRUPT_MESSAGE_BASED_PARAMETERS MessageBased;
-  };
+  } DUMMYUNIONNAME;
 } IO_CONNECT_INTERRUPT_PARAMETERS, *PIO_CONNECT_INTERRUPT_PARAMETERS;
 
 typedef struct _IO_DISCONNECT_INTERRUPT_PARAMETERS {
@@ -496,75 +496,75 @@ typedef struct _SHARE_ACCESS {
 /* While MS WDK uses inheritance in C++, we cannot do this with gcc, as
    inheritance, even from a struct renders the type non-POD. So we use
    this hack */
-#define PCI_COMMON_HEADER_LAYOUT \
-  USHORT VendorID; \
-  USHORT DeviceID; \
-  USHORT Command; \
-  USHORT Status; \
-  UCHAR RevisionID; \
-  UCHAR ProgIf; \
-  UCHAR SubClass; \
-  UCHAR BaseClass; \
-  UCHAR CacheLineSize; \
-  UCHAR LatencyTimer; \
-  UCHAR HeaderType; \
-  UCHAR BIST; \
-  union { \
-    struct _PCI_HEADER_TYPE_0 { \
+#define PCI_COMMON_HEADER_LAYOUT                \
+  USHORT VendorID;                              \
+  USHORT DeviceID;                              \
+  USHORT Command;                               \
+  USHORT Status;                                \
+  UCHAR RevisionID;                             \
+  UCHAR ProgIf;                                 \
+  UCHAR SubClass;                               \
+  UCHAR BaseClass;                              \
+  UCHAR CacheLineSize;                          \
+  UCHAR LatencyTimer;                           \
+  UCHAR HeaderType;                             \
+  UCHAR BIST;                                   \
+  union {                                       \
+    struct _PCI_HEADER_TYPE_0 {                 \
       ULONG BaseAddresses[PCI_TYPE0_ADDRESSES]; \
-      ULONG CIS; \
-      USHORT SubVendorID; \
-      USHORT SubSystemID; \
-      ULONG ROMBaseAddress; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved1[3]; \
-      ULONG Reserved2; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      UCHAR MinimumGrant; \
-      UCHAR MaximumLatency; \
-    } type0; \
-    struct _PCI_HEADER_TYPE_1 { \
+      ULONG CIS;                                \
+      USHORT SubVendorID;                       \
+      USHORT SubSystemID;                       \
+      ULONG ROMBaseAddress;                     \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved1[3];                       \
+      ULONG Reserved2;                          \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      UCHAR MinimumGrant;                       \
+      UCHAR MaximumLatency;                     \
+    } type0;                                    \
+    struct _PCI_HEADER_TYPE_1 {                 \
       ULONG BaseAddresses[PCI_TYPE1_ADDRESSES]; \
-      UCHAR PrimaryBus; \
-      UCHAR SecondaryBus; \
-      UCHAR SubordinateBus; \
-      UCHAR SecondaryLatency; \
-      UCHAR IOBase; \
-      UCHAR IOLimit; \
-      USHORT SecondaryStatus; \
-      USHORT MemoryBase; \
-      USHORT MemoryLimit; \
-      USHORT PrefetchBase; \
-      USHORT PrefetchLimit; \
-      ULONG PrefetchBaseUpper32; \
-      ULONG PrefetchLimitUpper32; \
-      USHORT IOBaseUpper16; \
-      USHORT IOLimitUpper16; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved1[3]; \
-      ULONG ROMBaseAddress; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      USHORT BridgeControl; \
-    } type1; \
-    struct _PCI_HEADER_TYPE_2 { \
-      ULONG SocketRegistersBaseAddress; \
-      UCHAR CapabilitiesPtr; \
-      UCHAR Reserved; \
-      USHORT SecondaryStatus; \
-      UCHAR PrimaryBus; \
-      UCHAR SecondaryBus; \
-      UCHAR SubordinateBus; \
-      UCHAR SecondaryLatency; \
-      struct { \
-        ULONG Base; \
-        ULONG Limit; \
-      } Range[PCI_TYPE2_ADDRESSES-1]; \
-      UCHAR InterruptLine; \
-      UCHAR InterruptPin; \
-      USHORT BridgeControl; \
-    } type2; \
+      UCHAR PrimaryBus;                         \
+      UCHAR SecondaryBus;                       \
+      UCHAR SubordinateBus;                     \
+      UCHAR SecondaryLatency;                   \
+      UCHAR IOBase;                             \
+      UCHAR IOLimit;                            \
+      USHORT SecondaryStatus;                   \
+      USHORT MemoryBase;                        \
+      USHORT MemoryLimit;                       \
+      USHORT PrefetchBase;                      \
+      USHORT PrefetchLimit;                     \
+      ULONG PrefetchBaseUpper32;                \
+      ULONG PrefetchLimitUpper32;               \
+      USHORT IOBaseUpper16;                     \
+      USHORT IOLimitUpper16;                    \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved1[3];                       \
+      ULONG ROMBaseAddress;                     \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      USHORT BridgeControl;                     \
+    } type1;                                    \
+    struct _PCI_HEADER_TYPE_2 {                 \
+      ULONG SocketRegistersBaseAddress;         \
+      UCHAR CapabilitiesPtr;                    \
+      UCHAR Reserved;                           \
+      USHORT SecondaryStatus;                   \
+      UCHAR PrimaryBus;                         \
+      UCHAR SecondaryBus;                       \
+      UCHAR SubordinateBus;                     \
+      UCHAR SecondaryLatency;                   \
+      struct {                                  \
+        ULONG Base;                             \
+        ULONG Limit;                            \
+      } Range[PCI_TYPE2_ADDRESSES-1];           \
+      UCHAR InterruptLine;                      \
+      UCHAR InterruptPin;                       \
+      USHORT BridgeControl;                     \
+    } type2;                                    \
   } u;
 
 typedef enum _CREATE_FILE_TYPE {
@@ -670,10 +670,10 @@ typedef struct _BOOTDISK_INFORMATION_EX {
 typedef struct _LOADER_PARTITION_INFORMATION_EX {
   ULONG PartitionStyle;
   ULONG PartitionNumber;
-  union {
+  _ANONYMOUS_UNION union {
     ULONG Signature;
     GUID DeviceId;
-  };
+  } DUMMYUNIONNAME;
   ULONG Flags;
 } LOADER_PARTITION_INFORMATION_EX, *PLOADER_PARTITION_INFORMATION_EX;
 
@@ -3198,7 +3198,7 @@ typedef struct _PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY {
 } PCI_EXPRESS_SERIAL_NUMBER_CAPABILITY, *PPCI_EXPRESS_SERIAL_NUMBER_CAPABILITY;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -3219,7 +3219,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -3240,7 +3240,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_MASK, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG Undefined:1;
     ULONG Reserved1:3;
     ULONG DataLinkProtocolError:1;
@@ -3261,7 +3261,7 @@ typedef union _PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY {
 } PCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY, *PPCI_EXPRESS_UNCORRECTABLE_ERROR_SEVERITY;
 
 typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG ReceiverError:1;
     ULONG Reserved1:5;
     ULONG BadTLP:1;
@@ -3276,7 +3276,7 @@ typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_CORRECTABLE_ERROR_STATUS, *PPCI_CORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG ReceiverError:1;
     ULONG Reserved1:5;
     ULONG BadTLP:1;
@@ -3291,7 +3291,7 @@ typedef union _PCI_EXPRESS_CORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_CORRECTABLE_ERROR_MASK, *PPCI_CORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_AER_CAPABILITIES {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG FirstErrorPointer:5;
     ULONG ECRCGenerationCapable:1;
     ULONG ECRCGenerationEnable:1;
@@ -3303,7 +3303,7 @@ typedef union _PCI_EXPRESS_AER_CAPABILITIES {
 } PCI_EXPRESS_AER_CAPABILITIES, *PPCI_EXPRESS_AER_CAPABILITIES;
 
 typedef union _PCI_EXPRESS_ROOT_ERROR_COMMAND {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG CorrectableErrorReportingEnable:1;
     ULONG NonFatalErrorReportingEnable:1;
     ULONG FatalErrorReportingEnable:1;
@@ -3313,7 +3313,7 @@ typedef union _PCI_EXPRESS_ROOT_ERROR_COMMAND {
 } PCI_EXPRESS_ROOT_ERROR_COMMAND, *PPCI_EXPRESS_ROOT_ERROR_COMMAND;
 
 typedef union _PCI_EXPRESS_ROOT_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG CorrectableErrorReceived:1;
     ULONG MultipleCorrectableErrorsReceived:1;
     ULONG UncorrectableErrorReceived:1;
@@ -3328,7 +3328,7 @@ typedef union _PCI_EXPRESS_ROOT_ERROR_STATUS {
 } PCI_EXPRESS_ROOT_ERROR_STATUS, *PPCI_EXPRESS_ROOT_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_ERROR_SOURCE_ID {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableSourceIdFun:3;
     USHORT CorrectableSourceIdDev:5;
     USHORT CorrectableSourceIdBus:8;
@@ -3340,7 +3340,7 @@ typedef union _PCI_EXPRESS_ERROR_SOURCE_ID {
 } PCI_EXPRESS_ERROR_SOURCE_ID, *PPCI_EXPRESS_ERROR_SOURCE_ID;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -3361,7 +3361,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_STATUS;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -3382,7 +3382,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_MASK;
 
 typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG TargetAbortOnSplitCompletion:1;
     ULONG MasterAbortOnSplitCompletion:1;
     ULONG ReceivedTargetAbort:1;
@@ -3403,7 +3403,7 @@ typedef union _PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY {
 } PCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY, *PPCI_EXPRESS_SEC_UNCORRECTABLE_ERROR_SEVERITY;
 
 typedef union _PCI_EXPRESS_SEC_AER_CAPABILITIES {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG SecondaryUncorrectableFirstErrorPtr:5;
     ULONG Reserved:27;
   } DUMMYSTRUCTNAME;
@@ -3466,7 +3466,7 @@ typedef struct _PCI_EXPRESS_BRIDGE_AER_CAPABILITY {
 } PCI_EXPRESS_BRIDGE_AER_CAPABILITY, *PPCI_EXPRESS_BRIDGE_AER_CAPABILITY;
 
 typedef union _PCI_EXPRESS_SRIOV_CAPS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG VFMigrationCapable:1;
     ULONG Reserved1:20;
     ULONG VFMigrationInterruptNumber:11;
@@ -3475,7 +3475,7 @@ typedef union _PCI_EXPRESS_SRIOV_CAPS {
 } PCI_EXPRESS_SRIOV_CAPS, *PPCI_EXPRESS_SRIOV_CAPS;
 
 typedef union _PCI_EXPRESS_SRIOV_CONTROL {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT VFEnable:1;
     USHORT VFMigrationEnable:1;
     USHORT VFMigrationInterruptEnable:1;
@@ -3487,7 +3487,7 @@ typedef union _PCI_EXPRESS_SRIOV_CONTROL {
 } PCI_EXPRESS_SRIOV_CONTROL, *PPCI_EXPRESS_SRIOV_CONTROL;
 
 typedef union _PCI_EXPRESS_SRIOV_STATUS {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT VFMigrationStatus:1;
     USHORT Reserved1:15;
   } DUMMYSTRUCTNAME;
@@ -3495,7 +3495,7 @@ typedef union _PCI_EXPRESS_SRIOV_STATUS {
 } PCI_EXPRESS_SRIOV_STATUS, *PPCI_EXPRESS_SRIOV_STATUS;
 
 typedef union _PCI_EXPRESS_SRIOV_MIGRATION_STATE_ARRAY {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG VFMigrationStateBIR:3;
     ULONG VFMigrationStateOffset:29;
   } DUMMYSTRUCTNAME;
@@ -3845,8 +3845,7 @@ typedef enum _CONFIGURATION_TYPE {
 #define IO_ATTACH_DEVICE                0x0400
 #define IO_IGNORE_SHARE_ACCESS_CHECK    0x0800
 
-typedef
-NTSTATUS
+typedef NTSTATUS
 (NTAPI *PIO_QUERY_DEVICE_ROUTINE)(
   IN PVOID Context,
   IN PUNICODE_STRING PathName,
@@ -4213,7 +4212,7 @@ typedef struct PCI_AGP_EXTENDED_CAPABILITY {
 typedef struct _PCIX_BRIDGE_CAPABILITY {
   PCI_CAPABILITIES_HEADER Header;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       USHORT Bus64Bit:1;
       USHORT Bus133MHzCapable:1;
       USHORT SplitCompletionDiscarded:1;
@@ -4229,7 +4228,7 @@ typedef struct _PCIX_BRIDGE_CAPABILITY {
   USHORT AsUSHORT;
   } SecondaryStatus;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG FunctionNumber:3;
       ULONG DeviceNumber:5;
       ULONG BusNumber:8;
@@ -4251,7 +4250,7 @@ typedef struct _PCIX_BRIDGE_CAPABILITY {
   USHORT DownstreamSplitTransactionCapacity;
   USHORT DownstreamSplitTransactionLimit;
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG SelectSecondaryRegisters:1;
       ULONG ErrorPresentInOtherBank:1;
       ULONG AdditionalCorrectableError:1;
@@ -4290,7 +4289,7 @@ typedef struct _PCI_SUBSYSTEM_IDS_CAPABILITY {
 
 typedef struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD {
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG ExtendedConfigOpRegions:1;
       ULONG ActiveStatePowerManagement:1;
       ULONG ClockPowerManagement:1;
@@ -4305,7 +4304,7 @@ typedef struct _PCI_ROOT_BUS_OSC_SUPPORT_FIELD {
 
 typedef struct _PCI_ROOT_BUS_OSC_CONTROL_FIELD {
   union {
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG ExpressNativeHotPlug:1;
       ULONG ShpcNativeHotPlug:1;
       ULONG ExpressNativePME:1;
@@ -4331,7 +4330,7 @@ typedef enum {
 
 typedef struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY {
   PCI_HARDWARE_INTERFACE SecondaryInterface;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     BOOLEAN BusCapabilitiesFound;
     ULONG CurrentSpeedAndMode;
     ULONG SupportedSpeedsAndModes;
@@ -4344,7 +4343,7 @@ typedef struct _PCI_ROOT_BUS_HARDWARE_CAPABILITY {
 } PCI_ROOT_BUS_HARDWARE_CAPABILITY, *PPCI_ROOT_BUS_HARDWARE_CAPABILITY;
 
 typedef union _PCI_EXPRESS_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CapabilityVersion:4;
     USHORT DeviceType:4;
     USHORT SlotImplemented:1;
@@ -4355,7 +4354,7 @@ typedef union _PCI_EXPRESS_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_CAPABILITIES_REGISTER, *PPCI_EXPRESS_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG MaxPayloadSizeSupported:3;
     ULONG PhantomFunctionsSupported:2;
     ULONG ExtendedTagSupported:1;
@@ -4374,7 +4373,7 @@ typedef union _PCI_EXPRESS_DEVICE_CAPABILITIES_REGISTER {
 #define PCI_EXPRESS_AER_DEVICE_CONTROL_MASK 0x07;
 
 typedef union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableErrorEnable:1;
     USHORT NonFatalErrorEnable:1;
     USHORT FatalErrorEnable:1;
@@ -4394,7 +4393,7 @@ typedef union _PCI_EXPRESS_DEVICE_CONTROL_REGISTER {
 #define PCI_EXPRESS_AER_DEVICE_STATUS_MASK 0x0F;
 
 typedef union _PCI_EXPRESS_DEVICE_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableErrorDetected:1;
     USHORT NonFatalErrorDetected:1;
     USHORT FatalErrorDetected:1;
@@ -4407,7 +4406,7 @@ typedef union _PCI_EXPRESS_DEVICE_STATUS_REGISTER {
 } PCI_EXPRESS_DEVICE_STATUS_REGISTER, *PPCI_EXPRESS_DEVICE_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG MaximumLinkSpeed:4;
     ULONG MaximumLinkWidth:6;
     ULONG ActiveStatePMSupport:2;
@@ -4423,7 +4422,7 @@ typedef union _PCI_EXPRESS_LINK_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_LINK_CAPABILITIES_REGISTER, *PPCI_EXPRESS_LINK_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT ActiveStatePMControl:2;
     USHORT Rsvd1:1;
     USHORT ReadCompletionBoundary:1;
@@ -4438,7 +4437,7 @@ typedef union _PCI_EXPRESS_LINK_CONTROL_REGISTER {
 } PCI_EXPRESS_LINK_CONTROL_REGISTER, *PPCI_EXPRESS_LINK_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_LINK_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT LinkSpeed:4;
     USHORT LinkWidth:6;
     USHORT Undefined:1;
@@ -4451,7 +4450,7 @@ typedef union _PCI_EXPRESS_LINK_STATUS_REGISTER {
 } PCI_EXPRESS_LINK_STATUS_REGISTER, *PPCI_EXPRESS_LINK_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG AttentionButtonPresent:1;
     ULONG PowerControllerPresent:1;
     ULONG MRLSensorPresent:1;
@@ -4469,7 +4468,7 @@ typedef union _PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_SLOT_CAPABILITIES_REGISTER, *PPCI_EXPRESS_SLOT_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT AttentionButtonEnable:1;
     USHORT PowerFaultDetectEnable:1;
     USHORT MRLSensorEnable:1;
@@ -4487,7 +4486,7 @@ typedef union _PCI_EXPRESS_SLOT_CONTROL_REGISTER {
 } PCI_EXPRESS_SLOT_CONTROL_REGISTER, *PPCI_EXPRESS_SLOT_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_SLOT_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT AttentionButtonPressed:1;
     USHORT PowerFaultDetected:1;
     USHORT MRLSensorChanged:1;
@@ -4503,7 +4502,7 @@ typedef union _PCI_EXPRESS_SLOT_STATUS_REGISTER {
 } PCI_EXPRESS_SLOT_STATUS_REGISTER, *PPCI_EXPRESS_SLOT_STATUS_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_CONTROL_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CorrectableSerrEnable:1;
     USHORT NonFatalSerrEnable:1;
     USHORT FatalSerrEnable:1;
@@ -4515,7 +4514,7 @@ typedef union _PCI_EXPRESS_ROOT_CONTROL_REGISTER {
 } PCI_EXPRESS_ROOT_CONTROL_REGISTER, *PPCI_EXPRESS_ROOT_CONTROL_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT CRSSoftwareVisibility:1;
     USHORT Rsvd:15;
   } DUMMYSTRUCTNAME;
@@ -4523,7 +4522,7 @@ typedef union _PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER {
 } PCI_EXPRESS_ROOT_CAPABILITIES_REGISTER, *PPCI_EXPRESS_ROOT_CAPABILITIES_REGISTER;
 
 typedef union _PCI_EXPRESS_ROOT_STATUS_REGISTER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG PMERequestorId:16;
     ULONG PMEStatus:1;
     ULONG PMEPending:1;
@@ -4626,7 +4625,7 @@ typedef enum {
 } PCI_EXPRESS_MAX_PAYLOAD_SIZE;
 
 typedef union _PCI_EXPRESS_PME_REQUESTOR_ID {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     USHORT FunctionNumber:3;
     USHORT DeviceNumber:5;
     USHORT BusNumber:8;
@@ -4753,8 +4752,8 @@ typedef struct _PCI_BUS_INTERFACE_STANDARD {
 #define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX     0x00004000
 #define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX    0x00008000
 #define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK_EX \
-    (FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX | \
-     FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX)
+  (FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_EX | \
+   FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_EX)
 
 #define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL_DEPRECATED 0x00000200
 #define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL_DEPRECATED 0x00000300
@@ -4772,11 +4771,11 @@ typedef struct _PCI_BUS_INTERFACE_STANDARD {
 
 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
 
-#define FILE_CHARACTERISTICS_PROPAGATED (   FILE_REMOVABLE_MEDIA   | \
-                                            FILE_READ_ONLY_DEVICE  | \
-                                            FILE_FLOPPY_DISKETTE   | \
-                                            FILE_WRITE_ONCE_MEDIA  | \
-                                            FILE_DEVICE_SECURE_OPEN  )
+#define FILE_CHARACTERISTICS_PROPAGATED (FILE_REMOVABLE_MEDIA  | \
+                                         FILE_READ_ONLY_DEVICE | \
+                                         FILE_FLOPPY_DISKETTE  | \
+                                         FILE_WRITE_ONCE_MEDIA | \
+                                         FILE_DEVICE_SECURE_OPEN)
 
 typedef struct _FILE_ALIGNMENT_INFORMATION {
   ULONG AlignmentRequirement;
@@ -4900,8 +4899,8 @@ $if (_NTIFS_)
 #define FILE_ACTION_TUNNELLED_ID_COLLISION  0x0000000B
 /* end  winnt.h */
 
-#define FILE_PIPE_BYTE_STREAM_TYPE      0x00000000
-#define FILE_PIPE_MESSAGE_TYPE          0x00000001
+#define FILE_PIPE_BYTE_STREAM_TYPE          0x00000000
+#define FILE_PIPE_MESSAGE_TYPE              0x00000001
 
 #define FILE_PIPE_ACCEPT_REMOTE_CLIENTS     0x00000000
 #define FILE_PIPE_REJECT_REMOTE_CLIENTS     0x00000002
@@ -4910,44 +4909,44 @@ $if (_NTIFS_)
 #define FILE_PIPE_REJECT_REMOTE_CLIENTS     0x00000002
 #define FILE_PIPE_TYPE_VALID_MASK           0x00000003
 
-#define FILE_PIPE_BYTE_STREAM_MODE      0x00000000
-#define FILE_PIPE_MESSAGE_MODE          0x00000001
-
-#define FILE_PIPE_QUEUE_OPERATION       0x00000000
-#define FILE_PIPE_COMPLETE_OPERATION    0x00000001
-
-#define FILE_PIPE_INBOUND               0x00000000
-#define FILE_PIPE_OUTBOUND              0x00000001
-#define FILE_PIPE_FULL_DUPLEX           0x00000002
-
-#define FILE_PIPE_DISCONNECTED_STATE    0x00000001
-#define FILE_PIPE_LISTENING_STATE       0x00000002
-#define FILE_PIPE_CONNECTED_STATE       0x00000003
-#define FILE_PIPE_CLOSING_STATE         0x00000004
-
-#define FILE_PIPE_CLIENT_END            0x00000000
-#define FILE_PIPE_SERVER_END            0x00000001
-
-#define FILE_CASE_SENSITIVE_SEARCH        0x00000001
-#define FILE_CASE_PRESERVED_NAMES         0x00000002
-#define FILE_UNICODE_ON_DISK              0x00000004
-#define FILE_PERSISTENT_ACLS              0x00000008
-#define FILE_FILE_COMPRESSION             0x00000010
-#define FILE_VOLUME_QUOTAS                0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES        0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS      0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE      0x00000100
-#define FILE_VOLUME_IS_COMPRESSED         0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS          0x00010000
-#define FILE_SUPPORTS_ENCRYPTION          0x00020000
-#define FILE_NAMED_STREAMS                0x00040000
-#define FILE_READ_ONLY_VOLUME             0x00080000
-#define FILE_SEQUENTIAL_WRITE_ONCE        0x00100000
-#define FILE_SUPPORTS_TRANSACTIONS        0x00200000
-#define FILE_SUPPORTS_HARD_LINKS          0x00400000
-#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
-#define FILE_SUPPORTS_OPEN_BY_FILE_ID     0x01000000
-#define FILE_SUPPORTS_USN_JOURNAL         0x02000000
+#define FILE_PIPE_BYTE_STREAM_MODE          0x00000000
+#define FILE_PIPE_MESSAGE_MODE              0x00000001
+
+#define FILE_PIPE_QUEUE_OPERATION           0x00000000
+#define FILE_PIPE_COMPLETE_OPERATION        0x00000001
+
+#define FILE_PIPE_INBOUND                   0x00000000
+#define FILE_PIPE_OUTBOUND                  0x00000001
+#define FILE_PIPE_FULL_DUPLEX               0x00000002
+
+#define FILE_PIPE_DISCONNECTED_STATE        0x00000001
+#define FILE_PIPE_LISTENING_STATE           0x00000002
+#define FILE_PIPE_CONNECTED_STATE           0x00000003
+#define FILE_PIPE_CLOSING_STATE             0x00000004
+
+#define FILE_PIPE_CLIENT_END                0x00000000
+#define FILE_PIPE_SERVER_END                0x00000001
+
+#define FILE_CASE_SENSITIVE_SEARCH          0x00000001
+#define FILE_CASE_PRESERVED_NAMES           0x00000002
+#define FILE_UNICODE_ON_DISK                0x00000004
+#define FILE_PERSISTENT_ACLS                0x00000008
+#define FILE_FILE_COMPRESSION               0x00000010
+#define FILE_VOLUME_QUOTAS                  0x00000020
+#define FILE_SUPPORTS_SPARSE_FILES          0x00000040
+#define FILE_SUPPORTS_REPARSE_POINTS        0x00000080
+#define FILE_SUPPORTS_REMOTE_STORAGE        0x00000100
+#define FILE_VOLUME_IS_COMPRESSED           0x00008000
+#define FILE_SUPPORTS_OBJECT_IDS            0x00010000
+#define FILE_SUPPORTS_ENCRYPTION            0x00020000
+#define FILE_NAMED_STREAMS                  0x00040000
+#define FILE_READ_ONLY_VOLUME               0x00080000
+#define FILE_SEQUENTIAL_WRITE_ONCE          0x00100000
+#define FILE_SUPPORTS_TRANSACTIONS          0x00200000
+#define FILE_SUPPORTS_HARD_LINKS            0x00400000
+#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES   0x00800000
+#define FILE_SUPPORTS_OPEN_BY_FILE_ID       0x01000000
+#define FILE_SUPPORTS_USN_JOURNAL           0x02000000
 
 #define FILE_NEED_EA                    0x00000080
 
@@ -5081,11 +5080,11 @@ typedef struct _FILE_OBJECTID_INFORMATION {
   LONGLONG FileReference;
   UCHAR ObjectId[16];
   _ANONYMOUS_UNION union {
-    __GNU_EXTENSION struct {
+    _ANONYMOUS_STRUCT struct {
       UCHAR BirthVolumeId[16];
       UCHAR BirthObjectId[16];
       UCHAR DomainId[16];
-    };
+    } DUMMYSTRUCTNAME;
     UCHAR ExtendedInfo[48];
   } DUMMYUNIONNAME;
 } FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
@@ -5716,8 +5715,8 @@ typedef struct _FILE_PREFETCH_EX {
 
 typedef struct _FILE_OBJECTID_BUFFER {
   UCHAR ObjectId[16];
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       UCHAR BirthVolumeId[16];
       UCHAR BirthObjectId[16];
       UCHAR DomainId[16];
@@ -5805,7 +5804,7 @@ typedef struct _FILE_MAKE_COMPATIBLE_BUFFER {
 } FILE_MAKE_COMPATIBLE_BUFFER, *PFILE_MAKE_COMPATIBLE_BUFFER;
 
 typedef struct _FILE_SET_DEFECT_MGMT_BUFFER {
-    BOOLEAN Disable;
+  BOOLEAN Disable;
 } FILE_SET_DEFECT_MGMT_BUFFER, *PFILE_SET_DEFECT_MGMT_BUFFER;
 
 typedef struct _FILE_QUERY_SPARING_BUFFER {
@@ -5874,24 +5873,23 @@ typedef struct _SHRINK_VOLUME_INFORMATION {
 #define TXFS_TRANSACTION_STATE_PREPARED     0x02
 #define TXFS_TRANSACTION_STATE_NOTACTIVE    0x03
 
-#define TXFS_MODIFY_RM_VALID_FLAGS                                      \
-                (TXFS_RM_FLAG_LOGGING_MODE                          |   \
-                 TXFS_RM_FLAG_RENAME_RM                             |   \
-                 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX               |   \
-                 TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN               |   \
-                 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS   |   \
-                 TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT          |   \
-                 TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE            |   \
-                 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX            |   \
-                 TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN            |   \
-                 TXFS_RM_FLAG_SHRINK_LOG                            |   \
-                 TXFS_RM_FLAG_GROW_LOG                              |   \
-                 TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE                  |   \
-                 TXFS_RM_FLAG_PRESERVE_CHANGES                      |   \
-                 TXFS_RM_FLAG_RESET_RM_AT_NEXT_START                |   \
-                 TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START         |   \
-                 TXFS_RM_FLAG_PREFER_CONSISTENCY                    |   \
-                 TXFS_RM_FLAG_PREFER_AVAILABILITY)
+#define TXFS_MODIFY_RM_VALID_FLAGS (TXFS_RM_FLAG_LOGGING_MODE                        | \
+                                    TXFS_RM_FLAG_RENAME_RM                           | \
+                                    TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX             | \
+                                    TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN             | \
+                                    TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \
+                                    TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT        | \
+                                    TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE          | \
+                                    TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX          | \
+                                    TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN          | \
+                                    TXFS_RM_FLAG_SHRINK_LOG                          | \
+                                    TXFS_RM_FLAG_GROW_LOG                            | \
+                                    TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE                | \
+                                    TXFS_RM_FLAG_PRESERVE_CHANGES                    | \
+                                    TXFS_RM_FLAG_RESET_RM_AT_NEXT_START              | \
+                                    TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START       | \
+                                    TXFS_RM_FLAG_PREFER_CONSISTENCY                  | \
+                                    TXFS_RM_FLAG_PREFER_AVAILABILITY)
 
 typedef struct _TXFS_MODIFY_RM {
   ULONG Flags;
@@ -6051,7 +6049,7 @@ typedef struct _TXFS_LIST_TRANSACTIONS {
 } TXFS_LIST_TRANSACTIONS, *PTXFS_LIST_TRANSACTIONS;
 
 typedef struct _TXFS_READ_BACKUP_INFORMATION_OUT {
-  union {
+  _ANONYMOUS_UNION union {
     ULONG BufferLength;
     UCHAR Buffer[1];
   } DUMMYUNIONNAME;
@@ -6180,17 +6178,17 @@ typedef struct _SD_CHANGE_MACHINE_SID_OUTPUT {
 typedef struct _SD_GLOBAL_CHANGE_INPUT {
   ULONG Flags;
   ULONG ChangeType;
-  union {
+  _ANONYMOUS_UNION union {
     SD_CHANGE_MACHINE_SID_INPUT SdChange;
-  };
+  } DUMMYUNIONNAME;
 } SD_GLOBAL_CHANGE_INPUT, *PSD_GLOBAL_CHANGE_INPUT;
 
 typedef struct _SD_GLOBAL_CHANGE_OUTPUT {
   ULONG Flags;
   ULONG ChangeType;
-  union {
+  _ANONYMOUS_UNION union {
     SD_CHANGE_MACHINE_SID_OUTPUT SdChange;
-  };
+  } DUMMYUNIONNAME;
 } SD_GLOBAL_CHANGE_OUTPUT, *PSD_GLOBAL_CHANGE_OUTPUT;
 
 #define ENCRYPTED_DATA_INFO_SPARSE_FILE    1
@@ -6241,15 +6239,15 @@ typedef struct _FILE_TYPE_NOTIFICATION_INPUT {
 #define FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN     0x00000001
 #define FILE_TYPE_NOTIFICATION_FLAG_USAGE_END       0x00000002
 
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE,         0x0d0a64a1, 0x38fc, 0x4db8, 0x9f, 0xe7, 0x3f, 0x43, 0x52, 0xcd, 0x7c, 0x5c );
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE,  0xb7624d64, 0xb9a3, 0x4cf8, 0x80, 0x11, 0x5b, 0x86, 0xc9, 0x40, 0xe7, 0xb7 );
-DEFINE_GUID( FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE,    0x9d453eb7, 0xd2a6, 0x4dbd, 0xa2, 0xe3, 0xfb, 0xd0, 0xed, 0x91, 0x09, 0xa9 );
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE,         0x0d0a64a1, 0x38fc, 0x4db8, 0x9f, 0xe7, 0x3f, 0x43, 0x52, 0xcd, 0x7c, 0x5c);
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE,  0xb7624d64, 0xb9a3, 0x4cf8, 0x80, 0x11, 0x5b, 0x86, 0xc9, 0x40, 0xe7, 0xb7);
+DEFINE_GUID(FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE,    0x9d453eb7, 0xd2a6, 0x4dbd, 0xa2, 0xe3, 0xfb, 0xd0, 0xed, 0x91, 0x09, 0xa9);
 
 #ifndef _VIRTUAL_STORAGE_TYPE_DEFINED
 #define _VIRTUAL_STORAGE_TYPE_DEFINED
 typedef struct _VIRTUAL_STORAGE_TYPE {
   ULONG DeviceId;
-  GUID  VendorId;
+  GUID VendorId;
 } VIRTUAL_STORAGE_TYPE, *PVIRTUAL_STORAGE_TYPE;
 #endif
 
@@ -6287,10 +6285,10 @@ typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY {
 typedef struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE {
   ULONG ResponseLevel;
   ULONG NumberEntries;
-  union {
+  _ANONYMOUS_UNION union {
     STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY Lev1Depends[];
     STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY Lev2Depends[];
-  };
+  } DUMMYUNIONNAME;
 } STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE, *PSTORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE;
 
 #endif /* (_WIN32_WINNT >= 0x0601) */
@@ -6419,7 +6417,7 @@ typedef struct _NTFS_STATISTICS {
   } Allocate;
 } NTFS_STATISTICS, *PNTFS_STATISTICS;
 
-#endif // _FILESYSTEMFSCTL_
+#endif /* _FILESYSTEMFSCTL_ */
 
 #define SYMLINK_FLAG_RELATIVE   1
 
@@ -6427,7 +6425,7 @@ typedef struct _REPARSE_DATA_BUFFER {
   ULONG ReparseTag;
   USHORT ReparseDataLength;
   USHORT Reserved;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     struct {
       USHORT SubstituteNameOffset;
       USHORT SubstituteNameLength;
@@ -6446,7 +6444,7 @@ typedef struct _REPARSE_DATA_BUFFER {
     struct {
       UCHAR DataBuffer[1];
     } GenericReparseBuffer;
-  };
+  } DUMMYUNIONNAME;
 } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
 
 #define REPARSE_DATA_BUFFER_HEADER_SIZE   FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
@@ -6470,15 +6468,15 @@ typedef struct _REPARSE_GUID_DATA_BUFFER {
 #define IO_REPARSE_TAG_RESERVED_ONE             (1)
 #define IO_REPARSE_TAG_RESERVED_RANGE           IO_REPARSE_TAG_RESERVED_ONE
 
-#define IsReparseTagMicrosoft(_tag) (((_tag) & 0x80000000))
-#define IsReparseTagNameSurrogate(_tag) (((_tag) & 0x20000000))
+#define IsReparseTagMicrosoft(_tag)             (((_tag) & 0x80000000))
+#define IsReparseTagNameSurrogate(_tag)         (((_tag) & 0x20000000))
 
-#define IO_REPARSE_TAG_VALID_VALUES     (0xF000FFFF)
+#define IO_REPARSE_TAG_VALID_VALUES             (0xF000FFFF)
 
 #define IsReparseTagValid(tag) (                               \
                   !((tag) & ~IO_REPARSE_TAG_VALID_VALUES) &&   \
                   ((tag) > IO_REPARSE_TAG_RESERVED_RANGE)      \
-                 )
+                )
 
 /* MicroSoft reparse point tags */
 #define IO_REPARSE_TAG_MOUNT_POINT              (0xA0000003L)
@@ -6505,16 +6503,16 @@ typedef struct _REPARSE_INDEX_KEY {
 #define FSCTL_LMR_SET_LINK_TRACKING_INFORMATION   CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,59,METHOD_BUFFERED,FILE_ANY_ACCESS)
 #define IOCTL_LMR_ARE_FILE_OBJECTS_ON_SAME_SERVER CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM,60,METHOD_BUFFERED,FILE_ANY_ACCESS)
 
-#define FSCTL_PIPE_ASSIGN_EVENT         CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_DISCONNECT           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_LISTEN               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_PEEK                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_QUERY_EVENT          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_TRANSCEIVE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_WAIT                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_IMPERSONATE          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_SET_CLIENT_PROCESS   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_ASSIGN_EVENT             CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_DISCONNECT               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_LISTEN                   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_PEEK                     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_QUERY_EVENT              CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_TRANSCEIVE               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)
+#define FSCTL_PIPE_WAIT                     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_IMPERSONATE              CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_SET_CLIENT_PROCESS       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
+#define FSCTL_PIPE_QUERY_CLIENT_PROCESS     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_GET_PIPE_ATTRIBUTE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_SET_PIPE_ATTRIBUTE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
@@ -6523,13 +6521,13 @@ typedef struct _REPARSE_INDEX_KEY {
 #define FSCTL_PIPE_SET_HANDLE_ATTRIBUTE     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #define FSCTL_PIPE_FLUSH                    CTL_CODE(FILE_DEVICE_NAMED_PIPE, 16, METHOD_BUFFERED, FILE_WRITE_DATA)
 
-#define FSCTL_PIPE_INTERNAL_READ        CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_INTERNAL_WRITE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_TRANSCEIVE  CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_INTERNAL_READ            CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
+#define FSCTL_PIPE_INTERNAL_WRITE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
+#define FSCTL_PIPE_INTERNAL_TRANSCEIVE      CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
+#define FSCTL_PIPE_INTERNAL_READ_OVFLOW     CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
 
-#define FILE_PIPE_READ_DATA             0x00000000
-#define FILE_PIPE_WRITE_SPACE           0x00000001
+#define FILE_PIPE_READ_DATA                 0x00000000
+#define FILE_PIPE_WRITE_SPACE               0x00000001
 
 typedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {
   HANDLE EventHandle;
@@ -6601,10 +6599,10 @@ typedef struct _REMOTE_LINK_TRACKING_INFORMATION {
   UCHAR TargetLinkTrackingInformationBuffer[1];
 } REMOTE_LINK_TRACKING_INFORMATION, *PREMOTE_LINK_TRACKING_INFORMATION;
 
-#define IO_OPEN_PAGING_FILE             0x0002
-#define IO_OPEN_TARGET_DIRECTORY        0x0004
-#define IO_STOP_ON_SYMLINK              0x0008
-#define IO_MM_PAGING_FILE               0x0010
+#define IO_OPEN_PAGING_FILE                 0x0002
+#define IO_OPEN_TARGET_DIRECTORY            0x0004
+#define IO_STOP_ON_SYMLINK                  0x0008
+#define IO_MM_PAGING_FILE                   0x0010
 
 typedef VOID
 (NTAPI *PDRIVER_FS_NOTIFICATION) (
index a4bb363..ff80f32 100644 (file)
@@ -57,7 +57,7 @@ typedef struct _CACHE_DESCRIPTOR {
 typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
   ULONG_PTR ProcessorMask;
   LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
-  union {
+  _ANONYMOUS_UNION union {
     struct {
       UCHAR Flags;
     } ProcessorCore;
@@ -65,7 +65,7 @@ typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
       ULONG NodeNumber;
     } NumaNode;
     CACHE_DESCRIPTOR Cache;
-    ULONGLONG  Reserved[2];
+    ULONGLONG Reserved[2];
   } DUMMYUNIONNAME;
 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
 
@@ -109,7 +109,7 @@ typedef struct _GROUP_RELATIONSHIP {
 typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
   LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
   ULONG Size;
-  union {
+  _ANONYMOUS_UNION union {
     PROCESSOR_RELATIONSHIP Processor;
     NUMA_NODE_RELATIONSHIP NumaNode;
     CACHE_RELATIONSHIP Cache;
@@ -679,13 +679,13 @@ typedef struct _KDEVICE_QUEUE {
   LIST_ENTRY DeviceListHead;
   KSPIN_LOCK Lock;
   #if defined(_AMD64_)
-  union {
+  _ANONYMOUS_UNION union {
     BOOLEAN Busy;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       LONG64 Reserved:8;
       LONG64 Hint:56;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   #else
   BOOLEAN Busy;
   #endif
@@ -785,13 +785,13 @@ typedef struct _KGUARDED_MUTEX {
   PKTHREAD Owner;
   ULONG Contention;
   KGATE Gate;
-  __GNU_EXTENSION union {
-    __GNU_EXTENSION struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       SHORT KernelApcDisable;
       SHORT SpecialApcDisable;
-    };
+    } DUMMYSTRUCTNAME;
     ULONG CombinedApcDisable;
-  };
+  } DUMMYUNIONNAME;
 } KGUARDED_MUTEX, *PKGUARDED_MUTEX;
 
 typedef struct _KMUTANT {
@@ -942,8 +942,8 @@ typedef struct _XSTATE_SAVE {
 #elif defined(_IA64_)
   ULONG Dummy;
 #elif defined(_X86_)
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       LONG64 Reserved1;
       ULONG Reserved2;
       struct _XSTATE_SAVE* Prev;
@@ -951,9 +951,9 @@ typedef struct _XSTATE_SAVE {
       struct _KTHREAD* Thread;
       PVOID Reserved4;
       UCHAR Level;
-    };
+    } DUMMYSTRUCTNAME;
     XSTATE_CONTEXT XStateContext;
-  };
+  } DUMMYUNIONNAME;
 #endif
 } XSTATE_SAVE, *PXSTATE_SAVE;
 
@@ -1094,9 +1094,9 @@ typedef struct _KUSER_SHARED_DATA {
   ULONG NumberOfPhysicalPages;
   BOOLEAN SafeBootMode;
 #if (NTDDI_VERSION >= NTDDI_WIN7)
-  union {
+  _ANONYMOUS_UNION union {
     UCHAR TscQpcData;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       UCHAR TscQpcEnabled:1;
       UCHAR TscQpcSpareFlag:1;
       UCHAR TscQpcShift:6;
@@ -1105,9 +1105,9 @@ typedef struct _KUSER_SHARED_DATA {
   UCHAR TscQpcPad[2];
 #endif
 #if (NTDDI_VERSION >= NTDDI_VISTA)
-  union {
+  _ANONYMOUS_UNION union {
     ULONG SharedDataFlags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG DbgErrorPortPresent:1;
       ULONG DbgElevationEnabled:1;
       ULONG DbgVirtEnabled:1;
index 82dc4f5..e7b248c 100644 (file)
@@ -32,16 +32,15 @@ typedef ULONG NODE_REQUIREMENT;
 #define MDL_ALLOCATED_MUST_SUCCEED  0x4000
 #define MDL_INTERNAL                0x8000
 
-#define MDL_MAPPING_FLAGS ( \
-  MDL_MAPPED_TO_SYSTEM_VA     | \
-  MDL_PAGES_LOCKED            | \
-  MDL_SOURCE_IS_NONPAGED_POOL | \
-  MDL_PARTIAL_HAS_BEEN_MAPPED | \
-  MDL_PARENT_MAPPED_SYSTEM_VA | \
-  MDL_SYSTEM_VA               | \
-  MDL_IO_SPACE)
+#define MDL_MAPPING_FLAGS (MDL_MAPPED_TO_SYSTEM_VA     | \
+                           MDL_PAGES_LOCKED            | \
+                           MDL_SOURCE_IS_NONPAGED_POOL | \
+                           MDL_PARTIAL_HAS_BEEN_MAPPED | \
+                           MDL_PARENT_MAPPED_SYSTEM_VA | \
+                           MDL_SYSTEM_VA               | \
+                           MDL_IO_SPACE)
 
-#define FLUSH_MULTIPLE_MAXIMUM 32
+#define FLUSH_MULTIPLE_MAXIMUM       32
 
 /* Section access rights */
 #define SECTION_QUERY                0x0001
@@ -51,17 +50,17 @@ typedef ULONG NODE_REQUIREMENT;
 #define SECTION_EXTEND_SIZE          0x0010
 #define SECTION_MAP_EXECUTE_EXPLICIT 0x0020
 
-#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\
-                            SECTION_MAP_WRITE |      \
-                            SECTION_MAP_READ |       \
-                            SECTION_MAP_EXECUTE |    \
+#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| \
+                            SECTION_MAP_WRITE |                     \
+                            SECTION_MAP_READ |                      \
+                            SECTION_MAP_EXECUTE |                   \
                             SECTION_EXTEND_SIZE)
 
-#define SESSION_QUERY_ACCESS  0x0001
-#define SESSION_MODIFY_ACCESS 0x0002
+#define SESSION_QUERY_ACCESS         0x0001
+#define SESSION_MODIFY_ACCESS        0x0002
 
 #define SESSION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |  \
-                            SESSION_QUERY_ACCESS |             \
+                            SESSION_QUERY_ACCESS     |  \
                             SESSION_MODIFY_ACCESS)
 
 #define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS
@@ -231,17 +230,17 @@ typedef union _MM_PREFETCH_FLAGS {
 #define HEAP_TAG_SHIFT                  18
 #define HEAP_TAG_MASK                  (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT)
 
-#define HEAP_CREATE_VALID_MASK         (HEAP_NO_SERIALIZE |             \
-                                        HEAP_GROWABLE |                 \
-                                        HEAP_GENERATE_EXCEPTIONS |      \
-                                        HEAP_ZERO_MEMORY |              \
-                                        HEAP_REALLOC_IN_PLACE_ONLY    \
-                                        HEAP_TAIL_CHECKING_ENABLED    \
-                                        HEAP_FREE_CHECKING_ENABLED    \
-                                        HEAP_DISABLE_COALESCE_ON_FREE | \
-                                        HEAP_CLASS_MASK |               \
-                                        HEAP_CREATE_ALIGN_16 |          \
-                                        HEAP_CREATE_ENABLE_TRACING    \
+#define HEAP_CREATE_VALID_MASK         (HEAP_NO_SERIALIZE             |   \
+                                        HEAP_GROWABLE                 |   \
+                                        HEAP_GENERATE_EXCEPTIONS      |   \
+                                        HEAP_ZERO_MEMORY              |   \
+                                        HEAP_REALLOC_IN_PLACE_ONLY    |   \
+                                        HEAP_TAIL_CHECKING_ENABLED    |   \
+                                        HEAP_FREE_CHECKING_ENABLED    |   \
+                                        HEAP_DISABLE_COALESCE_ON_FREE |   \
+                                        HEAP_CLASS_MASK               |   \
+                                        HEAP_CREATE_ALIGN_16          |   \
+                                        HEAP_CREATE_ENABLE_TRACING    |   \
                                         HEAP_CREATE_ENABLE_EXECUTE)
 $endif (_NTIFS_)
 
index 2d038a1..90d8a1a 100644 (file)
@@ -133,9 +133,9 @@ $include (zwfuncs.h)
 
 /* UNSORTED */
 
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
-        ((ConditionMask) = VerSetConditionMask((ConditionMask), \
-        (TypeBitMask), (ComparisonType)))
+#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
+  ((ConditionMask) = VerSetConditionMask((ConditionMask),             \
+  (TypeBitMask), (ComparisonType)))
 
 #if (NTDDI_VERSION >= NTDDI_WIN2K)
 NTSYSAPI
@@ -206,28 +206,28 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
 
 #define SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V  0x3
 #define SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED    \
-    (1UL << SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_INSTALLER_DETECT_ENABLED_V)
 
 #define SHARED_GLOBAL_FLAGS_SPARE_V                     0x4
 #define SHARED_GLOBAL_FLAGS_SPARE                       \
-    (1UL << SHARED_GLOBAL_FLAGS_SPARE_V)
+  (1UL << SHARED_GLOBAL_FLAGS_SPARE_V)
 
 #define SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V      0x5
 #define SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED        \
-    (1UL << SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_DYNAMIC_PROC_ENABLED_V)
 
 #define SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V    0x6
 #define SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED        \
-    (1UL << SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V)
+  (1UL << SHARED_GLOBAL_FLAGS_SEH_VALIDATION_ENABLED_V)
 
 #define EX_INIT_BITS(Flags, Bit) \
-    *((Flags)) |= (Bit)             // Safe to use before concurrently accessible
+  *((Flags)) |= (Bit)             // Safe to use before concurrently accessible
 
 #define EX_TEST_SET_BIT(Flags, Bit) \
-    InterlockedBitTestAndSet ((PLONG)(Flags), (Bit))
+  InterlockedBitTestAndSet ((PLONG)(Flags), (Bit))
 
 #define EX_TEST_CLEAR_BIT(Flags, Bit) \
-    InterlockedBitTestAndReset ((PLONG)(Flags), (Bit))
+  InterlockedBitTestAndReset ((PLONG)(Flags), (Bit))
 
 #define PCCARD_MAP_ERROR               0x01
 #define PCCARD_DEVICE_PCI              0x10
@@ -252,8 +252,6 @@ FsRtlIsTotalDeviceFailure(
   IN NTSTATUS Status);
 #endif
 
-/* FIXME : These definitions below doesn't belong to NTDDK */
-
 #ifdef __cplusplus
 }
 #endif
index ddaecfc..d374331 100644 (file)
@@ -610,7 +610,7 @@ NtCreateSection(
 
 #define MAX_UNICODE_STACK_BUFFER_LENGTH 256
 
-#define METHOD_FROM_CTL_CODE(ctrlCode)          ((ULONG)(ctrlCode & 3))
+#define METHOD_FROM_CTL_CODE(ctrlCode)  ((ULONG)(ctrlCode & 3))
 
 #define METHOD_DIRECT_TO_HARDWARE       METHOD_IN_DIRECT
 #define METHOD_DIRECT_FROM_HARDWARE     METHOD_OUT_DIRECT
@@ -687,20 +687,20 @@ LsaFreeReturnBuffer(
 #define MSV1_0_SUBAUTHENTICATION_KEY "SYSTEM\\CurrentControlSet\\Control\\Lsa\\MSV1_0"
 #define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
 
-#define MSV1_0_CHALLENGE_LENGTH 8
-#define MSV1_0_USER_SESSION_KEY_LENGTH 16
-#define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8
-
-#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED    0x02
-#define MSV1_0_UPDATE_LOGON_STATISTICS       0x04
-#define MSV1_0_RETURN_USER_PARAMETERS        0x08
-#define MSV1_0_DONT_TRY_GUEST_ACCOUNT        0x10
-#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT    0x20
-#define MSV1_0_RETURN_PASSWORD_EXPIRY        0x40
-#define MSV1_0_USE_CLIENT_CHALLENGE          0x80
-#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY        0x100
-#define MSV1_0_RETURN_PROFILE_PATH           0x200
-#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY     0x400
+#define MSV1_0_CHALLENGE_LENGTH                8
+#define MSV1_0_USER_SESSION_KEY_LENGTH         16
+#define MSV1_0_LANMAN_SESSION_KEY_LENGTH       8
+
+#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED      0x02
+#define MSV1_0_UPDATE_LOGON_STATISTICS         0x04
+#define MSV1_0_RETURN_USER_PARAMETERS          0x08
+#define MSV1_0_DONT_TRY_GUEST_ACCOUNT          0x10
+#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT      0x20
+#define MSV1_0_RETURN_PASSWORD_EXPIRY          0x40
+#define MSV1_0_USE_CLIENT_CHALLENGE            0x80
+#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY          0x100
+#define MSV1_0_RETURN_PROFILE_PATH             0x200
+#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY       0x400
 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 0x800
 
 #define MSV1_0_DISABLE_PERSONAL_FALLBACK     0x00001000
@@ -1148,7 +1148,7 @@ typedef enum _NETWORK_OPEN_INTEGRITY_QUALIFIER {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
       NETWORK_OPEN_LOCATION_QUALIFIER Location;
       NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -1165,7 +1165,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT_V0 {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
     NETWORK_OPEN_LOCATION_QUALIFIER Location;
     NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -1181,7 +1181,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT_V0 {
 typedef struct _NETWORK_OPEN_ECP_CONTEXT {
   USHORT Size;
   USHORT Reserved;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     struct {
       NETWORK_OPEN_LOCATION_QUALIFIER Location;
       NETWORK_OPEN_INTEGRITY_QUALIFIER Integrity;
@@ -1194,7 +1194,7 @@ typedef struct _NETWORK_OPEN_ECP_CONTEXT {
 } NETWORK_OPEN_ECP_CONTEXT, *PNETWORK_OPEN_ECP_CONTEXT;
 #endif
 
-DEFINE_GUID(GUID_ECP_NETWORK_OPEN_CONTEXT, 0xc584edbf, 0x00df, 0x4d28, 0xb8, 0x84, 0x35, 0xba, 0xca, 0x89, 0x11, 0xe8 );
+DEFINE_GUID(GUID_ECP_NETWORK_OPEN_CONTEXT, 0xc584edbf, 0x00df, 0x4d28, 0xb8, 0x84, 0x35, 0xba, 0xca, 0x89, 0x11, 0xe8);
 
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
@@ -1205,14 +1205,14 @@ typedef struct _PREFETCH_OPEN_ECP_CONTEXT {
   PVOID Context;
 } PREFETCH_OPEN_ECP_CONTEXT, *PPREFETCH_OPEN_ECP_CONTEXT;
 
-DEFINE_GUID(GUID_ECP_PREFETCH_OPEN, 0xe1777b21, 0x847e, 0x4837, 0xaa, 0x45, 0x64, 0x16, 0x1d, 0x28, 0x6, 0x55 );
+DEFINE_GUID(GUID_ECP_PREFETCH_OPEN, 0xe1777b21, 0x847e, 0x4837, 0xaa, 0x45, 0x64, 0x16, 0x1d, 0x28, 0x6, 0x55);
 
 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
 
 #if (NTDDI_VERSION >= NTDDI_WIN7)
 
 DEFINE_GUID (GUID_ECP_NFS_OPEN, 0xf326d30c, 0xe5f8, 0x4fe7, 0xab, 0x74, 0xf5, 0xa3, 0x19, 0x6d, 0x92, 0xdb);
-DEFINE_GUID(GUID_ECP_SRV_OPEN, 0xbebfaebc, 0xaabf, 0x489d, 0x9d, 0x2c, 0xe9, 0xe3, 0x61, 0x10, 0x28, 0x53 );
+DEFINE_GUID (GUID_ECP_SRV_OPEN, 0xbebfaebc, 0xaabf, 0x489d, 0x9d, 0x2c, 0xe9, 0xe3, 0x61, 0x10, 0x28, 0x53);
 
 typedef struct sockaddr_storage *PSOCKADDR_STORAGE_NFS;
 
@@ -1238,9 +1238,9 @@ typedef struct _SRV_OPEN_ECP_CONTEXT {
 #define PIN_CALLER_TRACKS_DIRTY_DATA    (32)
 #define PIN_HIGH_PRIORITY               (64)
 
-#define MAP_WAIT                          1
-#define MAP_NO_READ                       (16)
-#define MAP_HIGH_PRIORITY                 (64)
+#define MAP_WAIT                        1
+#define MAP_NO_READ                     (16)
+#define MAP_HIGH_PRIORITY               (64)
 
 #define IOCTL_REDIR_QUERY_PATH          CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
 #define IOCTL_REDIR_QUERY_PATH_EX       CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 100, METHOD_NEITHER, FILE_ANY_ACCESS)
@@ -1279,7 +1279,7 @@ typedef struct _QUERY_PATH_RESPONSE {
 extern PACL                         SePublicDefaultDacl;
 extern PACL                         SeSystemDefaultDacl;
 
-#define FS_LFN_APIS                     0x00004000
+#define FS_LFN_APIS                             0x00004000
 
 #define FILE_STORAGE_TYPE_SPECIFIED             0x00000041  /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */
 #define FILE_STORAGE_TYPE_DEFAULT               (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)
@@ -1296,7 +1296,7 @@ extern PACL                         SeSystemDefaultDacl;
 #define FILE_STORAGE_TYPE_MASK                  0x000f0000
 #define FILE_STORAGE_TYPE_SHIFT                 16
 
-#define FILE_VC_QUOTAS_LOG_VIOLATIONS   0x00000004
+#define FILE_VC_QUOTAS_LOG_VIOLATIONS           0x00000004
 
 #ifdef _X86_
 #define HARDWARE_PTE    HARDWARE_PTE_X86
@@ -1345,7 +1345,7 @@ extern PACL                         SeSystemDefaultDacl;
 #define OB_TYPE_IO_COMPLETION           22
 #define OB_TYPE_FILE                    23
 
-#define SEC_BASED      0x00200000
+#define SEC_BASED 0x00200000
 
 /* end winnt.h */
 
index 84310a9..4efaed8 100644 (file)
@@ -3,16 +3,16 @@
  ******************************************************************************/
 
 #define MAXIMUM_FILENAME_LENGTH           256
-#define OBJ_NAME_PATH_SEPARATOR     ((WCHAR)L'\\')
+#define OBJ_NAME_PATH_SEPARATOR           ((WCHAR)L'\\')
 
-#define OBJECT_TYPE_CREATE 0x0001
-#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
+#define OBJECT_TYPE_CREATE                0x0001
+#define OBJECT_TYPE_ALL_ACCESS            (STANDARD_RIGHTS_REQUIRED | 0x1)
 
-#define DIRECTORY_QUERY 0x0001
-#define DIRECTORY_TRAVERSE 0x0002
-#define DIRECTORY_CREATE_OBJECT 0x0004
-#define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
-#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
+#define DIRECTORY_QUERY                   0x0001
+#define DIRECTORY_TRAVERSE                0x0002
+#define DIRECTORY_CREATE_OBJECT           0x0004
+#define DIRECTORY_CREATE_SUBDIRECTORY     0x0008
+#define DIRECTORY_ALL_ACCESS              (STANDARD_RIGHTS_REQUIRED | 0xF)
 
 #define SYMBOLIC_LINK_QUERY               0x0001
 #define SYMBOLIC_LINK_ALL_ACCESS          (STANDARD_RIGHTS_REQUIRED | 0x1)
 #define DUPLICATE_SAME_ACCESS             0x00000002
 #define DUPLICATE_SAME_ATTRIBUTES         0x00000004
 
-#define OB_FLT_REGISTRATION_VERSION_0100         0x0100
-#define OB_FLT_REGISTRATION_VERSION OB_FLT_REGISTRATION_VERSION_0100
+#define OB_FLT_REGISTRATION_VERSION_0100  0x0100
+#define OB_FLT_REGISTRATION_VERSION       OB_FLT_REGISTRATION_VERSION_0100
 
 typedef ULONG OB_OPERATION;
 
-#define OB_OPERATION_HANDLE_CREATE               0x00000001
-#define OB_OPERATION_HANDLE_DUPLICATE            0x00000002
+#define OB_OPERATION_HANDLE_CREATE        0x00000001
+#define OB_OPERATION_HANDLE_DUPLICATE     0x00000002
 
 typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
   IN OUT ACCESS_MASK DesiredAccess;
@@ -48,13 +48,13 @@ typedef union _OB_PRE_OPERATION_PARAMETERS {
 
 typedef struct _OB_PRE_OPERATION_INFORMATION {
   IN OB_OPERATION Operation;
-  union {
+  _ANONYMOUS_UNION union {
     IN ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       IN ULONG KernelHandle:1;
       IN ULONG Reserved:31;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN PVOID Object;
   IN POBJECT_TYPE ObjectType;
   OUT PVOID CallContext;
@@ -76,13 +76,13 @@ typedef union _OB_POST_OPERATION_PARAMETERS {
 
 typedef struct _OB_POST_OPERATION_INFORMATION {
   IN OB_OPERATION Operation;
-    union {
-      IN ULONG Flags;
-      struct {
-        IN ULONG KernelHandle:1;
-        IN ULONG Reserved:31;
-      };
-    };
+  _ANONYMOUS_UNION union {
+    IN ULONG Flags;
+    _ANONYMOUS_STRUCT struct {
+      IN ULONG KernelHandle:1;
+      IN ULONG Reserved:31;
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN PVOID Object;
   IN POBJECT_TYPE ObjectType;
   IN PVOID CallContext;
@@ -132,4 +132,3 @@ extern POBJECT_TYPE NTSYSAPI PsThreadType;
 extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
 extern POBJECT_TYPE NTSYSAPI PsProcessType;
 
-
index a5e9720..3344aaf 100644 (file)
@@ -121,8 +121,8 @@ typedef enum _POWER_STATE_TYPE {
 
 #if (NTDDI_VERSION >= NTDDI_VISTA)
 typedef struct _SYSTEM_POWER_STATE_CONTEXT {
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       ULONG Reserved1:8;
       ULONG TargetSystemState:4;
       ULONG EffectiveSystemState:4;
@@ -140,8 +140,8 @@ typedef struct _SYSTEM_POWER_STATE_CONTEXT {
 typedef struct _COUNTED_REASON_CONTEXT {
   ULONG Version;
   ULONG Flags;
-  union {
-    struct {
+  _ANONYMOUS_UNION union {
+    _ANONYMOUS_STRUCT struct {
       UNICODE_STRING ResourceFileName;
       USHORT ResourceReasonId;
       ULONG StringCount;
@@ -271,74 +271,74 @@ typedef struct {
 #define CORE_PARKING_POLICY_CHANGE_ROCKET        2
 #define CORE_PARKING_POLICY_CHANGE_MAX           CORE_PARKING_POLICY_CHANGE_ROCKET
 
-DEFINE_GUID(GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A );
-DEFINE_GUID(GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C );
-DEFINE_GUID(GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E );
-DEFINE_GUID(NO_SUBGROUP_GUID, 0xFEA3413E, 0x7E05, 0x4911, 0x9A, 0x71, 0x70, 0x03, 0x31, 0xF1, 0xC2, 0x94 );
-DEFINE_GUID(ALL_POWERSCHEMES_GUID, 0x68A1E95E, 0x13EA, 0x41E1, 0x80, 0x11, 0x0C, 0x49, 0x6C, 0xA4, 0x90, 0xB0 );
-DEFINE_GUID(GUID_POWERSCHEME_PERSONALITY, 0x245D8541, 0x3943, 0x4422, 0xB0, 0x25, 0x13, 0xA7, 0x84, 0xF6, 0x79, 0xB7 );
-DEFINE_GUID(GUID_ACTIVE_POWERSCHEME, 0x31F9F286, 0x5084, 0x42FE, 0xB7, 0x20, 0x2B, 0x02, 0x64, 0x99, 0x37, 0x63 );
-DEFINE_GUID(GUID_VIDEO_SUBGROUP, 0x7516B95F, 0xF776, 0x4464, 0x8C, 0x53, 0x06, 0x16, 0x7F, 0x40, 0xCC, 0x99 );
-DEFINE_GUID(GUID_VIDEO_POWERDOWN_TIMEOUT, 0x3C0BC021, 0xC8A8, 0x4E07, 0xA9, 0x73, 0x6B, 0x14, 0xCB, 0xCB, 0x2B, 0x7E );
-DEFINE_GUID(GUID_VIDEO_ANNOYANCE_TIMEOUT, 0x82DBCF2D, 0xCD67, 0x40C5, 0xBF, 0xDC, 0x9F, 0x1A, 0x5C, 0xCD, 0x46, 0x63 );
-DEFINE_GUID(GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, 0xEED904DF, 0xB142, 0x4183, 0xB1, 0x0B, 0x5A, 0x11, 0x97, 0xA3, 0x78, 0x64 );
+DEFINE_GUID(GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A);
+DEFINE_GUID(GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C);
+DEFINE_GUID(GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E);
+DEFINE_GUID(NO_SUBGROUP_GUID, 0xFEA3413E, 0x7E05, 0x4911, 0x9A, 0x71, 0x70, 0x03, 0x31, 0xF1, 0xC2, 0x94);
+DEFINE_GUID(ALL_POWERSCHEMES_GUID, 0x68A1E95E, 0x13EA, 0x41E1, 0x80, 0x11, 0x0C, 0x49, 0x6C, 0xA4, 0x90, 0xB0);
+DEFINE_GUID(GUID_POWERSCHEME_PERSONALITY, 0x245D8541, 0x3943, 0x4422, 0xB0, 0x25, 0x13, 0xA7, 0x84, 0xF6, 0x79, 0xB7);
+DEFINE_GUID(GUID_ACTIVE_POWERSCHEME, 0x31F9F286, 0x5084, 0x42FE, 0xB7, 0x20, 0x2B, 0x02, 0x64, 0x99, 0x37, 0x63);
+DEFINE_GUID(GUID_VIDEO_SUBGROUP, 0x7516B95F, 0xF776, 0x4464, 0x8C, 0x53, 0x06, 0x16, 0x7F, 0x40, 0xCC, 0x99);
+DEFINE_GUID(GUID_VIDEO_POWERDOWN_TIMEOUT, 0x3C0BC021, 0xC8A8, 0x4E07, 0xA9, 0x73, 0x6B, 0x14, 0xCB, 0xCB, 0x2B, 0x7E);
+DEFINE_GUID(GUID_VIDEO_ANNOYANCE_TIMEOUT, 0x82DBCF2D, 0xCD67, 0x40C5, 0xBF, 0xDC, 0x9F, 0x1A, 0x5C, 0xCD, 0x46, 0x63);
+DEFINE_GUID(GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, 0xEED904DF, 0xB142, 0x4183, 0xB1, 0x0B, 0x5A, 0x11, 0x97, 0xA3, 0x78, 0x64);
 DEFINE_GUID(GUID_VIDEO_DIM_TIMEOUT, 0x17aaa29b, 0x8b43, 0x4b94, 0xaa, 0xfe, 0x35, 0xf6, 0x4d, 0xaa, 0xf1, 0xee);
-DEFINE_GUID(GUID_VIDEO_ADAPTIVE_POWERDOWN, 0x90959D22, 0xD6A1, 0x49B9, 0xAF, 0x93, 0xBC, 0xE8, 0x85, 0xAD, 0x33, 0x5B );
-DEFINE_GUID(GUID_MONITOR_POWER_ON, 0x02731015, 0x4510, 0x4526, 0x99, 0xE6, 0xE5, 0xA1, 0x7E, 0xBD, 0x1A, 0xEA );
+DEFINE_GUID(GUID_VIDEO_ADAPTIVE_POWERDOWN, 0x90959D22, 0xD6A1, 0x49B9, 0xAF, 0x93, 0xBC, 0xE8, 0x85, 0xAD, 0x33, 0x5B);
+DEFINE_GUID(GUID_MONITOR_POWER_ON, 0x02731015, 0x4510, 0x4526, 0x99, 0xE6, 0xE5, 0xA1, 0x7E, 0xBD, 0x1A, 0xEA);
 DEFINE_GUID(GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS, 0xaded5e82L, 0xb909, 0x4619, 0x99, 0x49, 0xf5, 0xd7, 0x1d, 0xac, 0x0b, 0xcb);
 DEFINE_GUID(GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS, 0xf1fbfde2, 0xa960, 0x4165, 0x9f, 0x88, 0x50, 0x66, 0x79, 0x11, 0xce, 0x96);
 DEFINE_GUID(GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS, 0x8ffee2c6, 0x2d01, 0x46be, 0xad, 0xb9, 0x39, 0x8a, 0xdd, 0xc5, 0xb4, 0xff);
 DEFINE_GUID(GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS, 0xFBD9AA66, 0x9553, 0x4097, 0xBA, 0x44, 0xED, 0x6E, 0x9D, 0x65, 0xEA, 0xB8);
-DEFINE_GUID(GUID_SESSION_DISPLAY_STATE, 0x73A5E93A, 0x5BB1, 0x4F93, 0x89, 0x5B, 0xDB, 0xD0, 0xDA, 0x85, 0x59, 0x67 );
+DEFINE_GUID(GUID_SESSION_DISPLAY_STATE, 0x73A5E93A, 0x5BB1, 0x4F93, 0x89, 0x5B, 0xDB, 0xD0, 0xDA, 0x85, 0x59, 0x67);
 DEFINE_GUID(GUID_CONSOLE_DISPLAY_STATE, 0x6fe69556, 0x704a, 0x47a0, 0x8f, 0x24, 0xc2, 0x8d, 0x93, 0x6f, 0xda, 0x47);
-DEFINE_GUID(GUID_ALLOW_DISPLAY_REQUIRED, 0xA9CEB8DA, 0xCD46, 0x44FB, 0xA9, 0x8B, 0x02, 0xAF, 0x69, 0xDE, 0x46, 0x23 );
-DEFINE_GUID(GUID_DISK_SUBGROUP, 0x0012EE47, 0x9041, 0x4B5D, 0x9B, 0x77, 0x53, 0x5F, 0xBA, 0x8B, 0x14, 0x42 );
-DEFINE_GUID(GUID_DISK_POWERDOWN_TIMEOUT, 0x6738E2C4, 0xE8A5, 0x4A42, 0xB1, 0x6A, 0xE0, 0x40, 0xE7, 0x69, 0x75, 0x6E );
-DEFINE_GUID(GUID_DISK_BURST_IGNORE_THRESHOLD, 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63 );
-DEFINE_GUID(GUID_DISK_ADAPTIVE_POWERDOWN, 0x396A32E1, 0x499A, 0x40B2, 0x91, 0x24, 0xA9, 0x6A, 0xFE, 0x70, 0x76, 0x67 );
-DEFINE_GUID(GUID_SLEEP_SUBGROUP, 0x238C9FA8, 0x0AAD, 0x41ED, 0x83, 0xF4, 0x97, 0xBE, 0x24, 0x2C, 0x8F, 0x20 );
-DEFINE_GUID(GUID_SLEEP_IDLE_THRESHOLD, 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70 );
-DEFINE_GUID(GUID_STANDBY_TIMEOUT, 0x29F6C1DB, 0x86DA, 0x48C5, 0x9F, 0xDB, 0xF2, 0xB6, 0x7B, 0x1F, 0x44, 0xDA );
-DEFINE_GUID(GUID_UNATTEND_SLEEP_TIMEOUT, 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0 );
-DEFINE_GUID(GUID_HIBERNATE_TIMEOUT, 0x9D7815A6, 0x7EE4, 0x497E, 0x88, 0x88, 0x51, 0x5A, 0x05, 0xF0, 0x23, 0x64 );
-DEFINE_GUID(GUID_HIBERNATE_FASTS4_POLICY, 0x94AC6D29, 0x73CE, 0x41A6, 0x80, 0x9F, 0x63, 0x63, 0xBA, 0x21, 0xB4, 0x7E );
+DEFINE_GUID(GUID_ALLOW_DISPLAY_REQUIRED, 0xA9CEB8DA, 0xCD46, 0x44FB, 0xA9, 0x8B, 0x02, 0xAF, 0x69, 0xDE, 0x46, 0x23);
+DEFINE_GUID(GUID_DISK_SUBGROUP, 0x0012EE47, 0x9041, 0x4B5D, 0x9B, 0x77, 0x53, 0x5F, 0xBA, 0x8B, 0x14, 0x42);
+DEFINE_GUID(GUID_DISK_POWERDOWN_TIMEOUT, 0x6738E2C4, 0xE8A5, 0x4A42, 0xB1, 0x6A, 0xE0, 0x40, 0xE7, 0x69, 0x75, 0x6E);
+DEFINE_GUID(GUID_DISK_BURST_IGNORE_THRESHOLD, 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63);
+DEFINE_GUID(GUID_DISK_ADAPTIVE_POWERDOWN, 0x396A32E1, 0x499A, 0x40B2, 0x91, 0x24, 0xA9, 0x6A, 0xFE, 0x70, 0x76, 0x67);
+DEFINE_GUID(GUID_SLEEP_SUBGROUP, 0x238C9FA8, 0x0AAD, 0x41ED, 0x83, 0xF4, 0x97, 0xBE, 0x24, 0x2C, 0x8F, 0x20);
+DEFINE_GUID(GUID_SLEEP_IDLE_THRESHOLD, 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70);
+DEFINE_GUID(GUID_STANDBY_TIMEOUT, 0x29F6C1DB, 0x86DA, 0x48C5, 0x9F, 0xDB, 0xF2, 0xB6, 0x7B, 0x1F, 0x44, 0xDA);
+DEFINE_GUID(GUID_UNATTEND_SLEEP_TIMEOUT, 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0);
+DEFINE_GUID(GUID_HIBERNATE_TIMEOUT, 0x9D7815A6, 0x7EE4, 0x497E, 0x88, 0x88, 0x51, 0x5A, 0x05, 0xF0, 0x23, 0x64);
+DEFINE_GUID(GUID_HIBERNATE_FASTS4_POLICY, 0x94AC6D29, 0x73CE, 0x41A6, 0x80, 0x9F, 0x63, 0x63, 0xBA, 0x21, 0xB4, 0x7E);
 DEFINE_GUID(GUID_CRITICAL_POWER_TRANSITION,  0xB7A27025, 0xE569, 0x46c2, 0xA5, 0x04, 0x2B, 0x96, 0xCA, 0xD2, 0x25, 0xA1);
-DEFINE_GUID(GUID_SYSTEM_AWAYMODE, 0x98A7F580, 0x01F7, 0x48AA, 0x9C, 0x0F, 0x44, 0x35, 0x2C, 0x29, 0xE5, 0xC0 );
-DEFINE_GUID(GUID_ALLOW_AWAYMODE, 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87 );
-DEFINE_GUID(GUID_ALLOW_STANDBY_STATES, 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab );
-DEFINE_GUID(GUID_ALLOW_RTC_WAKE, 0xBD3B718A, 0x0680, 0x4D9D, 0x8A, 0xB2, 0xE1, 0xD2, 0xB4, 0xAC, 0x80, 0x6D );
-DEFINE_GUID(GUID_ALLOW_SYSTEM_REQUIRED, 0xA4B195F5, 0x8225, 0x47D8, 0x80, 0x12, 0x9D, 0x41, 0x36, 0x97, 0x86, 0xE2 );
-DEFINE_GUID(GUID_SYSTEM_BUTTON_SUBGROUP, 0x4F971E89, 0xEEBD, 0x4455, 0xA8, 0xDE, 0x9E, 0x59, 0x04, 0x0E, 0x73, 0x47 );
-DEFINE_GUID(GUID_POWERBUTTON_ACTION, 0x7648EFA3, 0xDD9C, 0x4E3E, 0xB5, 0x66, 0x50, 0xF9, 0x29, 0x38, 0x62, 0x80 );
-DEFINE_GUID(GUID_POWERBUTTON_ACTION_FLAGS, 0x857E7FAC, 0x034B, 0x4704, 0xAB, 0xB1, 0xBC, 0xA5, 0x4A, 0xA3, 0x14, 0x78 );
-DEFINE_GUID(GUID_SLEEPBUTTON_ACTION, 0x96996BC0, 0xAD50, 0x47EC, 0x92, 0x3B, 0x6F, 0x41, 0x87, 0x4D, 0xD9, 0xEB );
-DEFINE_GUID(GUID_SLEEPBUTTON_ACTION_FLAGS, 0x2A160AB1, 0xB69D, 0x4743, 0xB7, 0x18, 0xBF, 0x14, 0x41, 0xD5, 0xE4, 0x93 );
-DEFINE_GUID(GUID_USERINTERFACEBUTTON_ACTION, 0xA7066653, 0x8D6C, 0x40A8, 0x91, 0x0E, 0xA1, 0xF5, 0x4B, 0x84, 0xC7, 0xE5 );
-DEFINE_GUID(GUID_LIDCLOSE_ACTION, 0x5CA83367, 0x6E45, 0x459F, 0xA2, 0x7B, 0x47, 0x6B, 0x1D, 0x01, 0xC9, 0x36 );
-DEFINE_GUID(GUID_LIDCLOSE_ACTION_FLAGS, 0x97E969AC, 0x0D6C, 0x4D08, 0x92, 0x7C, 0xD7, 0xBD, 0x7A, 0xD7, 0x85, 0x7B );
-DEFINE_GUID(GUID_LIDOPEN_POWERSTATE, 0x99FF10E7, 0x23B1, 0x4C07, 0xA9, 0xD1, 0x5C, 0x32, 0x06, 0xD7, 0x41, 0xB4 );
-DEFINE_GUID(GUID_BATTERY_SUBGROUP, 0xE73A048D, 0xBF27, 0x4F12, 0x97, 0x31, 0x8B, 0x20, 0x76, 0xE8, 0x89, 0x1F );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_0, 0x637EA02F, 0xBBCB, 0x4015, 0x8E, 0x2C, 0xA1, 0xC7, 0xB9, 0xC0, 0xB5, 0x46 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_0, 0x9A66D8D7, 0x4FF7, 0x4EF9, 0xB5, 0xA2, 0x5A, 0x32, 0x6C, 0xA2, 0xA4, 0x69 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_0, 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_1, 0xD8742DCB, 0x3E6A, 0x4B3C, 0xB3, 0xFE, 0x37, 0x46, 0x23, 0xCD, 0xCF, 0x06 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_1, 0x8183BA9A, 0xE910, 0x48DA, 0x87, 0x69, 0x14, 0xAE, 0x6D, 0xC1, 0x17, 0x0A );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_1, 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_2, 0x421CBA38, 0x1A8E, 0x4881, 0xAC, 0x89, 0xE3, 0x3A, 0x8B, 0x04, 0xEC, 0xE4 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_2, 0x07A07CA2, 0xADAF, 0x40D7, 0xB0, 0x77, 0x53, 0x3A, 0xAD, 0xED, 0x1B, 0xFA );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_2, 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_3, 0x80472613, 0x9780, 0x455E, 0xB3, 0x08, 0x72, 0xD3, 0x00, 0x3C, 0xF2, 0xF8 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_3, 0x58AFD5A6, 0xC2DD, 0x47D2, 0x9F, 0xBF, 0xEF, 0x70, 0xCC, 0x5C, 0x59, 0x65 );
-DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_3, 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3 );
-DEFINE_GUID(GUID_PROCESSOR_SETTINGS_SUBGROUP, 0x54533251, 0x82BE, 0x4824, 0x96, 0xC1, 0x47, 0xB6, 0x0B, 0x74, 0x0D, 0x00 );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_POLICY, 0x57027304, 0x4AF6, 0x4104, 0x92, 0x60, 0xE3, 0xD9, 0x52, 0x48, 0xFC, 0x36 );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MAXIMUM, 0xBC5038F7, 0x23E0, 0x4960, 0x96, 0xDA, 0x33, 0xAB, 0xAF, 0x59, 0x35, 0xEC );
-DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MINIMUM, 0x893DEE8E, 0x2BEF, 0x41E0, 0x89, 0xC6, 0xB5, 0x5D, 0x09, 0x29, 0x96, 0x4C );
-DEFINE_GUID(GUID_PROCESSOR_ALLOW_THROTTLING, 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb );
+DEFINE_GUID(GUID_SYSTEM_AWAYMODE, 0x98A7F580, 0x01F7, 0x48AA, 0x9C, 0x0F, 0x44, 0x35, 0x2C, 0x29, 0xE5, 0xC0);
+DEFINE_GUID(GUID_ALLOW_AWAYMODE, 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87);
+DEFINE_GUID(GUID_ALLOW_STANDBY_STATES, 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab);
+DEFINE_GUID(GUID_ALLOW_RTC_WAKE, 0xBD3B718A, 0x0680, 0x4D9D, 0x8A, 0xB2, 0xE1, 0xD2, 0xB4, 0xAC, 0x80, 0x6D);
+DEFINE_GUID(GUID_ALLOW_SYSTEM_REQUIRED, 0xA4B195F5, 0x8225, 0x47D8, 0x80, 0x12, 0x9D, 0x41, 0x36, 0x97, 0x86, 0xE2);
+DEFINE_GUID(GUID_SYSTEM_BUTTON_SUBGROUP, 0x4F971E89, 0xEEBD, 0x4455, 0xA8, 0xDE, 0x9E, 0x59, 0x04, 0x0E, 0x73, 0x47);
+DEFINE_GUID(GUID_POWERBUTTON_ACTION, 0x7648EFA3, 0xDD9C, 0x4E3E, 0xB5, 0x66, 0x50, 0xF9, 0x29, 0x38, 0x62, 0x80);
+DEFINE_GUID(GUID_POWERBUTTON_ACTION_FLAGS, 0x857E7FAC, 0x034B, 0x4704, 0xAB, 0xB1, 0xBC, 0xA5, 0x4A, 0xA3, 0x14, 0x78);
+DEFINE_GUID(GUID_SLEEPBUTTON_ACTION, 0x96996BC0, 0xAD50, 0x47EC, 0x92, 0x3B, 0x6F, 0x41, 0x87, 0x4D, 0xD9, 0xEB);
+DEFINE_GUID(GUID_SLEEPBUTTON_ACTION_FLAGS, 0x2A160AB1, 0xB69D, 0x4743, 0xB7, 0x18, 0xBF, 0x14, 0x41, 0xD5, 0xE4, 0x93);
+DEFINE_GUID(GUID_USERINTERFACEBUTTON_ACTION, 0xA7066653, 0x8D6C, 0x40A8, 0x91, 0x0E, 0xA1, 0xF5, 0x4B, 0x84, 0xC7, 0xE5);
+DEFINE_GUID(GUID_LIDCLOSE_ACTION, 0x5CA83367, 0x6E45, 0x459F, 0xA2, 0x7B, 0x47, 0x6B, 0x1D, 0x01, 0xC9, 0x36);
+DEFINE_GUID(GUID_LIDCLOSE_ACTION_FLAGS, 0x97E969AC, 0x0D6C, 0x4D08, 0x92, 0x7C, 0xD7, 0xBD, 0x7A, 0xD7, 0x85, 0x7B);
+DEFINE_GUID(GUID_LIDOPEN_POWERSTATE, 0x99FF10E7, 0x23B1, 0x4C07, 0xA9, 0xD1, 0x5C, 0x32, 0x06, 0xD7, 0x41, 0xB4);
+DEFINE_GUID(GUID_BATTERY_SUBGROUP, 0xE73A048D, 0xBF27, 0x4F12, 0x97, 0x31, 0x8B, 0x20, 0x76, 0xE8, 0x89, 0x1F);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_0, 0x637EA02F, 0xBBCB, 0x4015, 0x8E, 0x2C, 0xA1, 0xC7, 0xB9, 0xC0, 0xB5, 0x46);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_0, 0x9A66D8D7, 0x4FF7, 0x4EF9, 0xB5, 0xA2, 0x5A, 0x32, 0x6C, 0xA2, 0xA4, 0x69);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_0, 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_1, 0xD8742DCB, 0x3E6A, 0x4B3C, 0xB3, 0xFE, 0x37, 0x46, 0x23, 0xCD, 0xCF, 0x06);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_1, 0x8183BA9A, 0xE910, 0x48DA, 0x87, 0x69, 0x14, 0xAE, 0x6D, 0xC1, 0x17, 0x0A);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_1, 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_2, 0x421CBA38, 0x1A8E, 0x4881, 0xAC, 0x89, 0xE3, 0x3A, 0x8B, 0x04, 0xEC, 0xE4);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_2, 0x07A07CA2, 0xADAF, 0x40D7, 0xB0, 0x77, 0x53, 0x3A, 0xAD, 0xED, 0x1B, 0xFA);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_2, 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_ACTION_3, 0x80472613, 0x9780, 0x455E, 0xB3, 0x08, 0x72, 0xD3, 0x00, 0x3C, 0xF2, 0xF8);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_LEVEL_3, 0x58AFD5A6, 0xC2DD, 0x47D2, 0x9F, 0xBF, 0xEF, 0x70, 0xCC, 0x5C, 0x59, 0x65);
+DEFINE_GUID(GUID_BATTERY_DISCHARGE_FLAGS_3, 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3);
+DEFINE_GUID(GUID_PROCESSOR_SETTINGS_SUBGROUP, 0x54533251, 0x82BE, 0x4824, 0x96, 0xC1, 0x47, 0xB6, 0x0B, 0x74, 0x0D, 0x00);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_POLICY, 0x57027304, 0x4AF6, 0x4104, 0x92, 0x60, 0xE3, 0xD9, 0x52, 0x48, 0xFC, 0x36);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MAXIMUM, 0xBC5038F7, 0x23E0, 0x4960, 0x96, 0xDA, 0x33, 0xAB, 0xAF, 0x59, 0x35, 0xEC);
+DEFINE_GUID(GUID_PROCESSOR_THROTTLE_MINIMUM, 0x893DEE8E, 0x2BEF, 0x41E0, 0x89, 0xC6, 0xB5, 0x5D, 0x09, 0x29, 0x96, 0x4C);
+DEFINE_GUID(GUID_PROCESSOR_ALLOW_THROTTLING, 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb);
 DEFINE_GUID(GUID_PROCESSOR_IDLESTATE_POLICY, 0x68f262a7, 0xf621, 0x4069, 0xb9, 0xa5, 0x48, 0x74, 0x16, 0x9b, 0xe2, 0x3c);
 DEFINE_GUID(GUID_PROCESSOR_PERFSTATE_POLICY, 0xBBDC3814, 0x18E9, 0x4463, 0x8A, 0x55, 0xD1, 0x97, 0x32, 0x7C, 0x45, 0xC0);
-DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d );
-DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6 );
+DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d);
+DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6);
 DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_POLICY, 0x465e1f50, 0xb610, 0x473a, 0xab, 0x58, 0x0, 0xd1, 0x7, 0x7d, 0xc4, 0x18);
 DEFINE_GUID(GUID_PROCESSOR_PERF_DECREASE_POLICY, 0x40fbefc7, 0x2e9d, 0x4d25, 0xa1, 0x85, 0xc, 0xfd, 0x85, 0x74, 0xba, 0xc6);
 DEFINE_GUID(GUID_PROCESSOR_PERF_INCREASE_TIME, 0x984cf492, 0x3bed, 0x4488, 0xa8, 0xf9, 0x42, 0x86, 0xc9, 0x7b, 0xf5, 0xaa);
@@ -350,7 +350,7 @@ DEFINE_GUID(GUID_PROCESSOR_IDLE_DISABLE, 0x5d76a2ca, 0xe8c0, 0x402f, 0xa1, 0x33,
 DEFINE_GUID(GUID_PROCESSOR_IDLE_TIME_CHECK, 0xc4581c31, 0x89ab, 0x4597, 0x8e, 0x2b, 0x9c, 0x9c, 0xab, 0x44, 0xe, 0x6b);
 DEFINE_GUID(GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD, 0x4b92d758, 0x5a24, 0x4851, 0xa4, 0x70, 0x81, 0x5d, 0x78, 0xae, 0xe1, 0x19);
 DEFINE_GUID(GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD, 0x7b224883, 0xb3cc, 0x4d79, 0x81, 0x9f, 0x83, 0x74, 0x15, 0x2c, 0xbe, 0x7c);
-DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1 );
+DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD, 0x68dd2f27, 0xa4ce, 0x4e11, 0x84, 0x87, 0x37, 0x94, 0xe4, 0x13, 0x5d, 0xfa);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY, 0xc7be0679, 0x2817, 0x4d69, 0x9d, 0x02, 0x51, 0x9a, 0x53, 0x7e, 0xd0, 0xc6);
 DEFINE_GUID(GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY, 0x71021b41, 0xc749, 0x4d21, 0xbe, 0x74, 0xa0, 0x0f, 0x33, 0x5d, 0x58, 0x2b);
@@ -369,17 +369,17 @@ DEFINE_GUID(GUID_PROCESSOR_PARKING_CORE_OVERRIDE, 0xa55612aa, 0xf624, 0x42c6, 0x
 DEFINE_GUID(GUID_PROCESSOR_PARKING_PERF_STATE, 0x447235c7, 0x6a8d, 0x4cc0, 0x8e, 0x24, 0x9e, 0xaf, 0x70, 0xb9, 0x6e, 0x2b);
 DEFINE_GUID(GUID_PROCESSOR_PERF_HISTORY, 0x7d24baa7, 0x0b84, 0x480f, 0x84, 0x0c, 0x1b, 0x07, 0x43, 0xc0, 0x0f, 0x5f);
 DEFINE_GUID(GUID_SYSTEM_COOLING_POLICY, 0x94D3A615, 0xA899, 0x4AC5, 0xAE, 0x2B, 0xE4, 0xD8, 0xF6, 0x34, 0x36, 0x7F);
-DEFINE_GUID(GUID_LOCK_CONSOLE_ON_WAKE, 0x0E796BDB, 0x100D, 0x47D6, 0xA2, 0xD5, 0xF7, 0xD2, 0xDA, 0xA5, 0x1F, 0x51 );
-DEFINE_GUID(GUID_DEVICE_IDLE_POLICY, 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19 );
-DEFINE_GUID(GUID_ACDC_POWER_SOURCE, 0x5D3E9A59, 0xE9D5, 0x4B00, 0xA6, 0xBD, 0xFF, 0x34, 0xFF, 0x51, 0x65, 0x48 );
-DEFINE_GUID(GUID_LIDSWITCH_STATE_CHANGE,  0xBA3E0F4D, 0xB817, 0x4094, 0xA2, 0xD1, 0xD5, 0x63, 0x79, 0xE6, 0xA0, 0xF3 );
-DEFINE_GUID(GUID_BATTERY_PERCENTAGE_REMAINING, 0xA7AD8041, 0xB45A, 0x4CAE, 0x87, 0xA3, 0xEE, 0xCB, 0xB4, 0x68, 0xA9, 0xE1 );
-DEFINE_GUID(GUID_IDLE_BACKGROUND_TASK, 0x515C31D8, 0xF734, 0x163D, 0xA0, 0xFD, 0x11, 0xA0, 0x8C, 0x91, 0xE8, 0xF1 );
-DEFINE_GUID(GUID_BACKGROUND_TASK_NOTIFICATION, 0xCF23F240, 0x2A54, 0x48D8, 0xB1, 0x14, 0xDE, 0x15, 0x18, 0xFF, 0x05, 0x2E );
-DEFINE_GUID(GUID_APPLAUNCH_BUTTON, 0x1A689231, 0x7399, 0x4E9A, 0x8F, 0x99, 0xB7, 0x1F, 0x99, 0x9D, 0xB3, 0xFA );
-DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af,0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20 );
-DEFINE_GUID(GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5 );
-DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6 );
+DEFINE_GUID(GUID_LOCK_CONSOLE_ON_WAKE, 0x0E796BDB, 0x100D, 0x47D6, 0xA2, 0xD5, 0xF7, 0xD2, 0xDA, 0xA5, 0x1F, 0x51);
+DEFINE_GUID(GUID_DEVICE_IDLE_POLICY, 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19);
+DEFINE_GUID(GUID_ACDC_POWER_SOURCE, 0x5D3E9A59, 0xE9D5, 0x4B00, 0xA6, 0xBD, 0xFF, 0x34, 0xFF, 0x51, 0x65, 0x48);
+DEFINE_GUID(GUID_LIDSWITCH_STATE_CHANGE,  0xBA3E0F4D, 0xB817, 0x4094, 0xA2, 0xD1, 0xD5, 0x63, 0x79, 0xE6, 0xA0, 0xF3);
+DEFINE_GUID(GUID_BATTERY_PERCENTAGE_REMAINING, 0xA7AD8041, 0xB45A, 0x4CAE, 0x87, 0xA3, 0xEE, 0xCB, 0xB4, 0x68, 0xA9, 0xE1);
+DEFINE_GUID(GUID_IDLE_BACKGROUND_TASK, 0x515C31D8, 0xF734, 0x163D, 0xA0, 0xFD, 0x11, 0xA0, 0x8C, 0x91, 0xE8, 0xF1);
+DEFINE_GUID(GUID_BACKGROUND_TASK_NOTIFICATION, 0xCF23F240, 0x2A54, 0x48D8, 0xB1, 0x14, 0xDE, 0x15, 0x18, 0xFF, 0x05, 0x2E);
+DEFINE_GUID(GUID_APPLAUNCH_BUTTON, 0x1A689231, 0x7399, 0x4E9A, 0x8F, 0x99, 0xB7, 0x1F, 0x99, 0x9D, 0xB3, 0xFA);
+DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af,0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20);
+DEFINE_GUID(GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5);
+DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6);
 
 #define PERFSTATE_POLICY_CHANGE_IDEAL            0
 #define PERFSTATE_POLICY_CHANGE_SINGLE           1
index adda1fb..3cd35ff 100644 (file)
@@ -19,7 +19,7 @@ $if (_WDMDDK_)
 #define THREAD_SET_LIMITED_INFORMATION   0x0400
 #define THREAD_QUERY_LIMITED_INFORMATION 0x0800
 
-#define PROCESS_DUP_HANDLE                 (0x0040)
+#define PROCESS_DUP_HANDLE               (0x0040)
 
 #if (NTDDI_VERSION >= NTDDI_VISTA)
 #define PROCESS_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
@@ -58,7 +58,7 @@ typedef struct _QUOTA_LIMITS {
 
 typedef union _RATE_QUOTA_LIMIT {
   ULONG RateData;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONG RatePercent:7;
     ULONG Reserved0:25;
   } DUMMYSTRUCTNAME;
@@ -164,13 +164,13 @@ typedef VOID
 
 typedef struct _PS_CREATE_NOTIFY_INFO {
   IN SIZE_T Size;
-  union {
+  _ANONYMOUS_UNION union {
     IN ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       IN ULONG FileOpenNameAvailable:1;
       IN ULONG Reserved:31;
-    };
-  };
+    } DUMMYSTRUCTNAME;
+  } DUMMYUNIONNAME;
   IN HANDLE ParentProcessId;
   IN CLIENT_ID CreatingThreadId;
   IN OUT struct _FILE_OBJECT *FileObject;
@@ -247,10 +247,10 @@ typedef struct _NT_TIB32 {
   ULONG StackBase;
   ULONG StackLimit;
   ULONG SubSystemTib;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     ULONG FiberData;
     ULONG Version;
-  };
+  } DUMMYUNIONNAME;
   ULONG ArbitraryUserPointer;
   ULONG Self;
 } NT_TIB32,*PNT_TIB32;
@@ -260,10 +260,10 @@ typedef struct _NT_TIB64 {
   ULONG64 StackBase;
   ULONG64 StackLimit;
   ULONG64 SubSystemTib;
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     ULONG64 FiberData;
     ULONG Version;
-  };
+  } DUMMYUNIONNAME;
   ULONG64 ArbitraryUserPointer;
   ULONG64 Self;
 } NT_TIB64,*PNT_TIB64;
@@ -382,9 +382,9 @@ typedef struct _PROCESS_BASIC_INFORMATION {
 typedef struct _PROCESS_EXTENDED_BASIC_INFORMATION {
   SIZE_T Size;
   PROCESS_BASIC_INFORMATION BasicInfo;
-  union {
+  _ANONYMOUS_UNION union {
     ULONG Flags;
-    struct {
+    _ANONYMOUS_STRUCT struct {
       ULONG IsProtectedProcess:1;
       ULONG IsWow64Process:1;
       ULONG IsProcessDeleting:1;
@@ -395,7 +395,7 @@ typedef struct _PROCESS_EXTENDED_BASIC_INFORMATION {
 } PROCESS_EXTENDED_BASIC_INFORMATION, *PPROCESS_EXTENDED_BASIC_INFORMATION;
 
 typedef struct _PROCESS_DEVICEMAP_INFORMATION {
-  __GNU_EXTENSION union {
+  _ANONYMOUS_UNION union {
     struct {
       HANDLE DirectoryHandle;
     } Set;
@@ -403,11 +403,11 @@ typedef struct _PROCESS_DEVICEMAP_INFORMATION {
       ULONG DriveMap;
       UCHAR DriveType[32];
     } Query;
-  };
+  } DUMMYUNIONNAME;
 } PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
 
 typedef struct _PROCESS_DEVICEMAP_INFORMATION_EX {
-  union {
+  _ANONYMOUS_UNION union {
     struct {
       HANDLE DirectoryHandle;
     } Set;
index c5e14a3..797382c 100644 (file)
@@ -81,7 +81,7 @@ typedef struct _SLIST_ENTRY32 {
 } SLIST_ENTRY32, *PSLIST_ENTRY32;
 
 typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
-  struct {
+  _ANONYMOUS_STRUCT struct {
     ULONGLONG Alignment;
     ULONGLONG Region;
   } DUMMYSTRUCTNAME;
@@ -113,7 +113,7 @@ typedef union DECLSPEC_ALIGN(16) _SLIST_HEADER {
 
 typedef union _SLIST_HEADER32 {
   ULONGLONG Alignment;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     SLIST_ENTRY32 Next;
     USHORT Depth;
     USHORT Sequence;
@@ -130,7 +130,7 @@ typedef SLIST_ENTRY SLIST_ENTRY32, *PSLIST_ENTRY32;
 
 typedef union _SLIST_HEADER {
   ULONGLONG Alignment;
-  struct {
+  _ANONYMOUS_STRUCT struct {
     SLIST_ENTRY Next;
     USHORT Depth;
     USHORT Sequence;
index 303aa0b..68e51c4 100644 (file)
@@ -404,10 +404,10 @@ typedef struct _SID_IDENTIFIER_AUTHORITY {
 #ifndef SID_DEFINED
 #define SID_DEFINED
 typedef struct _SID {
-   UCHAR  Revision;
-   UCHAR  SubAuthorityCount;
-   SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
-   ULONG SubAuthority[ANYSIZE_ARRAY];
+  UCHAR Revision;
+  UCHAR SubAuthorityCount;
+  SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+  ULONG SubAuthority[ANYSIZE_ARRAY];
 } SID, *PISID;
 #endif
 
@@ -416,16 +416,16 @@ typedef struct _SID {
 #define SID_RECOMMENDED_SUB_AUTHORITIES 1
 
 typedef enum _SID_NAME_USE {
-    SidTypeUser = 1,
-    SidTypeGroup,
-    SidTypeDomain,
-    SidTypeAlias,
-    SidTypeWellKnownGroup,
-    SidTypeDeletedAccount,
-    SidTypeInvalid,
-    SidTypeUnknown,
-    SidTypeComputer,
-    SidTypeLabel
+  SidTypeUser = 1,
+  SidTypeGroup,
+  SidTypeDomain,
+  SidTypeAlias,
+  SidTypeWellKnownGroup,
+  SidTypeDeletedAccount,
+  SidTypeInvalid,
+  SidTypeUnknown,
+  SidTypeComputer,
+  SidTypeLabel
 } SID_NAME_USE, *PSID_NAME_USE;
 
 typedef struct _SID_AND_ATTRIBUTES {
@@ -551,15 +551,15 @@ typedef struct _SID_AND_ATTRIBUTES_HASH {
 
 /* Well-known groups */
 
-#define DOMAIN_GROUP_RID_ADMINS        (0x00000200L)
-#define DOMAIN_GROUP_RID_USERS         (0x00000201L)
-#define DOMAIN_GROUP_RID_GUESTS        (0x00000202L)
-#define DOMAIN_GROUP_RID_COMPUTERS     (0x00000203L)
-#define DOMAIN_GROUP_RID_CONTROLLERS   (0x00000204L)
-#define DOMAIN_GROUP_RID_CERT_ADMINS   (0x00000205L)
-#define DOMAIN_GROUP_RID_SCHEMA_ADMINS (0x00000206L)
-#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS (0x00000207L)
-#define DOMAIN_GROUP_RID_POLICY_ADMINS (0x00000208L)
+#define DOMAIN_GROUP_RID_ADMINS               (0x00000200L)
+#define DOMAIN_GROUP_RID_USERS                (0x00000201L)
+#define DOMAIN_GROUP_RID_GUESTS               (0x00000202L)
+#define DOMAIN_GROUP_RID_COMPUTERS            (0x00000203L)
+#define DOMAIN_GROUP_RID_CONTROLLERS          (0x00000204L)
+#define DOMAIN_GROUP_RID_CERT_ADMINS          (0x00000205L)
+#define DOMAIN_GROUP_RID_SCHEMA_ADMINS        (0x00000206L)
+#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS    (0x00000207L)
+#define DOMAIN_GROUP_RID_POLICY_ADMINS        (0x00000208L)
 #define DOMAIN_GROUP_RID_READONLY_CONTROLLERS (0x00000209L)
 
 /* Well-known aliases */
@@ -611,11 +611,11 @@ typedef struct _SID_AND_ATTRIBUTES_HASH {
 /* Allocate the System Luid.  The first 1000 LUIDs are reserved.
    Use #999 here (0x3e7 = 999) */
 
-#define SYSTEM_LUID                     { 0x3e7, 0x0 }
-#define ANONYMOUS_LOGON_LUID            { 0x3e6, 0x0 }
-#define LOCALSERVICE_LUID               { 0x3e5, 0x0 }
-#define NETWORKSERVICE_LUID             { 0x3e4, 0x0 }
-#define IUSER_LUID                      { 0x3e3, 0x0 }
+#define SYSTEM_LUID                     {0x3e7, 0x0}
+#define ANONYMOUS_LOGON_LUID            {0x3e6, 0x0}
+#define LOCALSERVICE_LUID               {0x3e5, 0x0}
+#define NETWORKSERVICE_LUID             {0x3e4, 0x0}
+#define IUSER_LUID                      {0x3e3, 0x0}
 
 typedef struct _ACE_HEADER {
   UCHAR AceType;
@@ -661,8 +661,8 @@ typedef struct _ACE_HEADER {
 #define INHERITED_ACE                     (0x10)
 #define VALID_INHERIT_FLAGS               (0x1F)
 
-#define SUCCESSFUL_ACCESS_ACE_FLAG       (0x40)
-#define FAILED_ACCESS_ACE_FLAG           (0x80)
+#define SUCCESSFUL_ACCESS_ACE_FLAG        (0x40)
+#define FAILED_ACCESS_ACE_FLAG            (0x80)
 
 typedef struct _ACCESS_ALLOWED_ACE {
   ACE_HEADER Header;