mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
- Move more stuff to wdm.h
- Improve Interrupt Request Level definitions - KeGetCurrentIrql : DDKAPI -> NTAPI - KeGetCurrentThread : Fix the definition, remove a redundant one and NTKERNELAPI -> NTSYSAPI svn path=/branches/header-work/; revision=45757
This commit is contained in:
parent
7e19d52e3d
commit
8eb606c117
2 changed files with 121 additions and 72 deletions
|
@ -963,6 +963,14 @@ InterlockedPushEntrySList(
|
|||
|
||||
#define PROCESSOR_FEATURE_MAX 64
|
||||
|
||||
#define DBG_STATUS_CONTROL_C 1
|
||||
#define DBG_STATUS_SYSRQ 2
|
||||
#define DBG_STATUS_BUGCHECK_FIRST 3
|
||||
#define DBG_STATUS_BUGCHECK_SECOND 4
|
||||
#define DBG_STATUS_FATAL 5
|
||||
#define DBG_STATUS_DEBUG_CONTROL 6
|
||||
#define DBG_STATUS_WORKER 7
|
||||
|
||||
typedef enum _TRACE_INFORMATION_CLASS {
|
||||
TraceIdClass,
|
||||
TraceHandleClass,
|
||||
|
@ -4873,6 +4881,10 @@ typedef struct _IO_STACK_LOCATION {
|
|||
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
|
||||
#define RTL_QUERY_REGISTRY_DELETE 0x00000040
|
||||
|
||||
#define HASH_STRING_ALGORITHM_DEFAULT 0
|
||||
#define HASH_STRING_ALGORITHM_X65599 1
|
||||
#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
|
||||
|
||||
typedef struct _RTL_BITMAP {
|
||||
ULONG SizeOfBitMap;
|
||||
PULONG Buffer;
|
||||
|
@ -5921,6 +5933,72 @@ RtlCheckBit(
|
|||
* Executive Types *
|
||||
******************************************************************************/
|
||||
|
||||
#define MAXIMUM_SUPPORTED_EXTENSION 512
|
||||
|
||||
typedef ULONG PFN_COUNT;
|
||||
typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
|
||||
typedef LONG SPFN_NUMBER, *PSPFN_NUMBER;
|
||||
|
||||
#if defined(_X86_)
|
||||
|
||||
#define PASSIVE_LEVEL 0
|
||||
#define LOW_LEVEL 0
|
||||
#define APC_LEVEL 1
|
||||
#define DISPATCH_LEVEL 2
|
||||
#define CMCI_LEVEL 5
|
||||
#define PROFILE_LEVEL 27
|
||||
#define CLOCK1_LEVEL 28
|
||||
#define CLOCK2_LEVEL 28
|
||||
#define IPI_LEVEL 29
|
||||
#define POWER_LEVEL 30
|
||||
#define HIGH_LEVEL 31
|
||||
#define CLOCK_LEVEL (CLOCK2_LEVEL)
|
||||
|
||||
#endif
|
||||
#if defined(_AMD64_)
|
||||
|
||||
#define PASSIVE_LEVEL 0
|
||||
#define LOW_LEVEL 0
|
||||
#define APC_LEVEL 1
|
||||
#define DISPATCH_LEVEL 2
|
||||
#define CMCI_LEVEL 5
|
||||
#define CLOCK_LEVEL 13
|
||||
#define IPI_LEVEL 14
|
||||
#define DRS_LEVEL 14
|
||||
#define POWER_LEVEL 14
|
||||
#define PROFILE_LEVEL 15
|
||||
#define HIGH_LEVEL 15
|
||||
|
||||
#endif
|
||||
#if defined(_IA64_)
|
||||
|
||||
#define PASSIVE_LEVEL 0
|
||||
#define LOW_LEVEL 0
|
||||
#define APC_LEVEL 1
|
||||
#define DISPATCH_LEVEL 2
|
||||
#define CMC_LEVEL 3
|
||||
#define DEVICE_LEVEL_BASE 4
|
||||
#define PC_LEVEL 12
|
||||
#define IPI_LEVEL 14
|
||||
#define DRS_LEVEL 14
|
||||
#define CLOCK_LEVEL 13
|
||||
#define POWER_LEVEL 15
|
||||
#define PROFILE_LEVEL 15
|
||||
#define HIGH_LEVEL 15
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _KFLOATING_SAVE {
|
||||
ULONG ControlWord;
|
||||
ULONG StatusWord;
|
||||
ULONG ErrorOffset;
|
||||
ULONG ErrorSelector;
|
||||
ULONG DataOffset;
|
||||
ULONG DataSelector;
|
||||
ULONG Cr0NpxState;
|
||||
ULONG Spare1;
|
||||
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
||||
|
||||
typedef enum _KBUGCHECK_CALLBACK_REASON {
|
||||
KbCallbackInvalid,
|
||||
KbCallbackReserved1,
|
||||
|
@ -6826,6 +6904,49 @@ ExFreeToPagedLookasideList(
|
|||
|
||||
#endif // !defined(MIDL_PASS)
|
||||
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
NTAPI
|
||||
KeGetCurrentIrql(
|
||||
VOID);
|
||||
|
||||
#if defined(_M_AMD64)
|
||||
|
||||
ULONG64
|
||||
__readgsqword (
|
||||
IN ULONG Offset);
|
||||
|
||||
#pragma intrinsic(__readgsqword)
|
||||
|
||||
FORCEINLINE
|
||||
PKTHREAD
|
||||
KeGetCurrentThread (
|
||||
VOID)
|
||||
{
|
||||
return (struct _KTHREAD *)__readgsqword(0x188);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(_M_IX86) || defined(_M_IA64)
|
||||
|
||||
NTSYSAPI
|
||||
PKTHREAD
|
||||
NTAPI
|
||||
KeGetCurrentThread(
|
||||
VOID);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
** WMI structures
|
||||
*/
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *WMI_NOTIFICATION_CALLBACK)(
|
||||
PVOID Wnode,
|
||||
PVOID Context);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -1573,14 +1573,6 @@ typedef VOID
|
|||
IN HANDLE ThreadId,
|
||||
IN KPROCESSOR_MODE Mode);
|
||||
|
||||
#define DBG_STATUS_CONTROL_C 1
|
||||
#define DBG_STATUS_SYSRQ 2
|
||||
#define DBG_STATUS_BUGCHECK_FIRST 3
|
||||
#define DBG_STATUS_BUGCHECK_SECOND 4
|
||||
#define DBG_STATUS_FATAL 5
|
||||
#define DBG_STATUS_DEBUG_CONTROL 6
|
||||
#define DBG_STATUS_WORKER 7
|
||||
|
||||
typedef struct _PHYSICAL_MEMORY_RANGE {
|
||||
PHYSICAL_ADDRESS BaseAddress;
|
||||
LARGE_INTEGER NumberOfBytes;
|
||||
|
@ -1601,28 +1593,12 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
|||
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
||||
#define DRIVER_VERIFIER_IO_CHECKING 0x0010
|
||||
|
||||
#define HASH_STRING_ALGORITHM_DEFAULT 0
|
||||
#define HASH_STRING_ALGORITHM_X65599 1
|
||||
#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PTIMER_APC_ROUTINE)(
|
||||
IN PVOID TimerContext,
|
||||
IN ULONG TimerLowValue,
|
||||
IN LONG TimerHighValue);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
** WMI structures
|
||||
*/
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *WMI_NOTIFICATION_CALLBACK)(
|
||||
PVOID Wnode,
|
||||
PVOID Context);
|
||||
|
||||
|
||||
/*
|
||||
** Architecture specific structures
|
||||
*/
|
||||
|
@ -1641,7 +1617,6 @@ typedef VOID
|
|||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
|
||||
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
||||
#define MAXIMUM_SUPPORTED_EXTENSION 512
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
ULONG ControlWord;
|
||||
|
@ -1683,24 +1658,6 @@ typedef struct _CONTEXT {
|
|||
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
||||
} CONTEXT;
|
||||
|
||||
//
|
||||
// Used to contain PFNs and PFN counts
|
||||
//
|
||||
typedef ULONG PFN_COUNT;
|
||||
typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
|
||||
typedef LONG SPFN_NUMBER, *PSPFN_NUMBER;
|
||||
|
||||
#define PASSIVE_LEVEL 0
|
||||
#define LOW_LEVEL 0
|
||||
#define APC_LEVEL 1
|
||||
#define DISPATCH_LEVEL 2
|
||||
#define PROFILE_LEVEL 27
|
||||
#define CLOCK1_LEVEL 28
|
||||
#define CLOCK2_LEVEL 28
|
||||
#define IPI_LEVEL 29
|
||||
#define POWER_LEVEL 30
|
||||
#define HIGH_LEVEL 31
|
||||
|
||||
typedef struct _KPCR_TIB {
|
||||
PVOID ExceptionList; /* 00 */
|
||||
PVOID StackBase; /* 04 */
|
||||
|
@ -1742,17 +1699,6 @@ typedef struct _KPCR {
|
|||
|
||||
#define KeGetPcr() PCR
|
||||
|
||||
typedef struct _KFLOATING_SAVE {
|
||||
ULONG ControlWord;
|
||||
ULONG StatusWord;
|
||||
ULONG ErrorOffset;
|
||||
ULONG ErrorSelector;
|
||||
ULONG DataOffset;
|
||||
ULONG DataSelector;
|
||||
ULONG Cr0NpxState;
|
||||
ULONG Spare1;
|
||||
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
||||
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
KeGetCurrentProcessorNumber(VOID)
|
||||
|
@ -1760,18 +1706,6 @@ KeGetCurrentProcessorNumber(VOID)
|
|||
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
|
||||
}
|
||||
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
DDKAPI
|
||||
KeGetCurrentIrql(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PRKTHREAD
|
||||
NTAPI
|
||||
KeGetCurrentThread(
|
||||
VOID);
|
||||
|
||||
#define KI_USER_SHARED_DATA 0xffdf0000
|
||||
|
||||
#define PAGE_SIZE 0x1000
|
||||
|
@ -2027,12 +1961,6 @@ typedef struct _KFLOATING_SAVE {
|
|||
ULONG Dummy;
|
||||
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
||||
|
||||
NTKERNELAPI
|
||||
PRKTHREAD
|
||||
NTAPI
|
||||
KeGetCurrentThread(
|
||||
VOID);
|
||||
|
||||
FORCEINLINE
|
||||
PKPCR
|
||||
KeGetPcr(VOID)
|
||||
|
|
Loading…
Reference in a new issue