[HEADERS]
[reactos.git] / reactos / include / ddk / strmini.h
index a223fa2..f0a72f5 100644 (file)
@@ -5,6 +5,15 @@
 #include <windef.h>
 #include <ks.h>
 
+/* Helper macro to enable gcc's extension.  */
+#ifndef __GNU_EXTENSION
+#ifdef __GNUC__
+#define __GNU_EXTENSION __extension__
+#else
+#define __GNU_EXTENSION
+#endif
+#endif
+
 #define STREAMAPI __stdcall
 #define STREAM_SYSTEM_TIME_MASK   ((STREAM_SYSTEM_TIME)0x00000001FFFFFFFF)
 
@@ -37,8 +46,8 @@ typedef enum
 #endif
 
 typedef PHYSICAL_ADDRESS STREAM_PHYSICAL_ADDRESS, *PSTREAM_PHYSICAL_ADDRESS;
-typedef unsigned __int64 STREAM_SYSTEM_TIME, *PSTREAM_SYSTEM_TIME;
-typedef unsigned __int64 STREAM_TIMESTAMP, *PSTREAM_TIMESTAMP;
+__GNU_EXTENSION typedef unsigned __int64 STREAM_SYSTEM_TIME, *PSTREAM_SYSTEM_TIME;
+__GNU_EXTENSION typedef unsigned __int64 STREAM_TIMESTAMP, *PSTREAM_TIMESTAMP;
 
 typedef enum
 {
@@ -61,7 +70,7 @@ typedef struct _HW_EVENT_DESCRIPTOR
     BOOLEAN Enable;
     PKSEVENT_ENTRY EventEntry;
     PKSEVENTDATA EventData;
-    union
+    __GNU_EXTENSION union
     {
         struct _HW_STREAM_OBJECT * StreamObject;
         struct _HW_DEVICE_EXTENSION *DeviceExtension;
@@ -285,7 +294,7 @@ typedef struct _HW_STREAM_REQUEST_BLOCK
     ULONG           Flags;
     PVOID       HwInstanceExtension;
 
-    union
+    __GNU_EXTENSION union
        {
         ULONG           NumberOfBytesToTransfer;
         ULONG           ActualBytesTransferred;
@@ -376,11 +385,11 @@ typedef enum _STREAM_MINIDRIVER_DEVICE_NOTIFICATION_TYPE
 
 typedef struct _HW_INITIALIZATION_DATA {
 #if (NTDDI_VERSION >= NTDDI_WINXP)
-    union
-       {
+    __GNU_EXTENSION union
+    {
         ULONG           HwInitializationDataSize;
-        struct
-               {
+        __GNU_EXTENSION struct
+       {
             USHORT      SizeOfThisPacket;
             USHORT      StreamClassVersion;
         };