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?re... ============================================================================== --- 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.h... ============================================================================== --- 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_)