Move pushlock definition. It is gone from MS headers now.
authorAlex Ionescu <aionescu@gmail.com>
Thu, 29 Dec 2005 18:45:00 +0000 (18:45 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Thu, 29 Dec 2005 18:45:00 +0000 (18:45 +0000)
svn path=/trunk/; revision=20430

reactos/include/ndk/extypes.h
reactos/w32api/include/ddk/ntifs.h

index da0ca7f..92203e9 100644 (file)
@@ -100,6 +100,17 @@ extern ULONG NTSYSAPI NtBuildNumber;
 //
 #define MAXIMUM_HARDERROR_PARAMETERS        4
 
+//
+// Pushlock bits
+//
+#define EX_PUSH_LOCK_LOCK_V                 ((ULONG_PTR)0x0)
+#define EX_PUSH_LOCK_LOCK                   ((ULONG_PTR)0x1)
+#define EX_PUSH_LOCK_WAITING                ((ULONG_PTR)0x2)
+#define EX_PUSH_LOCK_WAKING                 ((ULONG_PTR)0x4)
+#define EX_PUSH_LOCK_MULTIPLE_SHARED        ((ULONG_PTR)0x8)
+#define EX_PUSH_LOCK_SHARE_INC              ((ULONG_PTR)0x10)
+#define EX_PUSH_LOCK_PTR_BITS               ((ULONG_PTR)0xf)
+
 //
 // Pushlock Wait Block Flags
 //
@@ -304,6 +315,26 @@ typedef struct _EX_RUNDOWN_WAIT_BLOCK
     KEVENT RundownEvent;
 } EX_RUNDOWN_WAIT_BLOCK, *PEX_RUNDOWN_WAIT_BLOCK;
 
+//
+// Executive Pushlock
+//
+typedef struct _EX_PUSH_LOCK
+{
+    union
+    {
+        struct
+        {
+            ULONG_PTR Locked:1;
+            ULONG_PTR Waiting:1;
+            ULONG_PTR Waking:1;
+            ULONG_PTR MultipleShared:1;
+            ULONG_PTR Shared:sizeof (ULONG_PTR) * 8 - 4;
+        };
+        ULONG_PTR Value;
+        PVOID Ptr;
+    };
+} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
+
 //
 // Executive Pushlock Wait Block
 //
index a49910f..a8def20 100644 (file)
@@ -619,31 +619,6 @@ typedef struct _COMPRESSED_DATA_INFO {
     ULONG   CompressedChunkSizes[ANYSIZE_ARRAY];
 } COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
 
-#define EX_PUSH_LOCK_LOCK_V          ((ULONG_PTR)0x0)
-#define EX_PUSH_LOCK_LOCK            ((ULONG_PTR)0x1)
-#define EX_PUSH_LOCK_WAITING         ((ULONG_PTR)0x2)
-#define EX_PUSH_LOCK_WAKING          ((ULONG_PTR)0x4)
-#define EX_PUSH_LOCK_MULTIPLE_SHARED ((ULONG_PTR)0x8)
-#define EX_PUSH_LOCK_SHARE_INC       ((ULONG_PTR)0x10)
-#define EX_PUSH_LOCK_PTR_BITS        ((ULONG_PTR)0xf)
-
-typedef struct _EX_PUSH_LOCK
-{
-    union
-    {
-        struct
-        {
-            ULONG_PTR Locked:1;
-            ULONG_PTR Waiting:1;
-            ULONG_PTR Waking:1;
-            ULONG_PTR MultipleShared:1;
-            ULONG_PTR Shared:sizeof (ULONG_PTR) * 8 - 4;
-        };
-        ULONG_PTR Value;
-        PVOID Ptr;
-    };
-} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
-
 typedef struct _SID_IDENTIFIER_AUTHORITY {
        BYTE Value[6];
 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
@@ -2186,6 +2161,7 @@ ExQueryPoolBlockSize (
 
 #if (VER_PRODUCTBUILD >= 2600)
 
+#ifndef __NTOSKRNL__
 NTKERNELAPI
 VOID
 FASTCALL
@@ -2244,6 +2220,7 @@ ExWaitForRundownProtectionRelease (
     IN PEX_RUNDOWN_REF  RunRef
 );
 
+#endif
 #endif /* (VER_PRODUCTBUILD >= 2600) */
 
 #define FlagOn(x, f) ((x) & (f))