Fix member size in the SETUP_LOADER_BLOCK structure.
[reactos.git] / reactos / include / reactos / arc / setupblk.h
1 #ifndef _SETUPBLK_
2 #define _SETUPBLK_
3
4 //
5 // Setup Flags
6 //
7 #define SETUPLDR_TEXT_MODE 0x1
8 #define SETUPLDR_REMOTE_BOOT 0x2
9
10 //
11 // Type of file described in DETECTED_DEVICE_FILE
12 //
13 typedef enum
14 {
15 HwFileDriver,
16 HwFilePort,
17 HwFileClass,
18 HwFileInf,
19 HwFileDll,
20 HwFileDetect,
21 HwFileHal,
22 HwFileCatalog,
23 HwFileMax,
24 HwFileDynUpdt = 31,
25 } HwFileType;
26
27 //
28 // Hardware ID for the detected device
29 //
30 typedef struct _PNP_HARDWARE_ID
31 {
32 struct _PNP_HARDWARE_ID *Next;
33 PCHAR Id;
34 PCHAR DriverName;
35 PCHAR ClassGuid;
36 } PNP_HARDWARE_ID, *PPNP_HARDWARE_ID;
37
38 //
39 // Structures for detected device data (file/registry)
40 //
41 typedef struct _DETECTED_DEVICE_REGISTRY
42 {
43 struct _DETECTED_DEVICE_REGISTRY *Next;
44 PCHAR KeyName;
45 PCHAR ValueName;
46 ULONG ValueType;
47 PVOID Buffer;
48 ULONG BufferSize;
49 } DETECTED_DEVICE_REGISTRY, *PDETECTED_DEVICE_REGISTRY;
50
51 typedef struct _DETECTED_DEVICE_FILE
52 {
53 struct _DETECTED_DEVICE_FILE *Next;
54 PCHAR FileName;
55 HwFileType FileType;
56 PCHAR ConfigName;
57 PDETECTED_DEVICE_REGISTRY RegistryValueList;
58 PCHAR DiskDescription;
59 PCHAR DiskTagfile;
60 PCHAR Directory;
61 PCHAR ArcDeviceName;
62 } DETECTED_DEVICE_FILE, *PDETECTED_DEVICE_FILE;
63
64 //
65 // Structure for any detected device
66 //
67 typedef struct _DETECTED_DEVICE
68 {
69 struct _DETECTED_DEVICE *Next;
70 PCHAR IdString;
71 ULONG Ordinal;
72 PCHAR Description;
73 BOOLEAN ThirdPartyOptionSelected;
74 ULONG FileTypeBits;
75 PDETECTED_DEVICE_FILE Files;
76 PCHAR BasedllName;
77 BOOLEAN MigratedDriver;
78 PPNP_HARDWARE_ID HardwareIds;
79 } DETECTED_DEVICE, *PDETECTED_DEVICE;
80
81 typedef struct _DETECTED_OEM_SOURCE_DEVICE
82 {
83 struct _DETECTED_OEM_SOURCE_DEVICE *Next;
84 PCHAR ArcDeviceName;
85 ULONG ImageBase;
86 ULONGLONG ImageSize;
87 } DETECTED_OEM_SOURCE_DEVICE, *PDETECTED_OEM_SOURCE_DEVICE;
88
89 //
90 // Setup Loader Parameter Block
91 //
92 typedef struct _SETUP_LOADER_BLOCK_SCALARS
93 {
94 ULONG SetupOperation;
95 union
96 {
97 struct
98 {
99 UCHAR SetupFromCdRom:1;
100 UCHAR LoadedScsi:1;
101 UCHAR LoadedFloppyDrivers:1;
102 UCHAR LoadedDiskDrivers:1;
103 UCHAR LoadedCdRomDrivers:1;
104 UCHAR LoadedFileSystems:1;
105 };
106 ULONG AsULong;
107 };
108 } SETUP_LOADER_BLOCK_SCALARS, *PSETUP_LOADER_BLOCK_SCALARS;
109
110 typedef struct _SETUP_LOADER_BLOCK
111 {
112 PCHAR ArcSetupDeviceName;
113 DETECTED_DEVICE VideoDevice;
114 PDETECTED_DEVICE KeyboardDevices;
115 DETECTED_DEVICE ComputerDevice;
116 PDETECTED_DEVICE ScsiDevices;
117 PDETECTED_OEM_SOURCE_DEVICE OemSourceDevices;
118 SETUP_LOADER_BLOCK_SCALARS ScalarValues;
119 PCHAR IniFile;
120 ULONG IniFileLength;
121 PCHAR WinntSifFile;
122 ULONG WinntSifFileLength;
123 PCHAR MigrateInfFile;
124 ULONG MigrateInfFileLength;
125 PCHAR UnsupDriversInfFile;
126 ULONG UnsupDriversInfFileLength;
127 PVOID BootFontFile;
128 ULONG BootFontFileLength;
129 MONITOR_CONFIGURATION_DATA Monitor;
130 PCHAR MonitorId;
131 PDETECTED_DEVICE BootBusExtenders;
132 PDETECTED_DEVICE BusExtenders;
133 PDETECTED_DEVICE InputDevicesSupport;
134 PPNP_HARDWARE_ID HardwareIdDatabase;
135 WCHAR ComputerName[64];
136 ULONG IpAddress;
137 ULONG SubnetMask;
138 ULONG ServerIpAddress;
139 ULONG DefaultRouter;
140 ULONG DnsNameServer;
141 WCHAR NetbootCardHardwareId[64];
142 WCHAR NetbootCardDriverName[24];
143 WCHAR NetbootCardServiceName[24];
144 PCHAR NetbootCardRegistry;
145 ULONG NetbootCardRegistryLength;
146 PCHAR NetbootCardInfo;
147 ULONG NetbootCardInfoLength;
148 ULONG Flags;
149 PCHAR MachineDirectoryPath;
150 PCHAR NetBootSifPath;
151 PVOID NetBootSecret;
152 CHAR NetBootIMirrorFilePath[260];
153 PCHAR ASRPnPSifFile;
154 ULONG ASRPnPSifFileLength;
155 CHAR NetBootAdministratorPassword[64];
156 } SETUP_LOADER_BLOCK, *PSETUP_LOADER_BLOCK;
157
158 #endif