// ****************************************************************** // * // * proj : OpenXDK // * // * desc : Open Source XBox Development Kit // * // * file : kernel.h // * // * note : XBox Kernel Declarations // * // ****************************************************************** #ifndef KERNEL_H #define KERNEL_H XBSYSAPI EXPORTNUM(92) NTSTATUS NTAPI KeAlertResumeThread ( IN HANDLE ThreadHandle, IN OUT PULONG PreviousSuspendCount ); XBSYSAPI EXPORTNUM(93) NTSTATUS NTAPI KeAlertThread ( IN HANDLE ThreadHandle ); XBSYSAPI EXPORTNUM(94) NTSTATUS NTAPI KeBoostPriorityThread ( ); // ****************************************************************** // * KeBugCheck // ****************************************************************** XBSYSAPI EXPORTNUM(95) VOID NTAPI KeBugCheck ( IN ULONG BugCheckMode ); XBSYSAPI EXPORTNUM(96) NTSTATUS NTAPI KeBugCheckEx ( IN DWORD BugCheckCode, IN PVOID BugCheckParameter1, IN PVOID BugCheckParameter2, IN PVOID BugCheckParameter3, IN PVOID BugCheckParameter4 ); XBSYSAPI EXPORTNUM(97) BOOLEAN NTAPI KeCancelTimer ( IN PKTIMER ); // ****************************************************************** // * KeConnectInterrupt // ****************************************************************** XBSYSAPI EXPORTNUM(98) LONG NTAPI KeConnectInterrupt ( IN PKINTERRUPT InterruptObject ); // ****************************************************************** // * KeDelayExecutionThread // ****************************************************************** XBSYSAPI EXPORTNUM(99) NTSTATUS NTAPI KeDelayExecutionThread ( IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Interval ); // ****************************************************************** // * KeDisconnectInterrupt // ****************************************************************** XBSYSAPI EXPORTNUM(100) VOID NTAPI KeDisconnectInterrupt ( IN PKINTERRUPT InterruptObject ); // ****************************************************************** // * 0x0065 - KeEnterCriticalRegion() // ****************************************************************** XBSYSAPI EXPORTNUM(101) VOID NTAPI KeEnterCriticalRegion ( VOID ); // ****************************************************************** // * 0x0067 - KeGetCurrentIrql() // ****************************************************************** XBSYSAPI EXPORTNUM(103) KIRQL NTAPI KeGetCurrentIrql(void); // ****************************************************************** // * KeGetCurrentThread // ****************************************************************** XBSYSAPI EXPORTNUM(104) PKTHREAD NTAPI KeGetCurrentThread(void); XBSYSAPI VOID *KeInitializeApc; XBSYSAPI VOID *KeInitializeDeviceQueue; // ****************************************************************** // * KeInitializeDpc // ****************************************************************** XBSYSAPI EXPORTNUM(107) VOID NTAPI KeInitializeDpc ( KDPC *Dpc, PKDEFERRED_ROUTINE DeferredRoutine, PVOID DeferredContext ); XBSYSAPI VOID *KeInitializeEvent; // ****************************************************************** // * KeInitializeInterrupt // ****************************************************************** XBSYSAPI EXPORTNUM(109) VOID NTAPI KeInitializeInterrupt ( OUT PKINTERRUPT Interrupt, IN PKSERVICE_ROUTINE ServiceRoutine, IN PVOID ServiceContext, IN ULONG Vector, IN KIRQL Irql, IN KINTERRUPT_MODE InterruptMode, IN BOOLEAN ShareVector ); XBSYSAPI VOID *KeInitializeMutant; XBSYSAPI VOID *KeInitializeQueue; XBSYSAPI VOID *KeInitializeSemaphore; // ****************************************************************** // * KeInitializeTimerEx // ****************************************************************** XBSYSAPI EXPORTNUM(113) VOID NTAPI KeInitializeTimerEx ( IN PKTIMER Timer, IN TIMER_TYPE Type ); XBSYSAPI VOID *KeInsertByKeyDeviceQueue; XBSYSAPI VOID *KeInsertDeviceQueue; XBSYSAPI VOID *KeInsertHeadQueue; XBSYSAPI VOID *KeInsertQueue; XBSYSAPI VOID *KeInsertQueueApc; // ****************************************************************** // * KeInsertQueueDpc // ****************************************************************** XBSYSAPI EXPORTNUM(119) BOOLEAN NTAPI KeInsertQueueDpc ( IN PKDPC Dpc, IN PVOID SystemArgument1, IN PVOID SystemArgument2 ); XBSYSAPI VOID *KeInterruptTime; XBSYSAPI VOID *KeIsExecutingDpc; // ****************************************************************** // * 0x007A - KeLeaveCriticalRegion() // ****************************************************************** XBSYSAPI EXPORTNUM(122) VOID NTAPI KeLeaveCriticalRegion ( VOID ); XBSYSAPI VOID *KePulseEvent; XBSYSAPI VOID *KeQueryBasePriorityThread; // ****************************************************************** // * KeQueryInterruptTime // ****************************************************************** XBSYSAPI EXPORTNUM(125) ULONGLONG NTAPI KeQueryInterruptTime(void); // ****************************************************************** // * KeQueryPerformanceCounter // ****************************************************************** XBSYSAPI EXPORTNUM(126) ULONGLONG NTAPI KeQueryPerformanceCounter(void); // ****************************************************************** // * KeQueryPerformanceFrequency // ****************************************************************** XBSYSAPI EXPORTNUM(127) ULONGLONG NTAPI KeQueryPerformanceFrequency(void); // ****************************************************************** // * KeQuerySystemTime // ****************************************************************** XBSYSAPI EXPORTNUM(128) VOID NTAPI KeQuerySystemTime ( PLARGE_INTEGER CurrentTime ); // ****************************************************************** // * KeRaiseIrqlToDpcLevel // ****************************************************************** XBSYSAPI EXPORTNUM(129) UCHAR NTAPI KeRaiseIrqlToDpcLevel(); XBSYSAPI VOID *KeRaiseIrqlToSynchLevel; XBSYSAPI VOID *KeReleaseMutant; XBSYSAPI VOID *KeReleaseSemaphore; XBSYSAPI VOID *KeRemoveByKeyDeviceQueue; XBSYSAPI VOID *KeRemoveDeviceQueue; XBSYSAPI VOID *KeRemoveEntryDeviceQueue; XBSYSAPI VOID *KeRemoveQueue; XBSYSAPI VOID *KeRemoveQueueDpc; XBSYSAPI VOID *KeResetEvent; XBSYSAPI VOID *KeRestoreFloatingPointState; XBSYSAPI VOID *KeResumeThread; XBSYSAPI VOID *KeRundownQueue; XBSYSAPI VOID *KeSaveFloatingPointState; // ****************************************************************** // * 0x008F - KeSetBasePriorityThread // ****************************************************************** XBSYSAPI EXPORTNUM(143) LONG NTAPI KeSetBasePriorityThread ( IN PKTHREAD Thread, IN LONG Priority ); XBSYSAPI VOID *KeSetDisableBoostThread; // ****************************************************************** // * 0x0091 - KeSetEvent() // ****************************************************************** XBSYSAPI EXPORTNUM(145) LONG NTAPI KeSetEvent ( IN PRKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait ); XBSYSAPI VOID *KeSetEventBoostPriority; XBSYSAPI VOID *KeSetPriorityProcess; //XBSYSAPI VOID *KeSetPriorityThread; XBSYSAPI EXPORTNUM(148) BOOLEAN NTAPI KeSetPriorityThread ( IN PKTHREAD Thread, IN LONG Priority ); // ****************************************************************** // * KeSetTimer // ****************************************************************** XBSYSAPI EXPORTNUM(149) BOOLEAN NTAPI KeSetTimer ( IN PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL ); // ****************************************************************** // * KeSetTimerEx // ****************************************************************** XBSYSAPI EXPORTNUM(150) BOOLEAN NTAPI KeSetTimerEx ( IN PKTIMER Timer, IN LARGE_INTEGER DueTime, IN LONG Period OPTIONAL, IN PKDPC Dpc OPTIONAL ); // ****************************************************************** // * KeStallExecutionProcessor // ****************************************************************** XBSYSAPI EXPORTNUM(151) VOID NTAPI KeStallExecutionProcessor ( IN ULONG MicroSeconds ); XBSYSAPI VOID *KeSuspendThread; XBSYSAPI VOID *KeSynchronizeExecution; XBSYSAPI VOID *KeSystemTime; XBSYSAPI VOID *KeTestAlertThread; // ****************************************************************** // * KeTickCount // ****************************************************************** XBSYSAPI EXPORTNUM(156) volatile DWORD KeTickCount; XBSYSAPI EXPORTNUM(157) ULONG KeTimeIncrement; XBSYSAPI EXPORTNUM(158) NTSTATUS 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 ); XBSYSAPI EXPORTNUM(159) NTSTATUS KeWaitForSingleObject ( IN PVOID Object, IN KWAIT_REASON WaitReason, IN KPROCESSOR_MODE WaitMode, IN BOOLEAN Alertable, IN PLARGE_INTEGER Timeout OPTIONAL ); #endif