mirror of
https://github.com/reactos/reactos.git
synced 2025-06-03 00:10:39 +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 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 {
|
||||
TraceIdClass,
|
||||
TraceHandleClass,
|
||||
|
@ -1444,10 +1452,78 @@ typedef XSAVE_FORMAT XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
|
|||
|
||||
#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 *
|
||||
******************************************************************************/
|
||||
|
||||
#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_PAGES_LOCKED 0x0002
|
||||
#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
|
||||
|
@ -6864,10 +6940,6 @@ ExReleaseRundownProtectionEx(
|
|||
IN ULONG Count);
|
||||
#endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
|
||||
#endif // (NTDDI_VERSION >= NTDDI_WS03)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
|
||||
NTKERNELAPI
|
||||
PEX_RUNDOWN_REF_CACHE_AWARE
|
||||
|
|
|
@ -2052,18 +2052,6 @@ KeGetCurrentProcessorNumber(VOID)
|
|||
#error Unknown architecture
|
||||
#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 {
|
||||
ResultNegative = RESULT_NEGATIVE,
|
||||
ResultZero = RESULT_ZERO,
|
||||
|
@ -2114,20 +2102,6 @@ typedef struct _PCIBUSDATA
|
|||
|
||||
/** SPINLOCK FUNCTIONS ********************************************************/
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
KeTryToAcquireSpinLockAtDpcLevel(
|
||||
IN OUT PKSPIN_LOCK SpinLock
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
KeTestSpinLock(
|
||||
IN PKSPIN_LOCK SpinLock
|
||||
);
|
||||
|
||||
#if defined (_X86_)
|
||||
|
||||
#if defined(WIN9X_COMPAT_SPINLOCK)
|
||||
|
@ -2275,40 +2249,6 @@ KeAcquireSpinLockRaiseToDpc(
|
|||
#define ARGUMENT_PRESENT(ArgumentPointer) \
|
||||
((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_)
|
||||
|
||||
//
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#undef DECLSPEC_IMPORT
|
||||
#define DECLSPEC_IMPORT
|
||||
#include <ntifs.h>
|
||||
#include <ntddk.h>
|
||||
#include <wdmguid.h>
|
||||
#include <arc/arc.h>
|
||||
#undef NTHALAPI
|
||||
|
|
Loading…
Reference in a new issue