} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
-/* MicroChannel bus data */
-
-typedef struct _CM_MCA_POS_DATA
-{
- USHORT AdapterId;
- UCHAR PosData1;
- UCHAR PosData2;
- UCHAR PosData3;
- UCHAR PosData4;
-} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
-
-
/* Hal dispatch table */
typedef enum _HAL_QUERY_INFORMATION_CLASS
pHalReferenceBusHandler HalDereferenceBusHandler;
} HAL_DISPATCH, *PHAL_DISPATCH;
-#define HAL_DISPATCH_VERSION 1
-
#ifdef __NTOSKRNL__
extern HAL_DISPATCH EXPORTED HalDispatchTable;
+#define HALDISPATCH (&HalDispatchTable)
#else
-extern HAL_DISPATCH IMPORTED HalDispatchTable;
+extern PHAL_DISPATCH IMPORTED HalDispatchTable;
+#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
#endif
+#define HAL_DISPATCH_VERSION 1
+#define HalDispatchTableVersion HALDISPATCH->Version
+#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
+#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
+#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
+#define HalDeviceControl HALDISPATCH->HalDeviceControl
+#define HalExamineMBR HALDISPATCH->HalExamineMBR
+#define HalIoAssignDriveLetters HALDISPATCH->HalIoAssignDriveLetters
+#define HalIoReadPartitionTable HALDISPATCH->HalIoReadPartitionTable
+#define HalIoSetPartitionInformation HALDISPATCH->HalIoSetPartitionInformation
+#define HalIoWritePartitionTable HALDISPATCH->HalIoWritePartitionTable
+#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
+#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
+#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
+
/* Hal private dispatch table */
ULONG Version;
} HAL_PRIVATE_DISPATCH, *PHAL_PRIVATE_DISPATCH;
-#define HAL_PRIVATE_DISPATCH_VERSION 1
-
#ifdef __NTOSKRNL__
extern HAL_PRIVATE_DISPATCH EXPORTED HalPrivateDispatchTable;
#else
-extern HAL_PRIVATE_DISPATCH IMPORTED HalPrivateDispatchTable;
+extern PHAL_PRIVATE_DISPATCH IMPORTED HalPrivateDispatchTable;
#endif
+#define HAL_PRIVATE_DISPATCH_VERSION 1
+
/*