mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 19:26:42 +00:00
Added Ke Stub Prototypes
svn path=/trunk/; revision=9850
This commit is contained in:
+263
-16
@@ -1,3 +1,4 @@
|
||||
|
||||
#ifndef __INCLUDE_DDK_KEFUNCS_H
|
||||
#define __INCLUDE_DDK_KEFUNCS_H
|
||||
|
||||
@@ -257,17 +258,6 @@ KeRaiseIrqlToDpcLevel (
|
||||
VOID
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Raises a user mode exception
|
||||
* ARGUMENTS:
|
||||
* ExceptionCode = Status code of the exception
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
KeRaiseUserException (
|
||||
IN NTSTATUS ExceptionCode
|
||||
);
|
||||
|
||||
LONG
|
||||
STDCALL
|
||||
KeReadStateEvent (
|
||||
@@ -482,7 +472,11 @@ Ke386IoSetAccessProcess(struct _EPROCESS* Eprocess, BOOL EnableIo);
|
||||
* Value2 = The value of the high dword of the descriptor.
|
||||
*/
|
||||
VOID
|
||||
KeSetGdtSelector(ULONG Entry, ULONG Value1, ULONG Value2);
|
||||
KeSetGdtSelector(
|
||||
ULONG Entry,
|
||||
ULONG Value1,
|
||||
ULONG Value2
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Releases a set of Global Descriptor Table Selectors
|
||||
@@ -490,8 +484,11 @@ KeSetGdtSelector(ULONG Entry, ULONG Value1, ULONG Value2);
|
||||
* SelArray =
|
||||
* NumOfSelectors =
|
||||
*/
|
||||
NTSTATUS KeI386ReleaseGdtSelectors(OUT PULONG SelArray,
|
||||
IN ULONG NumOfSelectors);
|
||||
NTSTATUS
|
||||
KeI386ReleaseGdtSelectors(
|
||||
OUT PULONG SelArray,
|
||||
IN ULONG NumOfSelectors
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates a set of Global Descriptor Table Selectors
|
||||
@@ -499,8 +496,11 @@ NTSTATUS KeI386ReleaseGdtSelectors(OUT PULONG SelArray,
|
||||
* SelArray =
|
||||
* NumOfSelectors =
|
||||
*/
|
||||
NTSTATUS KeI386AllocateGdtSelectors(OUT PULONG SelArray,
|
||||
IN ULONG NumOfSelectors);
|
||||
NTSTATUS
|
||||
KeI386AllocateGdtSelectors(
|
||||
OUT PULONG SelArray,
|
||||
IN ULONG NumOfSelectors
|
||||
);
|
||||
|
||||
|
||||
KIRQL
|
||||
@@ -536,4 +536,251 @@ VOID STDCALL KiDeliverApc(ULONG Unknown1,
|
||||
|
||||
VOID STDCALL KiDispatchInterrupt(VOID);
|
||||
|
||||
/* Stubs Start here */
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeReleaseInterruptSpinLock(
|
||||
IN PKINTERRUPT Interrupt,
|
||||
IN KIRQL OldIrql
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
KeAreApcsDisabled(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeFlushQueuedDpcs(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
ULONG
|
||||
KeGetRecommendedSharedDataAlignment(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
ULONG
|
||||
KeQueryRuntimeThread(
|
||||
IN PKTHREAD Thread,
|
||||
OUT PULONG UserTime
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
KeSetKernelStackSwapEnable(
|
||||
IN BOOLEAN Enable
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
KeDeregisterBugCheckReasonCallback(
|
||||
IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
KeRegisterBugCheckReasonCallback(
|
||||
IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
|
||||
IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
|
||||
IN KBUGCHECK_CALLBACK_REASON Reason,
|
||||
IN PUCHAR Component
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeTerminateThread(
|
||||
IN KPRIORITY Increment
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeIsExecutingDpc(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeSetEventBoostPriority(
|
||||
IN PKEVENT Event,
|
||||
IN PKTHREAD *Thread OPTIONAL
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PVOID
|
||||
KeFindConfigurationEntry(
|
||||
IN PVOID Unknown,
|
||||
IN ULONG Class,
|
||||
IN CONFIGURATION_TYPE Type,
|
||||
IN PULONG RegKey
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PVOID
|
||||
KeFindConfigurationNextEntry(
|
||||
IN PVOID Unknown,
|
||||
IN ULONG Class,
|
||||
IN CONFIGURATION_TYPE Type,
|
||||
IN PULONG RegKey,
|
||||
IN PVOID *NextLink
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeFlushEntireTb(
|
||||
IN ULONGLONG Flag
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeRevertToUserAffinityThread(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KiCoprocessorError(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KiUnexpectedInterrupt(
|
||||
VOID
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeSetDmaIoCoherency(
|
||||
IN ULONG Coherency
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeSetProfileIrql(
|
||||
IN KIRQL ProfileIrql
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeSetSystemAffinityThread(
|
||||
IN KAFFINITY Affinity
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
KeUserModeCallback(
|
||||
IN ULONG FunctionID,
|
||||
IN PVOID InputBuffer,
|
||||
IN ULONG InputLength,
|
||||
OUT PVOID *OutputBuffer,
|
||||
OUT PULONG OutputLength
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeSetTimeIncrement(
|
||||
IN ULONG MaxIncrement,
|
||||
IN ULONG MinIncrement
|
||||
);
|
||||
|
||||
STDCALL
|
||||
VOID
|
||||
KeCapturePersistentThreadState(
|
||||
IN PVOID CurrentThread,
|
||||
IN ULONG Setting1,
|
||||
IN ULONG Setting2,
|
||||
IN ULONG Setting3,
|
||||
IN ULONG Setting4,
|
||||
IN ULONG Setting5,
|
||||
IN PVOID ThreadState
|
||||
);
|
||||
|
||||
STDCALL
|
||||
BOOLEAN
|
||||
KeRemoveSystemServiceTable(
|
||||
IN PUCHAR Number
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
KeI386FlatToGdtSelector(
|
||||
IN ULONG Base,
|
||||
IN USHORT Length,
|
||||
IN USHORT Selector
|
||||
);
|
||||
|
||||
STDCALL
|
||||
CCHAR
|
||||
KeSetIdealProcessorThread (
|
||||
IN PKTHREAD Thread,
|
||||
IN CCHAR Processor
|
||||
);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(FASTCALL *PTIME_UPDATE_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ThreadId,
|
||||
IN KPROCESSOR_MODE Mode
|
||||
);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
KeSetTimeUpdateNotifyRoutine(
|
||||
IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine
|
||||
);
|
||||
|
||||
STDCALL
|
||||
PKDEVICE_QUEUE_ENTRY
|
||||
KeRemoveByKeyDeviceQueueIfBusy (
|
||||
IN PKDEVICE_QUEUE DeviceQueue,
|
||||
IN ULONG SortKey
|
||||
);
|
||||
|
||||
STDCALL
|
||||
KAFFINITY
|
||||
KeQueryActiveProcessors (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
KeAcquireInStackQueuedSpinLockAtDpcLevel(
|
||||
IN PKSPIN_LOCK SpinLock,
|
||||
IN PKLOCK_QUEUE_HANDLE LockHandle
|
||||
);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
KeReleaseInStackQueuedSpinLockFromDpcLevel(
|
||||
IN PKLOCK_QUEUE_HANDLE LockHandle
|
||||
);
|
||||
|
||||
STDCALL
|
||||
KPRIORITY
|
||||
KeQueryPriorityThread (
|
||||
IN PKTHREAD Thread
|
||||
);
|
||||
|
||||
STDCALL
|
||||
KIRQL
|
||||
KeAcquireInterruptSpinLock(
|
||||
IN PKINTERRUPT Interrupt
|
||||
);
|
||||
|
||||
VOID
|
||||
__cdecl
|
||||
KeSaveStateForHibernate(
|
||||
IN PVOID State
|
||||
);
|
||||
|
||||
STDCALL
|
||||
NTSTATUS
|
||||
KeRaiseUserException(
|
||||
IN NTSTATUS ExceptionCode
|
||||
);
|
||||
|
||||
#endif /* __INCLUDE_DDK_KEFUNCS_H */
|
||||
|
||||
@@ -36,18 +36,7 @@ typedef VOID STDCALL_FUNC
|
||||
|
||||
struct _DISPATCHER_HEADER;
|
||||
|
||||
typedef struct _KWAIT_BLOCK
|
||||
/*
|
||||
* PURPOSE: Object describing the wait a thread is currently performing
|
||||
*/
|
||||
{
|
||||
LIST_ENTRY WaitListEntry;
|
||||
struct _KTHREAD* Thread;
|
||||
struct _DISPATCHER_HEADER *Object;
|
||||
struct _KWAIT_BLOCK* NextWaitBlock;
|
||||
USHORT WaitKey;
|
||||
USHORT WaitType;
|
||||
} KWAIT_BLOCK, *PKWAIT_BLOCK;
|
||||
|
||||
|
||||
#include <pshpack1.h>
|
||||
|
||||
@@ -163,6 +152,29 @@ typedef struct _KEVENT_PAIR
|
||||
|
||||
struct _KDPC;
|
||||
|
||||
typedef struct _KSPIN_LOCK_QUEUE {
|
||||
struct _KSPIN_LOCK_QUEUE * volatile Next;
|
||||
PKSPIN_LOCK volatile Lock;
|
||||
} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
|
||||
|
||||
typedef struct _KLOCK_QUEUE_HANDLE {
|
||||
KSPIN_LOCK_QUEUE LockQueue;
|
||||
KIRQL OldIrql;
|
||||
} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
||||
|
||||
typedef struct _KWAIT_BLOCK
|
||||
/*
|
||||
* PURPOSE: Object describing the wait a thread is currently performing
|
||||
*/
|
||||
{
|
||||
LIST_ENTRY WaitListEntry;
|
||||
struct _KTHREAD* Thread;
|
||||
struct _DISPATCHER_HEADER *Object;
|
||||
struct _KWAIT_BLOCK* NextWaitBlock;
|
||||
USHORT WaitKey;
|
||||
USHORT WaitType;
|
||||
} KWAIT_BLOCK, *PKWAIT_BLOCK;
|
||||
|
||||
/*
|
||||
* PURPOSE: Defines a delayed procedure call routine
|
||||
* NOTE:
|
||||
@@ -229,6 +241,31 @@ typedef struct _WAIT_CONTEXT_BLOCK
|
||||
PKDPC BufferChainingDpc;
|
||||
} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
|
||||
|
||||
typedef enum _KBUGCHECK_CALLBACK_REASON {
|
||||
KbCallbackInvalid,
|
||||
KbCallbackReserved1,
|
||||
KbCallbackSecondaryDumpData,
|
||||
KbCallbackDumpIo,
|
||||
} KBUGCHECK_CALLBACK_REASON;
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(*PKBUGCHECK_REASON_CALLBACK_ROUTINE) (
|
||||
IN KBUGCHECK_CALLBACK_REASON Reason,
|
||||
IN PVOID Record, // This should be struct _KBUGCHECK_REASON_CALLBACK_RECORD* but minggw doesn't want to allow that...
|
||||
IN OUT PVOID ReasonSpecificData,
|
||||
IN ULONG ReasonSpecificDataLength
|
||||
);
|
||||
|
||||
typedef struct _KBUGCHECK_REASON_CALLBACK_RECORD {
|
||||
LIST_ENTRY Entry;
|
||||
PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine;
|
||||
PUCHAR Component;
|
||||
ULONG_PTR Checksum;
|
||||
KBUGCHECK_CALLBACK_REASON Reason;
|
||||
UCHAR State;
|
||||
} KBUGCHECK_REASON_CALLBACK_RECORD, *PKBUGCHECK_REASON_CALLBACK_RECORD;
|
||||
|
||||
struct _KINTERRUPT;
|
||||
|
||||
typedef BOOLEAN STDCALL_FUNC
|
||||
@@ -246,6 +283,45 @@ typedef LONG FLOATL;
|
||||
|
||||
typedef LONG FIX; /* fixed-point number */
|
||||
|
||||
typedef struct _M128 {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} M128, *PM128;
|
||||
|
||||
typedef struct _KEXCEPTION_FRAME {
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
ULONG64 P3Home;
|
||||
ULONG64 P4Home;
|
||||
ULONG64 P5;
|
||||
ULONG64 InitialStack;
|
||||
M128 Xmm6;
|
||||
M128 Xmm7;
|
||||
M128 Xmm8;
|
||||
M128 Xmm9;
|
||||
M128 Xmm10;
|
||||
M128 Xmm11;
|
||||
M128 Xmm12;
|
||||
M128 Xmm13;
|
||||
M128 Xmm14;
|
||||
M128 Xmm15;
|
||||
ULONG64 TrapFrame;
|
||||
ULONG64 CallbackStack;
|
||||
ULONG64 OutputBuffer;
|
||||
ULONG64 OutputLength;
|
||||
UCHAR ExceptionRecord[64];
|
||||
ULONG64 Fill1;
|
||||
ULONG64 Rbp;
|
||||
ULONG64 Rbx;
|
||||
ULONG64 Rdi;
|
||||
ULONG64 Rsi;
|
||||
ULONG64 R12;
|
||||
ULONG64 R13;
|
||||
ULONG64 R14;
|
||||
ULONG64 R15;
|
||||
ULONG64 Return;
|
||||
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
|
||||
/* copied from W32API */
|
||||
typedef struct _KFLOATING_SAVE
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user