mirror of
https://github.com/reactos/reactos.git
synced 2024-07-10 22:55:05 +00:00
- Move non-DDK Ke* function prototypes from ROS DDK to NTOS headers.
- Fix calling convention for KeI386* functions. svn path=/trunk/; revision=16043
This commit is contained in:
parent
99cc88158b
commit
0f030a82b0
|
@ -22,16 +22,6 @@ KeSaveFloatingPointState(
|
||||||
|
|
||||||
VOID STDCALL KeAttachProcess(struct _KPROCESS *Process);
|
VOID STDCALL KeAttachProcess(struct _KPROCESS *Process);
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
STDCALL
|
|
||||||
KeIsAttachedProcess(VOID);
|
|
||||||
|
|
||||||
VOID FASTCALL KiAcquireSpinLock(PKSPIN_LOCK SpinLock);
|
|
||||||
|
|
||||||
VOID FASTCALL KiReleaseSpinLock(PKSPIN_LOCK SpinLock);
|
|
||||||
|
|
||||||
VOID KeDrainApcQueue(VOID);
|
|
||||||
|
|
||||||
struct _KPROCESS* STDCALL KeGetCurrentProcess(VOID);
|
struct _KPROCESS* STDCALL KeGetCurrentProcess(VOID);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -99,8 +89,6 @@ BOOLEAN STDCALL KeCancelTimer (PKTIMER Timer);
|
||||||
|
|
||||||
VOID STDCALL KeClearEvent (PKEVENT Event);
|
VOID STDCALL KeClearEvent (PKEVENT Event);
|
||||||
|
|
||||||
BOOLEAN STDCALL KeConnectInterrupt(PKINTERRUPT InterruptObject);
|
|
||||||
|
|
||||||
NTSTATUS STDCALL KeDelayExecutionThread (KPROCESSOR_MODE WaitMode,
|
NTSTATUS STDCALL KeDelayExecutionThread (KPROCESSOR_MODE WaitMode,
|
||||||
BOOLEAN Alertable,
|
BOOLEAN Alertable,
|
||||||
PLARGE_INTEGER Internal);
|
PLARGE_INTEGER Internal);
|
||||||
|
@ -110,17 +98,8 @@ BOOLEAN STDCALL KeDeregisterBugCheckCallback (
|
||||||
|
|
||||||
VOID STDCALL KeDetachProcess (VOID);
|
VOID STDCALL KeDetachProcess (VOID);
|
||||||
|
|
||||||
VOID STDCALL KeDisconnectInterrupt(PKINTERRUPT InterruptObject);
|
|
||||||
|
|
||||||
VOID STDCALL KeEnterCriticalRegion (VOID);
|
VOID STDCALL KeEnterCriticalRegion (VOID);
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Enters the kernel debugger
|
|
||||||
* ARGUMENTS:
|
|
||||||
* None
|
|
||||||
*/
|
|
||||||
VOID STDCALL KeEnterKernelDebugger (VOID);
|
|
||||||
|
|
||||||
KIRQL STDCALL KeGetCurrentIrql (VOID);
|
KIRQL STDCALL KeGetCurrentIrql (VOID);
|
||||||
|
|
||||||
#ifndef __USE_W32API
|
#ifndef __USE_W32API
|
||||||
|
@ -131,16 +110,6 @@ KPROCESSOR_MODE STDCALL KeGetPreviousMode (VOID);
|
||||||
|
|
||||||
struct _KTHREAD* STDCALL KeGetCurrentThread (VOID);
|
struct _KTHREAD* STDCALL KeGetCurrentThread (VOID);
|
||||||
|
|
||||||
VOID STDCALL KeInitializeApc (IN PKAPC Apc,
|
|
||||||
IN PKTHREAD Thread,
|
|
||||||
IN KAPC_ENVIRONMENT TargetEnvironment,
|
|
||||||
IN PKKERNEL_ROUTINE KernelRoutine,
|
|
||||||
IN PKRUNDOWN_ROUTINE RundownRoutine,
|
|
||||||
IN PKNORMAL_ROUTINE NormalRoutine,
|
|
||||||
IN KPROCESSOR_MODE Mode,
|
|
||||||
IN PVOID Context);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VOID
|
* VOID
|
||||||
* KeInitializeCallbackRecord (
|
* KeInitializeCallbackRecord (
|
||||||
|
@ -162,18 +131,6 @@ VOID STDCALL KeInitializeEvent (PKEVENT Event,
|
||||||
EVENT_TYPE Type,
|
EVENT_TYPE Type,
|
||||||
BOOLEAN State);
|
BOOLEAN State);
|
||||||
|
|
||||||
VOID STDCALL KeInitializeInterrupt(PKINTERRUPT InterruptObject,
|
|
||||||
PKSERVICE_ROUTINE ServiceRoutine,
|
|
||||||
PVOID ServiceContext,
|
|
||||||
PKSPIN_LOCK SpinLock,
|
|
||||||
ULONG Vector,
|
|
||||||
KIRQL Irql,
|
|
||||||
KIRQL SynchronizeIrql,
|
|
||||||
KINTERRUPT_MODE InterruptMode,
|
|
||||||
BOOLEAN ShareVector,
|
|
||||||
CHAR ProcessorNumber,
|
|
||||||
BOOLEAN FloatingSave);
|
|
||||||
|
|
||||||
VOID STDCALL KeInitializeMutant(IN PKMUTANT Mutant,
|
VOID STDCALL KeInitializeMutant(IN PKMUTANT Mutant,
|
||||||
IN BOOLEAN InitialOwner);
|
IN BOOLEAN InitialOwner);
|
||||||
|
|
||||||
|
@ -218,11 +175,6 @@ LONG STDCALL
|
||||||
KeInsertQueue(IN PKQUEUE Queue,
|
KeInsertQueue(IN PKQUEUE Queue,
|
||||||
IN PLIST_ENTRY Entry);
|
IN PLIST_ENTRY Entry);
|
||||||
|
|
||||||
BOOLEAN STDCALL KeInsertQueueApc (PKAPC Apc,
|
|
||||||
PVOID SystemArgument1,
|
|
||||||
PVOID SystemArgument2,
|
|
||||||
KPRIORITY PriorityBoost);
|
|
||||||
|
|
||||||
BOOLEAN STDCALL KeInsertQueueDpc (PKDPC Dpc,
|
BOOLEAN STDCALL KeInsertQueueDpc (PKDPC Dpc,
|
||||||
PVOID SystemArgument1,
|
PVOID SystemArgument1,
|
||||||
PVOID SystemArgument2);
|
PVOID SystemArgument2);
|
||||||
|
@ -377,16 +329,6 @@ KeRemoveQueueDpc(IN PKDPC Dpc);
|
||||||
LONG STDCALL
|
LONG STDCALL
|
||||||
KeResetEvent(IN PKEVENT Event);
|
KeResetEvent(IN PKEVENT Event);
|
||||||
|
|
||||||
VOID STDCALL
|
|
||||||
KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount );
|
|
||||||
|
|
||||||
ULONG STDCALL
|
|
||||||
KeRosGetStackFrames ( PULONG Frames, ULONG FrameCount );
|
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
|
||||||
KeSetAffinityThread(PKTHREAD Thread,
|
|
||||||
KAFFINITY Affinity);
|
|
||||||
|
|
||||||
LONG STDCALL
|
LONG STDCALL
|
||||||
KeSetBasePriorityThread(struct _KTHREAD* Thread,
|
KeSetBasePriorityThread(struct _KTHREAD* Thread,
|
||||||
LONG Increment);
|
LONG Increment);
|
||||||
|
@ -447,92 +389,6 @@ KeWaitForSingleObject (
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* io permission map has a 8k size
|
|
||||||
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
|
||||||
* is initialized to allow IO at any port. [ all bits set ].
|
|
||||||
*/
|
|
||||||
typedef struct _IOPM
|
|
||||||
{
|
|
||||||
UCHAR Bitmap[8192];
|
|
||||||
} IOPM, *PIOPM;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Provides the kernel with a new access map for a driver
|
|
||||||
* ARGUMENTS:
|
|
||||||
* NewMap: = If FALSE the kernel's map is set to all disabled. If TRUE
|
|
||||||
* the kernel disables access to a particular port.
|
|
||||||
* IoPortMap = Caller supplies storage for the io permission map.
|
|
||||||
* REMARKS
|
|
||||||
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
|
||||||
* is initialized to allow IO at any port. [ all bits set ]. The IOPL determines
|
|
||||||
* the minium privilege level required to perform IO prior to checking the permission map.
|
|
||||||
*/
|
|
||||||
BOOL STDCALL
|
|
||||||
Ke386SetIoAccessMap(ULONG NewMap, PULONG IoPermissionMap);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Queries the io permission map.
|
|
||||||
* ARGUMENTS:
|
|
||||||
* NewMap: = If FALSE the kernel's map is set to all disabled. If TRUE
|
|
||||||
* the kernel disables access to a particular port.
|
|
||||||
* IoPortMap = Caller supplies storage for the io permission map.
|
|
||||||
* REMARKS
|
|
||||||
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
|
||||||
* is initialized to allow IO at any port. [ all bits set ]. The IOPL determines
|
|
||||||
* the minium privilege level required to perform IO prior to checking the permission map.
|
|
||||||
*/
|
|
||||||
BOOL STDCALL
|
|
||||||
Ke386QueryIoAccessMap(ULONG NewMap, PULONG IoPermissionMap);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Set the process IOPL
|
|
||||||
* ARGUMENTS:
|
|
||||||
* Eprocess = Pointer to a executive process object
|
|
||||||
* EnableIo = Specify TRUE to enable IO and FALSE to disable
|
|
||||||
*/
|
|
||||||
BOOL STDCALL
|
|
||||||
Ke386IoSetAccessProcess(struct _EPROCESS* Eprocess, BOOL EnableIo);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Sets the contents of a gdt descriptor.
|
|
||||||
* ARGUMENTS:
|
|
||||||
* Entry = The selector to set.
|
|
||||||
* Value1 = The value of the low dword of the descriptor.
|
|
||||||
* Value2 = The value of the high dword of the descriptor.
|
|
||||||
*/
|
|
||||||
VOID
|
|
||||||
KeSetGdtSelector(
|
|
||||||
ULONG Entry,
|
|
||||||
ULONG Value1,
|
|
||||||
ULONG Value2
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Releases a set of Global Descriptor Table Selectors
|
|
||||||
* ARGUMENTS:
|
|
||||||
* SelArray =
|
|
||||||
* NumOfSelectors =
|
|
||||||
*/
|
|
||||||
NTSTATUS
|
|
||||||
KeI386ReleaseGdtSelectors(
|
|
||||||
OUT PULONG SelArray,
|
|
||||||
IN ULONG NumOfSelectors
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FUNCTION: Allocates a set of Global Descriptor Table Selectors
|
|
||||||
* ARGUMENTS:
|
|
||||||
* SelArray =
|
|
||||||
* NumOfSelectors =
|
|
||||||
*/
|
|
||||||
NTSTATUS
|
|
||||||
KeI386AllocateGdtSelectors(
|
|
||||||
OUT PULONG SelArray,
|
|
||||||
IN ULONG NumOfSelectors
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
KIRQL
|
KIRQL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KfAcquireSpinLock (
|
KfAcquireSpinLock (
|
||||||
|
@ -560,8 +416,6 @@ KfReleaseSpinLock (
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
VOID STDCALL KiDispatchInterrupt(VOID);
|
|
||||||
|
|
||||||
/* Stubs Start here */
|
/* Stubs Start here */
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -617,97 +471,6 @@ KeRegisterBugCheckReasonCallback(
|
||||||
IN PUCHAR Component
|
IN PUCHAR Component
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeTerminateThread(
|
|
||||||
IN KPRIORITY Increment
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
STDCALL
|
|
||||||
KeIsExecutingDpc(
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeSetEventBoostPriority(
|
|
||||||
IN PKEVENT Event,
|
|
||||||
IN PKTHREAD *Thread OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
PCONFIGURATION_COMPONENT_DATA
|
|
||||||
STDCALL
|
|
||||||
KeFindConfigurationNextEntry(
|
|
||||||
IN PCONFIGURATION_COMPONENT_DATA Child,
|
|
||||||
IN CONFIGURATION_CLASS Class,
|
|
||||||
IN CONFIGURATION_TYPE Type,
|
|
||||||
IN PULONG ComponentKey OPTIONAL,
|
|
||||||
IN PCONFIGURATION_COMPONENT_DATA *NextLink
|
|
||||||
);
|
|
||||||
|
|
||||||
PCONFIGURATION_COMPONENT_DATA
|
|
||||||
STDCALL
|
|
||||||
KeFindConfigurationEntry(
|
|
||||||
IN PCONFIGURATION_COMPONENT_DATA Child,
|
|
||||||
IN CONFIGURATION_CLASS Class,
|
|
||||||
IN CONFIGURATION_TYPE Type,
|
|
||||||
IN PULONG ComponentKey OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeFlushEntireTb(
|
|
||||||
IN BOOLEAN Unknown,
|
|
||||||
IN BOOLEAN CurrentCpuOnly
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeRevertToUserAffinityThread(
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KiCoprocessorError(
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KiUnexpectedInterrupt(
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeSetDmaIoCoherency(
|
|
||||||
IN ULONG Coherency
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeSetProfileIrql(
|
|
||||||
IN KIRQL ProfileIrql
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeSetSystemAffinityThread(
|
|
||||||
IN KAFFINITY Affinity
|
|
||||||
);
|
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
STDCALL
|
|
||||||
KeUserModeCallback(
|
|
||||||
IN ULONG FunctionID,
|
|
||||||
IN PVOID InputBuffer,
|
|
||||||
IN ULONG InputLength,
|
|
||||||
OUT PVOID *OutputBuffer,
|
|
||||||
OUT PULONG OutputLength
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
KeSetTimeIncrement(
|
KeSetTimeIncrement(
|
||||||
|
@ -715,31 +478,6 @@ KeSetTimeIncrement(
|
||||||
IN ULONG MinIncrement
|
IN ULONG MinIncrement
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
|
||||||
STDCALL
|
|
||||||
KeCapturePersistentThreadState(
|
|
||||||
IN PVOID CurrentThread,
|
|
||||||
IN ULONG Setting1,
|
|
||||||
IN ULONG Setting2,
|
|
||||||
IN ULONG Setting3,
|
|
||||||
IN ULONG Setting4,
|
|
||||||
IN ULONG Setting5,
|
|
||||||
IN PVOID ThreadState
|
|
||||||
);
|
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
STDCALL
|
|
||||||
KeRemoveSystemServiceTable(
|
|
||||||
IN ULONG TableIndex
|
|
||||||
);
|
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
KeI386FlatToGdtSelector(
|
|
||||||
IN ULONG Base,
|
|
||||||
IN USHORT Length,
|
|
||||||
IN USHORT Selector
|
|
||||||
);
|
|
||||||
|
|
||||||
CCHAR
|
CCHAR
|
||||||
STDCALL
|
STDCALL
|
||||||
KeSetIdealProcessorThread (
|
KeSetIdealProcessorThread (
|
||||||
|
@ -804,12 +542,6 @@ KeSaveStateForHibernate(
|
||||||
IN PVOID State
|
IN PVOID State
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
STDCALL
|
|
||||||
KeRaiseUserException(
|
|
||||||
IN NTSTATUS ExceptionCode
|
|
||||||
);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KeAcquireGuardedMutex(
|
KeAcquireGuardedMutex(
|
||||||
|
|
|
@ -341,14 +341,6 @@ typedef struct _M128 {
|
||||||
LONGLONG High;
|
LONGLONG High;
|
||||||
} M128, *PM128;
|
} M128, *PM128;
|
||||||
|
|
||||||
typedef struct _CONFIGURATION_COMPONENT_DATA
|
|
||||||
{
|
|
||||||
struct _CONFIGURATION_COMPONENT_DATA *Parent;
|
|
||||||
struct _CONFIGURATION_COMPONENT_DATA *Child;
|
|
||||||
struct _CONFIGURATION_COMPONENT_DATA *Sibling;
|
|
||||||
CONFIGURATION_COMPONENT Component;
|
|
||||||
} CONFIGURATION_COMPONENT_DATA, *PCONFIGURATION_COMPONENT_DATA;
|
|
||||||
|
|
||||||
typedef struct _KEXCEPTION_FRAME {
|
typedef struct _KEXCEPTION_FRAME {
|
||||||
ULONG64 P1Home;
|
ULONG64 P1Home;
|
||||||
ULONG64 P2Home;
|
ULONG64 P2Home;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#define KEBUGCHECK(a) DbgPrint("KeBugCheck (0x%X) at %s:%i\n", a, __FILE__,__LINE__), KeBugCheck(a)
|
#define KEBUGCHECK(a) DbgPrint("KeBugCheck (0x%X) at %s:%i\n", a, __FILE__,__LINE__), KeBugCheck(a)
|
||||||
#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx (0x%X, 0x%X, 0x%X, 0x%X, 0x%X) at %s:%i\n", a, b, c, d, e, __FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
|
#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx (0x%X, 0x%X, 0x%X, 0x%X, 0x%X) at %s:%i\n", a, b, c, d, e, __FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
|
||||||
|
|
||||||
|
#include <arc/arc.h>
|
||||||
|
|
||||||
#ifdef __NTOSKRNL__
|
#ifdef __NTOSKRNL__
|
||||||
extern CHAR EXPORTED KeNumberProcessors;
|
extern CHAR EXPORTED KeNumberProcessors;
|
||||||
|
@ -30,7 +31,249 @@ extern ULONG IMPORTED KeMaximumIncrement;
|
||||||
extern ULONG IMPORTED KeMinimumIncrement;
|
extern ULONG IMPORTED KeMinimumIncrement;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* io permission map has a 8k size
|
||||||
|
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
||||||
|
* is initialized to allow IO at any port. [ all bits set ].
|
||||||
|
*/
|
||||||
|
typedef struct _IOPM
|
||||||
|
{
|
||||||
|
UCHAR Bitmap[8192];
|
||||||
|
} IOPM, *PIOPM;
|
||||||
|
|
||||||
VOID STDCALL KeFlushWriteBuffer (VOID);
|
typedef struct _CONFIGURATION_COMPONENT_DATA
|
||||||
|
{
|
||||||
|
struct _CONFIGURATION_COMPONENT_DATA *Parent;
|
||||||
|
struct _CONFIGURATION_COMPONENT_DATA *Child;
|
||||||
|
struct _CONFIGURATION_COMPONENT_DATA *Sibling;
|
||||||
|
CONFIGURATION_COMPONENT Component;
|
||||||
|
} CONFIGURATION_COMPONENT_DATA, *PCONFIGURATION_COMPONENT_DATA;
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeCapturePersistentThreadState(
|
||||||
|
IN PVOID CurrentThread,
|
||||||
|
IN ULONG Setting1,
|
||||||
|
IN ULONG Setting2,
|
||||||
|
IN ULONG Setting3,
|
||||||
|
IN ULONG Setting4,
|
||||||
|
IN ULONG Setting5,
|
||||||
|
IN PVOID ThreadState);
|
||||||
|
|
||||||
|
BOOLEAN STDCALL
|
||||||
|
KeConnectInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeDisconnectInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeDrainApcQueue(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeEnterKernelDebugger(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
PCONFIGURATION_COMPONENT_DATA STDCALL
|
||||||
|
KeFindConfigurationNextEntry(
|
||||||
|
IN PCONFIGURATION_COMPONENT_DATA Child,
|
||||||
|
IN CONFIGURATION_CLASS Class,
|
||||||
|
IN CONFIGURATION_TYPE Type,
|
||||||
|
IN PULONG ComponentKey OPTIONAL,
|
||||||
|
IN PCONFIGURATION_COMPONENT_DATA *NextLink);
|
||||||
|
|
||||||
|
PCONFIGURATION_COMPONENT_DATA STDCALL
|
||||||
|
KeFindConfigurationEntry(
|
||||||
|
IN PCONFIGURATION_COMPONENT_DATA Child,
|
||||||
|
IN CONFIGURATION_CLASS Class,
|
||||||
|
IN CONFIGURATION_TYPE Type,
|
||||||
|
IN PULONG ComponentKey OPTIONAL);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeFlushEntireTb(
|
||||||
|
IN BOOLEAN Unknown,
|
||||||
|
IN BOOLEAN CurrentCpuOnly);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeFlushWriteBuffer(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeInitializeApc(
|
||||||
|
IN PKAPC Apc,
|
||||||
|
IN PKTHREAD Thread,
|
||||||
|
IN KAPC_ENVIRONMENT TargetEnvironment,
|
||||||
|
IN PKKERNEL_ROUTINE KernelRoutine,
|
||||||
|
IN PKRUNDOWN_ROUTINE RundownRoutine,
|
||||||
|
IN PKNORMAL_ROUTINE NormalRoutine,
|
||||||
|
IN KPROCESSOR_MODE Mode,
|
||||||
|
IN PVOID Context);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeInitializeInterrupt(
|
||||||
|
PKINTERRUPT InterruptObject,
|
||||||
|
PKSERVICE_ROUTINE ServiceRoutine,
|
||||||
|
PVOID ServiceContext,
|
||||||
|
PKSPIN_LOCK SpinLock,
|
||||||
|
ULONG Vector,
|
||||||
|
KIRQL Irql,
|
||||||
|
KIRQL SynchronizeIrql,
|
||||||
|
KINTERRUPT_MODE InterruptMode,
|
||||||
|
BOOLEAN ShareVector,
|
||||||
|
CHAR ProcessorNumber,
|
||||||
|
BOOLEAN FloatingSave);
|
||||||
|
|
||||||
|
BOOLEAN STDCALL
|
||||||
|
KeInsertQueueApc(
|
||||||
|
PKAPC Apc,
|
||||||
|
PVOID SystemArgument1,
|
||||||
|
PVOID SystemArgument2,
|
||||||
|
KPRIORITY PriorityBoost);
|
||||||
|
|
||||||
|
BOOLEAN STDCALL
|
||||||
|
KeIsAttachedProcess(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
BOOLEAN STDCALL
|
||||||
|
KeIsExecutingDpc(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeRevertToUserAffinityThread(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
BOOLEAN STDCALL
|
||||||
|
KeRemoveSystemServiceTable(
|
||||||
|
IN ULONG TableIndex);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeSetAffinityThread(
|
||||||
|
PKTHREAD Thread,
|
||||||
|
KAFFINITY Affinity);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeSetDmaIoCoherency(
|
||||||
|
IN ULONG Coherency);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeSetEventBoostPriority(
|
||||||
|
IN PKEVENT Event,
|
||||||
|
IN PKTHREAD *Thread OPTIONAL);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeSetProfileIrql(
|
||||||
|
IN KIRQL ProfileIrql);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeSetSystemAffinityThread(
|
||||||
|
IN KAFFINITY Affinity);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeTerminateThread(
|
||||||
|
IN KPRIORITY Increment);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeUserModeCallback(
|
||||||
|
IN ULONG FunctionID,
|
||||||
|
IN PVOID InputBuffer,
|
||||||
|
IN ULONG InputLength,
|
||||||
|
OUT PVOID *OutputBuffer,
|
||||||
|
OUT PULONG OutputLength);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeRaiseUserException(
|
||||||
|
IN NTSTATUS ExceptionCode);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FUNCTION: Provides the kernel with a new access map for a driver
|
||||||
|
* ARGUMENTS:
|
||||||
|
* NewMap: = If FALSE the kernel's map is set to all disabled. If TRUE
|
||||||
|
* the kernel disables access to a particular port.
|
||||||
|
* IoPortMap = Caller supplies storage for the io permission map.
|
||||||
|
* REMARKS
|
||||||
|
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
||||||
|
* is initialized to allow IO at any port. [ all bits set ]. The IOPL determines
|
||||||
|
* the minium privilege level required to perform IO prior to checking the permission map.
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
Ke386SetIoAccessMap(
|
||||||
|
ULONG NewMap,
|
||||||
|
PULONG IoPermissionMap);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FUNCTION: Queries the io permission map.
|
||||||
|
* ARGUMENTS:
|
||||||
|
* NewMap: = If FALSE the kernel's map is set to all disabled. If TRUE
|
||||||
|
* the kernel disables access to a particular port.
|
||||||
|
* IoPortMap = Caller supplies storage for the io permission map.
|
||||||
|
* REMARKS
|
||||||
|
* Each bit in the IOPM corresponds to an io port byte address. The bitmap
|
||||||
|
* is initialized to allow IO at any port. [ all bits set ]. The IOPL determines
|
||||||
|
* the minium privilege level required to perform IO prior to checking the permission map.
|
||||||
|
*/
|
||||||
|
BOOL STDCALL
|
||||||
|
Ke386QueryIoAccessMap(
|
||||||
|
ULONG NewMap,
|
||||||
|
PULONG IoPermissionMap);
|
||||||
|
|
||||||
|
/* Set the process IOPL. */
|
||||||
|
BOOL STDCALL
|
||||||
|
Ke386IoSetAccessProcess(
|
||||||
|
struct _EPROCESS *Process,
|
||||||
|
BOOL EnableIo);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeI386FlatToGdtSelector(
|
||||||
|
IN ULONG Base,
|
||||||
|
IN USHORT Length,
|
||||||
|
IN USHORT Selector);
|
||||||
|
|
||||||
|
/* Releases a set of Global Descriptor Table Selectors. */
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeI386ReleaseGdtSelectors(
|
||||||
|
OUT PULONG SelArray,
|
||||||
|
IN ULONG NumOfSelectors);
|
||||||
|
|
||||||
|
/* Allocates a set of Global Descriptor Table Selectors. */
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeI386AllocateGdtSelectors(
|
||||||
|
OUT PULONG SelArray,
|
||||||
|
IN ULONG NumOfSelectors);
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
KiAcquireSpinLock(
|
||||||
|
PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KiCoprocessorError(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KiDispatchInterrupt(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL
|
||||||
|
KeRaiseUserException(
|
||||||
|
IN NTSTATUS ExceptionCode);
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
KiReleaseSpinLock(
|
||||||
|
PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KiUnexpectedInterrupt(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
/* REACTOS SPECIFIC */
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
KeRosDumpStackFrames(
|
||||||
|
PULONG Frame,
|
||||||
|
ULONG FrameCount);
|
||||||
|
|
||||||
|
ULONG STDCALL
|
||||||
|
KeRosGetStackFrames(
|
||||||
|
PULONG Frames,
|
||||||
|
ULONG FrameCount);
|
||||||
|
|
||||||
#endif /* __INCLUDE_NTOS_KEFUNCS_H */
|
#endif /* __INCLUDE_NTOS_KEFUNCS_H */
|
||||||
|
|
|
@ -148,7 +148,7 @@ l4:
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS STDCALL
|
||||||
KeI386FlatToGdtSelector(
|
KeI386FlatToGdtSelector(
|
||||||
IN ULONG Base,
|
IN ULONG Base,
|
||||||
IN USHORT Length,
|
IN USHORT Length,
|
||||||
|
@ -162,7 +162,7 @@ KeI386FlatToGdtSelector(
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS STDCALL
|
||||||
KeI386ReleaseGdtSelectors(
|
KeI386ReleaseGdtSelectors(
|
||||||
OUT PULONG SelArray,
|
OUT PULONG SelArray,
|
||||||
IN ULONG NumOfSelectors
|
IN ULONG NumOfSelectors
|
||||||
|
@ -175,10 +175,10 @@ KeI386ReleaseGdtSelectors(
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
NTSTATUS
|
NTSTATUS STDCALL
|
||||||
KeI386AllocateGdtSelectors(
|
KeI386AllocateGdtSelectors(
|
||||||
OUT PULONG SelArray,
|
OUT PULONG SelArray,
|
||||||
IN ULONG NumOfSelectors
|
IN ULONG NumOfSelectors
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
|
|
|
@ -20,6 +20,9 @@ static KSPIN_LOCK LdtLock;
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
|
/* gdt.c */
|
||||||
|
extern VOID KeSetGdtSelector(ULONG Entry, ULONG Value1, ULONG Value2);
|
||||||
|
|
||||||
BOOL PspIsDescriptorValid(PLDT_ENTRY ldt_entry)
|
BOOL PspIsDescriptorValid(PLDT_ENTRY ldt_entry)
|
||||||
{
|
{
|
||||||
ULONG Base, SegLimit;
|
ULONG Base, SegLimit;
|
||||||
|
|
|
@ -541,13 +541,13 @@ KeGetCurrentThread@0
|
||||||
KeGetPreviousMode@0
|
KeGetPreviousMode@0
|
||||||
KeGetRecommendedSharedDataAlignment@0
|
KeGetRecommendedSharedDataAlignment@0
|
||||||
;KeI386AbiosCall
|
;KeI386AbiosCall
|
||||||
KeI386AllocateGdtSelectors
|
KeI386AllocateGdtSelectors@8
|
||||||
;KeI386Call16BitCStyleFunction
|
;KeI386Call16BitCStyleFunction
|
||||||
;KeI386Call16BitFunction
|
;KeI386Call16BitFunction
|
||||||
KeI386FlatToGdtSelector
|
KeI386FlatToGdtSelector@12
|
||||||
;KeI386GetLid
|
;KeI386GetLid
|
||||||
;KeI386MachineType DATA
|
;KeI386MachineType DATA
|
||||||
KeI386ReleaseGdtSelectors
|
KeI386ReleaseGdtSelectors@8
|
||||||
;KeI386ReleaseLid
|
;KeI386ReleaseLid
|
||||||
;KeI386SetGdtSelector
|
;KeI386SetGdtSelector
|
||||||
KeIcacheFlushCount DATA
|
KeIcacheFlushCount DATA
|
||||||
|
|
Loading…
Reference in a new issue