3 Copyright (c) Alex Ionescu. All rights reserved.
11 Type definitions for the HAL.
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
27 #ifndef NTOS_MODE_USER
30 // Multi-Boot Flags (FIXME)
32 #define MB_FLAGS_MEM_INFO (0x1)
33 #define MB_FLAGS_BOOT_DEVICE (0x2)
34 #define MB_FLAGS_COMMAND_LINE (0x4)
35 #define MB_FLAGS_MODULE_INFO (0x8)
36 #define MB_FLAGS_AOUT_SYMS (0x10)
37 #define MB_FLAGS_ELF_SYMS (0x20)
38 #define MB_FLAGS_MMAP_INFO (0x40)
39 #define MB_FLAGS_DRIVES_INFO (0x80)
40 #define MB_FLAGS_CONFIG_TABLE (0x100)
41 #define MB_FLAGS_BOOT_LOADER_NAME (0x200)
42 #define MB_FLAGS_APM_TABLE (0x400)
43 #define MB_FLAGS_GRAPHICS_TABLE (0x800)
44 #define MB_FLAGS_ACPI_TABLE (0x1000)
47 // HalShutdownSystem Types
49 typedef enum _FIRMWARE_ENTRY
55 HalInteractiveModeRoutine
,
57 } FIRMWARE_REENTRY
, *PFIRMWARE_REENTRY
;
60 // Hal Private dispatch Table
62 #define HAL_PRIVATE_DISPATCH_VERSION 1
63 typedef struct _HAL_PRIVATE_DISPATCH
66 } HAL_PRIVATE_DISPATCH
, *PHAL_PRIVATE_DISPATCH
;
69 // Loader Parameter Block Structures (FIXME)
71 typedef struct _LOADER_MODULE
77 } LOADER_MODULE
, *PLOADER_MODULE
;
79 typedef struct _LOADER_PARAMETER_BLOCK
95 ULONG PageDirectoryStart
;
96 ULONG PageDirectoryEnd
;
98 } LOADER_PARAMETER_BLOCK
, *PLOADER_PARAMETER_BLOCK
;
104 extern HAL_PRIVATE_DISPATCH NTSYSAPI HalPrivateDispatchTable
;
106 extern PHAL_PRIVATE_DISPATCH NTSYSAPI HalPrivateDispatchTable
;
108 extern ULONG NTSYSAPI KdComPortInUse
;