mirror of
https://github.com/reactos/reactos.git
synced 2025-06-06 01:40:36 +00:00
- Move more stuff to wdm.h
- Add missing MM_ALLOCATE_* definitions - Improve KeTryToAcquireSpinLockAtDpcLevel and KeTestSpinLock - Fix a typo in BYTES_TO_PAGES definition - Remove a useless #if block - Add missing ntddk.h include in ntoskrnl.h svn path=/branches/header-work/; revision=45782
This commit is contained in:
parent
f6682d44d2
commit
db8a0b34de
3 changed files with 77 additions and 64 deletions
|
@ -978,6 +978,14 @@ InterlockedPushEntrySList(
|
||||||
|
|
||||||
#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
|
#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
|
||||||
|
|
||||||
|
#define EFLAG_SIGN 0x8000
|
||||||
|
#define EFLAG_ZERO 0x4000
|
||||||
|
#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
|
||||||
|
|
||||||
|
#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
||||||
|
#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
|
||||||
|
#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
||||||
|
|
||||||
typedef enum _TRACE_INFORMATION_CLASS {
|
typedef enum _TRACE_INFORMATION_CLASS {
|
||||||
TraceIdClass,
|
TraceIdClass,
|
||||||
TraceHandleClass,
|
TraceHandleClass,
|
||||||
|
@ -1444,10 +1452,78 @@ typedef XSAVE_FORMAT XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
|
||||||
|
|
||||||
#endif // _AMD64_
|
#endif // _AMD64_
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* Kernel Functions *
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/* SPINLOCK FUNCTIONS */
|
||||||
|
|
||||||
|
/* FIXME : #if (NTDDI_VERSION >= NTDDI_WS03SP1) */
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
FASTCALL
|
||||||
|
KeTryToAcquireSpinLockAtDpcLevel(
|
||||||
|
IN OUT PKSPIN_LOCK SpinLock
|
||||||
|
);
|
||||||
|
/* #endif (NTDDI_VERSION >= NTDDI_WS03SP1) */
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
FASTCALL
|
||||||
|
KeTestSpinLock(
|
||||||
|
IN PKSPIN_LOCK SpinLock
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Utillity functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ULONG
|
||||||
|
* BYTE_OFFSET(
|
||||||
|
* IN PVOID Va)
|
||||||
|
*/
|
||||||
|
#define BYTE_OFFSET(Va) \
|
||||||
|
((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ULONG
|
||||||
|
* BYTES_TO_PAGES(
|
||||||
|
* IN ULONG Size)
|
||||||
|
*/
|
||||||
|
#define BYTES_TO_PAGES(Size) \
|
||||||
|
(((Size) >> PAGE_SHIFT) + (((Size) & (PAGE_SIZE - 1)) != 0))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PVOID
|
||||||
|
* PAGE_ALIGN(
|
||||||
|
* IN PVOID Va)
|
||||||
|
*/
|
||||||
|
#define PAGE_ALIGN(Va) \
|
||||||
|
((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ULONG_PTR
|
||||||
|
* ROUND_TO_PAGES(
|
||||||
|
* IN ULONG_PTR Size)
|
||||||
|
*/
|
||||||
|
#define ROUND_TO_PAGES(Size) \
|
||||||
|
(((ULONG_PTR) (Size) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1))
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Memory manager Types *
|
* Memory manager Types *
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
#define MM_DONT_ZERO_ALLOCATION 0x00000001
|
||||||
|
#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY 0x00000002
|
||||||
|
#define MM_ALLOCATE_FULLY_REQUIRED 0x00000004
|
||||||
|
#define MM_ALLOCATE_NO_WAIT 0x00000008
|
||||||
|
#define MM_ALLOCATE_PREFER_CONTIGUOUS 0x00000010
|
||||||
|
#define MM_ALLOCATE_REQUIRE_CONTIGUOUS_CHUNKS 0x00000020
|
||||||
|
|
||||||
#define MDL_MAPPED_TO_SYSTEM_VA 0x0001
|
#define MDL_MAPPED_TO_SYSTEM_VA 0x0001
|
||||||
#define MDL_PAGES_LOCKED 0x0002
|
#define MDL_PAGES_LOCKED 0x0002
|
||||||
#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
|
#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
|
||||||
|
@ -6864,10 +6940,6 @@ ExReleaseRundownProtectionEx(
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
#endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
#endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
|
||||||
|
|
||||||
#endif // (NTDDI_VERSION >= NTDDI_WS03)
|
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
|
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
PEX_RUNDOWN_REF_CACHE_AWARE
|
PEX_RUNDOWN_REF_CACHE_AWARE
|
||||||
|
|
|
@ -2052,18 +2052,6 @@ KeGetCurrentProcessorNumber(VOID)
|
||||||
#error Unknown architecture
|
#error Unknown architecture
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MM_DONT_ZERO_ALLOCATION 0x00000001
|
|
||||||
#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY 0x00000002
|
|
||||||
|
|
||||||
|
|
||||||
#define EFLAG_SIGN 0x8000
|
|
||||||
#define EFLAG_ZERO 0x4000
|
|
||||||
#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
|
|
||||||
|
|
||||||
#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
|
||||||
#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
|
|
||||||
#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
|
|
||||||
|
|
||||||
typedef enum _INTERLOCKED_RESULT {
|
typedef enum _INTERLOCKED_RESULT {
|
||||||
ResultNegative = RESULT_NEGATIVE,
|
ResultNegative = RESULT_NEGATIVE,
|
||||||
ResultZero = RESULT_ZERO,
|
ResultZero = RESULT_ZERO,
|
||||||
|
@ -2114,20 +2102,6 @@ typedef struct _PCIBUSDATA
|
||||||
|
|
||||||
/** SPINLOCK FUNCTIONS ********************************************************/
|
/** SPINLOCK FUNCTIONS ********************************************************/
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
BOOLEAN
|
|
||||||
FASTCALL
|
|
||||||
KeTryToAcquireSpinLockAtDpcLevel(
|
|
||||||
IN OUT PKSPIN_LOCK SpinLock
|
|
||||||
);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
BOOLEAN
|
|
||||||
FASTCALL
|
|
||||||
KeTestSpinLock(
|
|
||||||
IN PKSPIN_LOCK SpinLock
|
|
||||||
);
|
|
||||||
|
|
||||||
#if defined (_X86_)
|
#if defined (_X86_)
|
||||||
|
|
||||||
#if defined(WIN9X_COMPAT_SPINLOCK)
|
#if defined(WIN9X_COMPAT_SPINLOCK)
|
||||||
|
@ -2275,40 +2249,6 @@ KeAcquireSpinLockRaiseToDpc(
|
||||||
#define ARGUMENT_PRESENT(ArgumentPointer) \
|
#define ARGUMENT_PRESENT(ArgumentPointer) \
|
||||||
((CHAR*)((ULONG_PTR)(ArgumentPointer)) != (CHAR*)NULL)
|
((CHAR*)((ULONG_PTR)(ArgumentPointer)) != (CHAR*)NULL)
|
||||||
|
|
||||||
/*
|
|
||||||
* ULONG
|
|
||||||
* BYTE_OFFSET(
|
|
||||||
* IN PVOID Va)
|
|
||||||
*/
|
|
||||||
#define BYTE_OFFSET(Va) \
|
|
||||||
((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ULONG
|
|
||||||
* BYTES_TO_PAGES(
|
|
||||||
* IN ULONG Size)
|
|
||||||
*/
|
|
||||||
#define BYTES_TO_PAGES(Size) \
|
|
||||||
((ULONG) ((ULONG_PTR) (Size) >> PAGE_SHIFT) + (((ULONG) (Size) & (PAGE_SIZE - 1)) != 0))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PVOID
|
|
||||||
* PAGE_ALIGN(
|
|
||||||
* IN PVOID Va)
|
|
||||||
*/
|
|
||||||
#define PAGE_ALIGN(Va) \
|
|
||||||
((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ULONG_PTR
|
|
||||||
* ROUND_TO_PAGES(
|
|
||||||
* IN ULONG_PTR Size)
|
|
||||||
*/
|
|
||||||
#define ROUND_TO_PAGES(Size) \
|
|
||||||
((ULONG_PTR) (((ULONG_PTR) Size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(_X86_) || defined(_AMD64_)
|
#if defined(_X86_) || defined(_AMD64_)
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#undef DECLSPEC_IMPORT
|
#undef DECLSPEC_IMPORT
|
||||||
#define DECLSPEC_IMPORT
|
#define DECLSPEC_IMPORT
|
||||||
#include <ntifs.h>
|
#include <ntifs.h>
|
||||||
|
#include <ntddk.h>
|
||||||
#include <wdmguid.h>
|
#include <wdmguid.h>
|
||||||
#include <arc/arc.h>
|
#include <arc/arc.h>
|
||||||
#undef NTHALAPI
|
#undef NTHALAPI
|
||||||
|
|
Loading…
Reference in a new issue