Some more NDK fixes
[reactos.git] / reactos / include / ndk / haltypes.h
1 /*
2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/haltypes.h
4 * PURPOSE: Definitions for HAL/BLDR types not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
6 * UPDATE HISTORY:
7 * Created 06/10/04
8 */
9 #ifndef _HALTYPES_H
10 #define _HALTYPES_H
11
12 /* DEPENDENCIES **************************************************************/
13 //#include <ddk/ntdddisk.h>
14
15 /* EXPORTED DATA *************************************************************/
16 extern ULONG NTOSAPI KdComPortInUse;
17
18 /* CONSTANTS *****************************************************************/
19
20 /* Boot Flags */
21 #define MB_FLAGS_MEM_INFO (0x1)
22 #define MB_FLAGS_BOOT_DEVICE (0x2)
23 #define MB_FLAGS_COMMAND_LINE (0x4)
24 #define MB_FLAGS_MODULE_INFO (0x8)
25 #define MB_FLAGS_AOUT_SYMS (0x10)
26 #define MB_FLAGS_ELF_SYMS (0x20)
27 #define MB_FLAGS_MMAP_INFO (0x40)
28 #define MB_FLAGS_DRIVES_INFO (0x80)
29 #define MB_FLAGS_CONFIG_TABLE (0x100)
30 #define MB_FLAGS_BOOT_LOADER_NAME (0x200)
31 #define MB_FLAGS_APM_TABLE (0x400)
32 #define MB_FLAGS_GRAPHICS_TABLE (0x800)
33
34 /* ENUMERATIONS **************************************************************/
35 typedef enum _FIRMWARE_ENTRY
36 {
37 HalHaltRoutine,
38 HalPowerDownRoutine,
39 HalRestartRoutine,
40 HalRebootRoutine,
41 HalInteractiveModeRoutine,
42 HalMaximumRoutine
43 } FIRMWARE_REENTRY, *PFIRMWARE_REENTRY;
44
45 /* TYPES *********************************************************************/
46
47 typedef struct _LOADER_MODULE
48 {
49 ULONG ModStart;
50 ULONG ModEnd;
51 ULONG String;
52 ULONG Reserved;
53 } LOADER_MODULE, *PLOADER_MODULE;
54
55 typedef struct _LOADER_PARAMETER_BLOCK
56 {
57 ULONG Flags;
58 ULONG MemLower;
59 ULONG MemHigher;
60 ULONG BootDevice;
61 ULONG CommandLine;
62 ULONG ModsCount;
63 ULONG ModsAddr;
64 UCHAR Syms[12];
65 ULONG MmapLength;
66 ULONG MmapAddr;
67 ULONG DrivesCount;
68 ULONG DrivesAddr;
69 ULONG ConfigTable;
70 ULONG BootLoaderName;
71 ULONG PageDirectoryStart;
72 ULONG PageDirectoryEnd;
73 ULONG KernelBase;
74 } LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK;
75
76 #endif
77