From d71e6cd026fab7d17cd02644a89d3b78d4493bf2 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Thu, 29 Dec 2005 18:45:00 +0000 Subject: [PATCH] Move pushlock definition. It is gone from MS headers now. svn path=/trunk/; revision=20430 --- reactos/include/ndk/extypes.h | 31 ++++++++++++++++++++++++++++++ reactos/w32api/include/ddk/ntifs.h | 27 ++------------------------ 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/reactos/include/ndk/extypes.h b/reactos/include/ndk/extypes.h index da0ca7f7ce7..92203e93f7f 100644 --- a/reactos/include/ndk/extypes.h +++ b/reactos/include/ndk/extypes.h @@ -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 // diff --git a/reactos/w32api/include/ddk/ntifs.h b/reactos/w32api/include/ddk/ntifs.h index a49910f1192..a8def20faa8 100644 --- a/reactos/w32api/include/ddk/ntifs.h +++ b/reactos/w32api/include/ddk/ntifs.h @@ -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)) -- 2.17.1