177 lines
5.0 KiB
C
177 lines
5.0 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 VOID *HalClearSoftwareInterrupt;
|
|
XBSYSAPI VOID *HalDisableSystemInterrupt;
|
|
XBSYSAPI ULONG HalDiskCachePartitionCount;
|
|
XBSYSAPI VOID *HalDiskModelNumber;
|
|
XBSYSAPI VOID *HalDiskSerialNumber;
|
|
XBSYSAPI VOID *HalEnableSystemInterrupt;
|
|
|
|
// ******************************************************************
|
|
// * HalGetInterruptVector
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(44) ULONG NTAPI HalGetInterruptVector
|
|
(
|
|
IN ULONG InterruptLevel,
|
|
OUT CHAR* 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;
|
|
|
|
XBSYSAPI EXPORTNUM(47) VOID HalRegisterShutdownNotification(
|
|
IN PHAL_SHUTDOWN_REGISTRATION ShutdownRegistration,
|
|
IN BOOLEAN Register
|
|
);
|
|
|
|
XBSYSAPI VOID *HalRequestSoftwareInterrupt;
|
|
|
|
// ******************************************************************
|
|
// * 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
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * HalBootSMCVideoMode
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(356) DWORD HalBootSMCVideoMode;
|
|
|
|
XBSYSAPI VOID *HalIsResetOrShutdownPending;
|
|
XBSYSAPI VOID *HalInitiateShutdown;
|
|
XBSYSAPI VOID *HalEnableSecureTrayEject;
|
|
XBSYSAPI VOID *HalWriteSMCScratchRegister;
|
|
|
|
// ******************************************************************
|
|
// * 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
|
|
);
|
|
|
|
#endif
|
|
|
|
|