- move pHalGetAcpiTable, PCI_ERROR_HANDLER_CALLBACK, pHalSetPciErrorHandlerCallback, pHalIoAssignDriveLetters
- Add HAL_DISPATCH::pHalIoAssignDriveLetters
- add pre vista versions of pKdMapPhysicalMemory64 and pKdUnmapVirtualAddress
- Fix definition of HalDispatchTable

svn path=/branches/header-work/; revision=46125
This commit is contained in:
Timo Kreuzer 2010-03-11 23:54:57 +00:00
parent 00c46ec5fd
commit 8f6f02163e

View file

@ -607,11 +607,19 @@ PVOID
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
IN ULONG Signature); IN ULONG Signature);
typedef
PVOID
(NTAPI *pHalGetAcpiTable)(
IN ULONG Signature,
IN PCSTR OemId OPTIONAL,
IN PCSTR OemTableId OPTIONAL);
typedef typedef
VOID VOID
(NTAPI *pKdCheckPowerButton)( (NTAPI *pKdCheckPowerButton)(
VOID); VOID);
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef typedef
PVOID PVOID
(NTAPI *pKdMapPhysicalMemory64)( (NTAPI *pKdMapPhysicalMemory64)(
@ -625,6 +633,20 @@ VOID
IN PVOID VirtualAddress, IN PVOID VirtualAddress,
IN ULONG NumberPages, IN ULONG NumberPages,
IN BOOLEAN FlushCurrentTLB); IN BOOLEAN FlushCurrentTLB);
#else
typedef
PVOID
(NTAPI *pKdMapPhysicalMemory64)(
IN PHYSICAL_ADDRESS PhysicalAddress,
IN ULONG NumberPages);
typedef
VOID
(NTAPI *pKdUnmapVirtualAddress)(
IN PVOID VirtualAddress,
IN ULONG NumberPages);
#endif
typedef typedef
ULONG ULONG
@ -649,13 +671,35 @@ typedef BOOLEAN
IN ULONG Columns, IN ULONG Columns,
IN ULONG Rows); IN ULONG Rows);
typedef struct _HAL_DISPATCH { typedef
VOID
(NTAPI *PCI_ERROR_HANDLER_CALLBACK)(
VOID);
typedef
VOID
(NTAPI *pHalSetPciErrorHandlerCallback)(
IN PCI_ERROR_HANDLER_CALLBACK Callback);
#if 1 /* Not present in WDK 7600 */
typedef VOID
(FASTCALL *pHalIoAssignDriveLetters)(
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
IN PSTRING NtDeviceName,
OUT PUCHAR NtSystemPath,
OUT PSTRING NtSystemPathString);
#endif
typedef struct {
ULONG Version; ULONG Version;
pHalQuerySystemInformation HalQuerySystemInformation; pHalQuerySystemInformation HalQuerySystemInformation;
pHalSetSystemInformation HalSetSystemInformation; pHalSetSystemInformation HalSetSystemInformation;
pHalQueryBusSlots HalQueryBusSlots; pHalQueryBusSlots HalQueryBusSlots;
ULONG Spare1; ULONG Spare1;
pHalExamineMBR HalExamineMBR; pHalExamineMBR HalExamineMBR;
#if 1 /* Not present in WDK 7600 */
pHalIoAssignDriveLetters HalIoAssignDriveLetters;
#endif
pHalIoReadPartitionTable HalIoReadPartitionTable; pHalIoReadPartitionTable HalIoReadPartitionTable;
pHalIoSetPartitionInformation HalIoSetPartitionInformation; pHalIoSetPartitionInformation HalIoSetPartitionInformation;
pHalIoWritePartitionTable HalIoWritePartitionTable; pHalIoWritePartitionTable HalIoWritePartitionTable;
@ -679,19 +723,18 @@ typedef struct _HAL_DISPATCH {
#endif #endif
} HAL_DISPATCH, *PHAL_DISPATCH; } HAL_DISPATCH, *PHAL_DISPATCH;
#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) /* GCC/MSVC and WDK compatible declaration */
extern NTKERNELAPI HAL_DISPATCH HalDispatchTable;
extern PHAL_DISPATCH HalDispatchTable; #if defined(_NTOSKRNL_) || defined(_BLDR_)
#define HALDISPATCH HalDispatchTable
#else
extern HAL_DISPATCH HalDispatchTable;
#define HALDISPATCH (&HalDispatchTable) #define HALDISPATCH (&HalDispatchTable)
#else
/* This is a WDK compatibility definition */
#define HalDispatchTable (&HalDispatchTable)
#define HALDISPATCH HalDispatchTable
#endif #endif
#define HAL_DISPATCH_VERSION 3 #define HAL_DISPATCH_VERSION 3 /* FIXME: when to use 4? */
#define HalDispatchTableVersion HALDISPATCH->Version #define HalDispatchTableVersion HALDISPATCH->Version
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation #define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation #define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
@ -1648,32 +1691,6 @@ typedef struct _PCIBUSDATA {
PVOID Reserved[4]; PVOID Reserved[4];
} PCIBUSDATA, *PPCIBUSDATA; } PCIBUSDATA, *PPCIBUSDATA;
typedef
PVOID
(NTAPI *pHalGetAcpiTable)(
IN ULONG Signature,
IN PCSTR OemId OPTIONAL,
IN PCSTR OemTableId OPTIONAL);
typedef
VOID
(NTAPI *PCI_ERROR_HANDLER_CALLBACK)(
VOID);
typedef
VOID
(NTAPI *pHalSetPciErrorHandlerCallback)(
IN PCI_ERROR_HANDLER_CALLBACK Callback);
#if 1 /* Not present in WDK 7600 */
typedef VOID
(FASTCALL *pHalIoAssignDriveLetters)(
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
IN PSTRING NtDeviceName,
OUT PUCHAR NtSystemPath,
OUT PSTRING NtSystemPathString);
#endif
/* Hardware Abstraction Layer Functions */ /* Hardware Abstraction Layer Functions */
#if !defined(NO_LEGACY_DRIVERS) #if !defined(NO_LEGACY_DRIVERS)