mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 01:39:30 +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 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 {
|
typedef enum _TRACE_INFORMATION_CLASS {
|
||||||
TraceIdClass,
|
TraceIdClass,
|
||||||
TraceHandleClass,
|
TraceHandleClass,
|
||||||
|
@ -4873,6 +4881,10 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
|
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
|
||||||
#define RTL_QUERY_REGISTRY_DELETE 0x00000040
|
#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 {
|
typedef struct _RTL_BITMAP {
|
||||||
ULONG SizeOfBitMap;
|
ULONG SizeOfBitMap;
|
||||||
PULONG Buffer;
|
PULONG Buffer;
|
||||||
|
@ -5921,6 +5933,72 @@ RtlCheckBit(
|
||||||
* Executive Types *
|
* 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 {
|
typedef enum _KBUGCHECK_CALLBACK_REASON {
|
||||||
KbCallbackInvalid,
|
KbCallbackInvalid,
|
||||||
KbCallbackReserved1,
|
KbCallbackReserved1,
|
||||||
|
@ -6826,6 +6904,49 @@ ExFreeToPagedLookasideList(
|
||||||
|
|
||||||
#endif // !defined(MIDL_PASS)
|
#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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1573,14 +1573,6 @@ typedef VOID
|
||||||
IN HANDLE ThreadId,
|
IN HANDLE ThreadId,
|
||||||
IN KPROCESSOR_MODE Mode);
|
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 {
|
typedef struct _PHYSICAL_MEMORY_RANGE {
|
||||||
PHYSICAL_ADDRESS BaseAddress;
|
PHYSICAL_ADDRESS BaseAddress;
|
||||||
LARGE_INTEGER NumberOfBytes;
|
LARGE_INTEGER NumberOfBytes;
|
||||||
|
@ -1601,28 +1593,12 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
||||||
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
||||||
#define DRIVER_VERIFIER_IO_CHECKING 0x0010
|
#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
|
typedef VOID
|
||||||
(DDKAPI *PTIMER_APC_ROUTINE)(
|
(DDKAPI *PTIMER_APC_ROUTINE)(
|
||||||
IN PVOID TimerContext,
|
IN PVOID TimerContext,
|
||||||
IN ULONG TimerLowValue,
|
IN ULONG TimerLowValue,
|
||||||
IN LONG TimerHighValue);
|
IN LONG TimerHighValue);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
** WMI structures
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef VOID
|
|
||||||
(DDKAPI *WMI_NOTIFICATION_CALLBACK)(
|
|
||||||
PVOID Wnode,
|
|
||||||
PVOID Context);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Architecture specific structures
|
** Architecture specific structures
|
||||||
*/
|
*/
|
||||||
|
@ -1641,7 +1617,6 @@ typedef VOID
|
||||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
|
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
|
||||||
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
||||||
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
||||||
#define MAXIMUM_SUPPORTED_EXTENSION 512
|
|
||||||
|
|
||||||
typedef struct _FLOATING_SAVE_AREA {
|
typedef struct _FLOATING_SAVE_AREA {
|
||||||
ULONG ControlWord;
|
ULONG ControlWord;
|
||||||
|
@ -1683,24 +1658,6 @@ typedef struct _CONTEXT {
|
||||||
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
||||||
} CONTEXT;
|
} 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 {
|
typedef struct _KPCR_TIB {
|
||||||
PVOID ExceptionList; /* 00 */
|
PVOID ExceptionList; /* 00 */
|
||||||
PVOID StackBase; /* 04 */
|
PVOID StackBase; /* 04 */
|
||||||
|
@ -1742,17 +1699,6 @@ typedef struct _KPCR {
|
||||||
|
|
||||||
#define KeGetPcr() PCR
|
#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
|
FORCEINLINE
|
||||||
ULONG
|
ULONG
|
||||||
KeGetCurrentProcessorNumber(VOID)
|
KeGetCurrentProcessorNumber(VOID)
|
||||||
|
@ -1760,18 +1706,6 @@ KeGetCurrentProcessorNumber(VOID)
|
||||||
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
|
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
|
||||||
}
|
}
|
||||||
|
|
||||||
NTHALAPI
|
|
||||||
KIRQL
|
|
||||||
DDKAPI
|
|
||||||
KeGetCurrentIrql(
|
|
||||||
VOID);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PRKTHREAD
|
|
||||||
NTAPI
|
|
||||||
KeGetCurrentThread(
|
|
||||||
VOID);
|
|
||||||
|
|
||||||
#define KI_USER_SHARED_DATA 0xffdf0000
|
#define KI_USER_SHARED_DATA 0xffdf0000
|
||||||
|
|
||||||
#define PAGE_SIZE 0x1000
|
#define PAGE_SIZE 0x1000
|
||||||
|
@ -2027,12 +1961,6 @@ typedef struct _KFLOATING_SAVE {
|
||||||
ULONG Dummy;
|
ULONG Dummy;
|
||||||
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
} KFLOATING_SAVE, *PKFLOATING_SAVE;
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PRKTHREAD
|
|
||||||
NTAPI
|
|
||||||
KeGetCurrentThread(
|
|
||||||
VOID);
|
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
PKPCR
|
PKPCR
|
||||||
KeGetPcr(VOID)
|
KeGetPcr(VOID)
|
||||||
|
|
Loading…
Reference in a new issue