Cxbx-Reloaded/import/OpenXDK/include/xboxkrnl/hal.h

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