Author: akhaldi
Date: Fri Mar 5 17:18:23 2010
New Revision: 45871
URL:
http://svn.reactos.org/svn/reactos?rev=45871&view=rev
Log:
- Move more stuff to wdm.h
- Improve more Ke* definitions
Modified:
branches/header-work/include/ddk/wdm.h
branches/header-work/include/ddk/winddk.h
Modified: branches/header-work/include/ddk/wdm.h
URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/wdm.h?r…
==============================================================================
--- branches/header-work/include/ddk/wdm.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/wdm.h [iso-8859-1] Fri Mar 5 17:18:23 2010
@@ -722,6 +722,11 @@
IN PVOID Parameter3
);
+typedef
+ULONG_PTR
+(NTAPI *PKIPI_BROADCAST_WORKER)(
+ IN ULONG_PTR Argument);
+
typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
typedef struct _KSPIN_LOCK_QUEUE {
@@ -971,6 +976,33 @@
* Kernel Functions *
******************************************************************************/
+#if (NTDDI_VERSION >= NTDDI_WIN2K) && defined(SINGLE_GROUP_LEGACY_API)
+NTKERNELAPI
+KAFFINITY
+KeQueryActiveProcessors (
+ VOID);
+#endif
+
+#if !defined(_M_AMD64)
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K)
+
+NTKERNELAPI
+ULONGLONG
+NTAPI
+KeQueryInterruptTime(
+ VOID);
+
+NTKERNELAPI
+VOID
+NTAPI
+KeQuerySystemTime(
+ OUT PLARGE_INTEGER CurrentTime);
+
+#endif
+
+#endif // !_M_AMD64
+
#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTKERNELAPI
@@ -1071,6 +1103,185 @@
NTAPI
KeLeaveCriticalRegion(VOID);
+NTHALAPI
+LARGE_INTEGER
+NTAPI
+KeQueryPerformanceCounter(
+ OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL);
+
+NTKERNELAPI
+KPRIORITY
+NTAPI
+KeQueryPriorityThread(
+ IN PRKTHREAD Thread);
+
+NTKERNELAPI
+ULONG
+NTAPI
+KeQueryTimeIncrement(
+ VOID);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeReadStateEvent(
+ IN PRKEVENT Event);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeReadStateMutex(
+ IN PRKMUTEX Mutex);
+
+
+NTKERNELAPI
+LONG
+NTAPI
+KeReadStateSemaphore(
+ IN PRKSEMAPHORE Semaphore);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeReadStateTimer(
+ IN PKTIMER Timer);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeRegisterBugCheckCallback(
+ OUT PKBUGCHECK_CALLBACK_RECORD CallbackRecord,
+ IN PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,
+ IN PVOID Buffer,
+ IN ULONG Length,
+ IN PUCHAR Component);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeReleaseMutex(
+ IN OUT PRKMUTEX Mutex,
+ IN BOOLEAN Wait);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeReleaseSemaphore(
+ IN OUT PRKSEMAPHORE Semaphore,
+ IN KPRIORITY Increment,
+ IN LONG Adjustment,
+ IN BOOLEAN Wait);
+
+NTKERNELAPI
+PKDEVICE_QUEUE_ENTRY
+NTAPI
+KeRemoveByKeyDeviceQueue(
+ IN OUT PKDEVICE_QUEUE DeviceQueue,
+ IN ULONG SortKey);
+
+NTKERNELAPI
+PKDEVICE_QUEUE_ENTRY
+NTAPI
+KeRemoveDeviceQueue(
+ IN OUT PKDEVICE_QUEUE DeviceQueue);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeRemoveEntryDeviceQueue(
+ IN OUT PKDEVICE_QUEUE DeviceQueue,
+ IN OUT PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeRemoveQueueDpc(
+ IN OUT PRKDPC Dpc);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeResetEvent(
+ IN OUT PRKEVENT Event);
+
+NTKERNELAPI
+LONG
+NTAPI
+KeSetEvent(
+ IN OUT PRKEVENT Event,
+ IN KPRIORITY Increment,
+ IN BOOLEAN Wait);
+
+NTKERNELAPI
+VOID
+NTAPI
+KeSetImportanceDpc(
+ IN OUT PRKDPC Dpc,
+ IN KDPC_IMPORTANCE Importance);
+
+NTKERNELAPI
+KPRIORITY
+NTAPI
+KeSetPriorityThread(
+ IN OUT PKTHREAD Thread,
+ IN KPRIORITY Priority);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeSetTimer(
+ IN OUT PKTIMER Timer,
+ IN LARGE_INTEGER DueTime,
+ IN PKDPC Dpc OPTIONAL);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeSetTimerEx(
+ IN OUT PKTIMER Timer,
+ IN LARGE_INTEGER DueTime,
+ IN LONG Period OPTIONAL,
+ IN PKDPC Dpc OPTIONAL);
+
+NTHALAPI
+VOID
+NTAPI
+KeStallExecutionProcessor(
+ IN ULONG MicroSeconds);
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+KeSynchronizeExecution(
+ IN OUT PKINTERRUPT Interrupt,
+ IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
+ IN PVOID SynchronizeContext OPTIONAL);
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+KeWaitForMultipleObjects(
+ IN ULONG Count,
+ IN PVOID Object[],
+ IN WAIT_TYPE WaitType,
+ IN KWAIT_REASON WaitReason,
+ IN KPROCESSOR_MODE WaitMode,
+ IN BOOLEAN Alertable,
+ IN PLARGE_INTEGER Timeout OPTIONAL,
+ OUT PKWAIT_BLOCK WaitBlockArray OPTIONAL);
+
+#define KeWaitForMutexObject KeWaitForSingleObject
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+KeWaitForSingleObject(
+ IN PVOID Object,
+ IN KWAIT_REASON WaitReason,
+ IN KPROCESSOR_MODE WaitMode,
+ IN BOOLEAN Alertable,
+ IN PLARGE_INTEGER Timeout OPTIONAL);
+
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
@@ -1104,6 +1315,26 @@
NTAPI
KeGetRecommendedSharedDataAlignment(VOID);
+NTKERNELAPI
+ULONG
+NTAPI
+KeQueryRuntimeThread(
+ IN PKTHREAD Thread,
+ OUT PULONG UserTime);
+
+NTKERNELAPI
+VOID
+FASTCALL
+KeReleaseInStackQueuedSpinLockFromDpcLevel(
+ IN PKLOCK_QUEUE_HANDLE LockHandle);
+
+NTKERNELAPI
+VOID
+NTAPI
+KeReleaseInterruptSpinLock(
+ IN OUT PKINTERRUPT Interrupt,
+ IN KIRQL OldIrql);
+
#endif
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
@@ -1115,6 +1346,44 @@
VOID);
#endif
+
+#if (NTDDI_VERSION >= NTDDI_WS03)
+
+NTKERNELAPI
+PVOID
+NTAPI
+KeRegisterNmiCallback(
+ IN PNMI_CALLBACK CallbackRoutine,
+ IN PVOID Context OPTIONAL);
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+KeDeregisterNmiCallback(
+ IN PVOID Handle
+);
+
+NTKERNELAPI
+ULONG_PTR
+NTAPI
+KeIpiGenericCall(
+ IN PKIPI_BROADCAST_WORKER BroadcastFunction,
+ IN ULONG_PTR Context
+);
+
+#endif
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+KeSaveFloatingPointState(
+ OUT PKFLOATING_SAVE FloatSave);
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+KeRestoreFloatingPointState(
+ IN PKFLOATING_SAVE FloatSave);
#if defined(_IA64_)
FORCEINLINE
@@ -1136,6 +1405,28 @@
NTAPI
KeClearEvent(
IN OUT PRKEVENT Event);
+
+#if (NTDDI_VERSION >= NTDDI_WIN2K) && defined(SINGLE_GROUP_LEGACY_API)
+
+NTKERNELAPI
+VOID
+NTAPI
+KeRevertToUserAffinityThread(VOID);
+
+NTKERNELAPI
+VOID
+NTAPI
+KeSetSystemAffinityThread(
+ IN KAFFINITY Affinity);
+
+NTKERNELAPI
+VOID
+NTAPI
+KeSetTargetProcessorDpc(
+ IN PRKDPC Dpc,
+ IN CCHAR Number);
+
+#endif
/*
* VOID
@@ -9032,14 +9323,14 @@
#endif
/* Thread Access Rights */
-#define THREAD_TERMINATE (0x0001)
-#define THREAD_SUSPEND_RESUME (0x0002)
+#define THREAD_TERMINATE (0x0001)
+#define THREAD_SUSPEND_RESUME (0x0002)
#define THREAD_ALERT (0x0004)
-#define THREAD_GET_CONTEXT (0x0008)
-#define THREAD_SET_CONTEXT (0x0010)
-#define THREAD_SET_INFORMATION (0x0020)
-#define THREAD_SET_LIMITED_INFORMATION (0x0400)
-#define THREAD_QUERY_LIMITED_INFORMATION (0x0800)
+#define THREAD_GET_CONTEXT (0x0008)
+#define THREAD_SET_CONTEXT (0x0010)
+#define THREAD_SET_INFORMATION (0x0020)
+#define THREAD_SET_LIMITED_INFORMATION (0x0400)
+#define THREAD_QUERY_LIMITED_INFORMATION (0x0800)
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
0xFFFF)
@@ -9070,6 +9361,24 @@
#define QUOTA_LIMITS_HARDWS_MAX_ENABLE 0x00000004
#define QUOTA_LIMITS_HARDWS_MAX_DISABLE 0x00000008
#define QUOTA_LIMITS_USE_DEFAULT_LIMITS 0x00000010
+
+/* Exported object types */
+extern POBJECT_TYPE NTSYSAPI ExEventObjectType;
+extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType;
+extern POBJECT_TYPE NTSYSAPI IoFileObjectType;
+extern POBJECT_TYPE NTSYSAPI PsThreadType;
+extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
+extern POBJECT_TYPE NTSYSAPI PsProcessType;
+
+#if defined(_IA64_)
+
+extern volatile LARGE_INTEGER KeTickCount;
+
+#elif defined(_X86_)
+
+extern volatile KSYSTEM_TIME KeTickCount;
+
+#endif
/* HACK HACK HACK - GCC (or perhaps LD) is messing this up */
#if defined(_NTSYSTEM_) || defined(__GNUC__)
Modified: branches/header-work/include/ddk/winddk.h
URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/winddk.…
==============================================================================
--- branches/header-work/include/ddk/winddk.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/winddk.h [iso-8859-1] Fri Mar 5 17:18:23 2010
@@ -102,11 +102,6 @@
IrpNotWmi, // Irp is not a WMI irp
IrpForward // Irp is wmi irp, but targeted at another device object
} SYSCTL_IRP_DISPOSITION, *PSYSCTL_IRP_DISPOSITION;
-
-//
-// Forwarder
-//
-struct _COMPRESSED_DATA_INFO;
#define KERNEL_STACK_SIZE 12288
#define KERNEL_LARGE_STACK_SIZE 61440
@@ -237,21 +232,14 @@
/* end winnt.h */
-#define THREAD_ALERT (0x0004)
-
/* Exported object types */
extern POBJECT_TYPE NTSYSAPI ExDesktopObjectType;
-extern POBJECT_TYPE NTSYSAPI ExEventObjectType;
-extern POBJECT_TYPE NTSYSAPI ExSemaphoreObjectType;
extern POBJECT_TYPE NTSYSAPI ExWindowStationObjectType;
extern ULONG NTSYSAPI IoDeviceHandlerObjectSize;
extern POBJECT_TYPE NTSYSAPI IoDeviceHandlerObjectType;
extern POBJECT_TYPE NTSYSAPI IoDeviceObjectType;
extern POBJECT_TYPE NTSYSAPI IoDriverObjectType;
-extern POBJECT_TYPE NTSYSAPI IoFileObjectType;
-extern POBJECT_TYPE NTSYSAPI PsThreadType;
extern POBJECT_TYPE NTSYSAPI LpcPortObjectType;
-extern POBJECT_TYPE NTSYSAPI SeTokenObjectType;
extern POBJECT_TYPE NTSYSAPI PsProcessType;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
@@ -266,8 +254,6 @@
#endif
#define MAX_WOW64_SHARED_ENTRIES 16
-
-extern volatile KSYSTEM_TIME KeTickCount;
#define NX_SUPPORT_POLICY_ALWAYSOFF 0
#define NX_SUPPORT_POLICY_ALWAYSON 1
@@ -2861,44 +2847,7 @@
IN KPRIORITY Increment,
IN BOOLEAN Wait);
-NTKERNELAPI
-KAFFINITY
-NTAPI
-KeQueryActiveProcessors(
- VOID
-);
-
-NTHALAPI
-LARGE_INTEGER
-NTAPI
-KeQueryPerformanceCounter(
- OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL);
-
-NTKERNELAPI
-KPRIORITY
-NTAPI
-KeQueryPriorityThread(
- IN PRKTHREAD Thread);
-
-NTKERNELAPI
-ULONG
-NTAPI
-KeQueryRuntimeThread(
- IN PKTHREAD Thread,
- OUT PULONG UserTime);
-
#if !defined(_M_AMD64)
-NTKERNELAPI
-ULONGLONG
-NTAPI
-KeQueryInterruptTime(
- VOID);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
NTKERNELAPI
VOID
@@ -2908,140 +2857,6 @@
#endif
NTKERNELAPI
-ULONG
-NTAPI
-KeQueryTimeIncrement(
- VOID);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateEvent(
- IN PRKEVENT Event);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateMutex(
- IN PRKMUTEX Mutex);
-
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateSemaphore(
- IN PRKSEMAPHORE Semaphore);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeReadStateTimer(
- IN PKTIMER Timer);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRegisterBugCheckCallback(
- IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord,
- IN PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,
- IN PVOID Buffer,
- IN ULONG Length,
- IN PUCHAR Component);
-
-NTKERNELAPI
-PVOID
-NTAPI
-KeRegisterNmiCallback(
- IN PNMI_CALLBACK CallbackRoutine,
- IN PVOID Context
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeDeregisterNmiCallback(
- IN PVOID Handle
-);
-
-NTKERNELAPI
-VOID
-FASTCALL
-KeReleaseInStackQueuedSpinLockFromDpcLevel(
- IN PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeReleaseInterruptSpinLock(
- IN PKINTERRUPT Interrupt,
- IN KIRQL OldIrql);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReleaseMutex(
- IN PRKMUTEX Mutex,
- IN BOOLEAN Wait);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReleaseSemaphore(
- IN PRKSEMAPHORE Semaphore,
- IN KPRIORITY Increment,
- IN LONG Adjustment,
- IN BOOLEAN Wait);
-
-NTKERNELAPI
-PKDEVICE_QUEUE_ENTRY
-NTAPI
-KeRemoveByKeyDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN ULONG SortKey);
-
-NTKERNELAPI
-PKDEVICE_QUEUE_ENTRY
-NTAPI
-KeRemoveDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRemoveEntryDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeRemoveQueueDpc(
- IN PRKDPC Dpc);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeResetEvent(
- IN PRKEVENT Event);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeRestoreFloatingPointState(
- IN PKFLOATING_SAVE FloatSave);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeRevertToUserAffinityThread(VOID);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeSaveFloatingPointState(
- OUT PKFLOATING_SAVE FloatSave);
-
-NTKERNELAPI
LONG
NTAPI
KeSetBasePriorityThread(
@@ -3049,123 +2864,10 @@
IN LONG Increment);
NTKERNELAPI
-LONG
-NTAPI
-KeSetEvent(
- IN PRKEVENT Event,
- IN KPRIORITY Increment,
- IN BOOLEAN Wait);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetImportanceDpc(
- IN PRKDPC Dpc,
- IN KDPC_IMPORTANCE Importance);
-
-NTKERNELAPI
-KPRIORITY
-NTAPI
-KeSetPriorityThread(
- IN PKTHREAD Thread,
- IN KPRIORITY Priority);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetSystemAffinityThread(
- IN KAFFINITY Affinity);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeSetTargetProcessorDpc(
- IN PRKDPC Dpc,
- IN CCHAR Number);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSetTimer(
- IN PKTIMER Timer,
- IN LARGE_INTEGER DueTime,
- IN PKDPC Dpc OPTIONAL);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSetTimerEx(
- IN PKTIMER Timer,
- IN LARGE_INTEGER DueTime,
- IN LONG Period OPTIONAL,
- IN PKDPC Dpc OPTIONAL);
-
-NTKERNELAPI
VOID
FASTCALL
KeSetTimeUpdateNotifyRoutine(
IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTHALAPI
-VOID
-NTAPI
-KeStallExecutionProcessor(
- IN ULONG MicroSeconds);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeSynchronizeExecution(
- IN PKINTERRUPT Interrupt,
- IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
- IN PVOID SynchronizeContext);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForMultipleObjects(
- IN ULONG Count,
- IN PVOID Object[],
- IN WAIT_TYPE WaitType,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL,
- IN PKWAIT_BLOCK WaitBlockArray OPTIONAL);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForMutexObject(
- IN PRKMUTEX Mutex,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-KeWaitForSingleObject(
- IN PVOID Object,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
-typedef
-ULONG_PTR
-(NTAPI *PKIPI_BROADCAST_WORKER)(
- IN ULONG_PTR Argument
-);
-
-NTKERNELAPI
-ULONG_PTR
-NTAPI
-KeIpiGenericCall(
- IN PKIPI_BROADCAST_WORKER BroadcastFunction,
- IN ULONG_PTR Context
-);
#if defined(_X86_)