207 lines
5.5 KiB
C
207 lines
5.5 KiB
C
// ******************************************************************
|
|
// *
|
|
// * proj : OpenXDK
|
|
// *
|
|
// * desc : Open Source XBox Development Kit
|
|
// *
|
|
// * file : hal.h
|
|
// *
|
|
// * note : XBox Kernel *Hardware Abstraction Layer* Declarations
|
|
// *
|
|
// ******************************************************************
|
|
#ifndef XBOXKRNL_HAL_H
|
|
#define XBOXKRNL_HAL_H
|
|
|
|
// ******************************************************************
|
|
// * HalReadSMCTrayState
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(9) VOID NTAPI HalReadSMCTrayState
|
|
(
|
|
DWORD* State,
|
|
DWORD* Count
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(38) VOID FASTCALL HalClearSoftwareInterrupt
|
|
(
|
|
KIRQL Request
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(39) VOID NTAPI HalDisableSystemInterrupt
|
|
(
|
|
ULONG Vector,
|
|
KIRQL Irql
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(40) ULONG HalDiskCachePartitionCount;
|
|
XBSYSAPI EXPORTNUM(41) PANSI_STRING HalDiskModelNumber;
|
|
XBSYSAPI EXPORTNUM(42) PANSI_STRING HalDiskSerialNumber;
|
|
XBSYSAPI EXPORTNUM(43) BOOLEAN NTAPI HalEnableSystemInterrupt
|
|
(
|
|
ULONG Vector,
|
|
KIRQL Irql,
|
|
KINTERRUPT_MODE InterruptMode
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalGetInterruptVector
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(44) ULONG NTAPI HalGetInterruptVector
|
|
(
|
|
IN ULONG InterruptLevel,
|
|
OUT PKIRQL Irql
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalReadSMBusValue
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(45) NTSTATUS NTAPI HalReadSMBusValue
|
|
(
|
|
IN UCHAR Address,
|
|
IN UCHAR Command,
|
|
IN BOOLEAN WriteWord,
|
|
OUT PULONG DataValue
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalReadWritePCISpace
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(46) VOID NTAPI HalReadWritePCISpace
|
|
(
|
|
IN ULONG BusNumber,
|
|
IN ULONG SlotNumber,
|
|
IN ULONG RegisterNumber,
|
|
IN PVOID Buffer,
|
|
IN ULONG Length,
|
|
IN BOOLEAN WritePCISpace
|
|
);
|
|
|
|
typedef VOID (*PHAL_SHUTDOWN_NOTIFICATION)(
|
|
IN struct _HAL_SHUTDOWN_REGISTRATION *ShutdownRegistration
|
|
);
|
|
|
|
typedef struct {
|
|
PHAL_SHUTDOWN_NOTIFICATION NotificationRoutine;
|
|
LONG Priority;
|
|
LIST_ENTRY ListEntry;
|
|
} HAL_SHUTDOWN_REGISTRATION, *PHAL_SHUTDOWN_REGISTRATION;
|
|
|
|
// TODO : NTAPI or FASTCALL ?
|
|
XBSYSAPI EXPORTNUM(47) VOID HalRegisterShutdownNotification(
|
|
IN PHAL_SHUTDOWN_REGISTRATION ShutdownRegistration,
|
|
IN BOOLEAN Register
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(46) VOID FASTCALL HalRequestSoftwareInterrupt
|
|
(
|
|
IN KIRQL Request
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalReturnToFirmware
|
|
// ******************************************************************
|
|
// *
|
|
// * Reboot / Shutdown / Etc
|
|
// *
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(49) VOID DECLSPEC_NORETURN HalReturnToFirmware
|
|
(
|
|
RETURN_FIRMWARE Routine
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalWriteSMBusValue
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(50) NTSTATUS NTAPI HalWriteSMBusValue
|
|
(
|
|
UCHAR Address,
|
|
UCHAR Command,
|
|
BOOLEAN WriteWord,
|
|
ULONG DataValue
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * READ_PORT_BUFFER_UCHAR
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(329) VOID NTAPI READ_PORT_BUFFER_UCHAR
|
|
(
|
|
IN PUCHAR Port,
|
|
IN PUCHAR Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * READ_PORT_BUFFER_USHORT
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(330) VOID NTAPI READ_PORT_BUFFER_USHORT
|
|
(
|
|
IN PUSHORT Port,
|
|
IN PUSHORT Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * READ_PORT_BUFFER_ULONG
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(331) VOID NTAPI READ_PORT_BUFFER_ULONG
|
|
(
|
|
IN PULONG Port,
|
|
IN PULONG Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * WRITE_PORT_BUFFER_UCHAR
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(332) VOID NTAPI WRITE_PORT_BUFFER_UCHAR
|
|
(
|
|
IN PUCHAR Port,
|
|
IN PUCHAR Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * WRITE_PORT_BUFFER_USHORT
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(333) VOID NTAPI WRITE_PORT_BUFFER_USHORT
|
|
(
|
|
IN PUSHORT Port,
|
|
IN PUSHORT Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * WRITE_PORT_BUFFER_ULONG
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(334) VOID NTAPI WRITE_PORT_BUFFER_ULONG
|
|
(
|
|
IN PULONG Port,
|
|
IN PULONG Buffer,
|
|
IN ULONG Count
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalBootSMCVideoMode
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(356) DWORD HalBootSMCVideoMode;
|
|
|
|
XBSYSAPI EXPORTNUM(358) BOOLEAN NTAPI HalIsResetOrShutdownPending
|
|
(
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(360) NTSTATUS NTAPI HalInitiateShutdown
|
|
(
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(365) VOID NTAPI HalEnableSecureTrayEject
|
|
(
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(366) NTSTATUS NTAPI HalWriteSMCScratchRegister
|
|
(
|
|
IN DWORD ScratchRegister
|
|
);
|
|
|
|
#endif
|
|
|
|
|