xref: /reactos/sdk/include/reactos/arc/setupblk.h (revision c2c66aff)
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     PMONITOR_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
159