00001
#ifndef _SETUPBLK_
00002
#define _SETUPBLK_
00003
00004
00005
00006
00007
00008 typedef enum {
00009
HwFileDriver,
00010
HwFilePort,
00011
HwFileClass,
00012
HwFileInf,
00013
HwFileDll,
00014
HwFileDetect,
00015
HwFileHal,
00016
HwFileCatalog,
00017
HwFileMax
00018 }
HwFileType;
00019
00020 #define FILETYPE(FileType) (1 << (FileType))
00021 #define SET_FILETYPE_PRESENT(BitArray,FileType) ((BitArray) |= FILETYPE(FileType))
00022 #define IS_FILETYPE_PRESENT(BitArray,FileType) ((BitArray) & FILETYPE(FileType))
00023
00024
00025
00026
00027 typedef enum {
00028
HwRegistryDword,
00029
HwRegistryBinary,
00030
HwRegistrySz,
00031
HwRegistryExpandSz,
00032
HwRegistryMultiSz,
00033
HwRegistryMax
00034 }
HwRegistryType;
00035
00036
00037
00038
00039
00040 typedef enum {
00041
HwComponentComputer,
00042
HwComponentDisplay,
00043
HwComponentKeyboard,
00044
HwComponentLayout,
00045
HwComponentMouse,
00046
HwComponentMax
00047 }
HwComponentType;
00048
00049
00050
00051 typedef struct _DETECTED_DEVICE_REGISTRY {
00052
00053 struct _DETECTED_DEVICE_REGISTRY *
Next;
00054
00055
00056
00057
00058
00059
00060 PCHAR
KeyName;
00061
00062
00063
00064
00065
00066 PCHAR
ValueName;
00067
00068
00069
00070
00071
00072 ULONG
ValueType;
00073
00074
00075
00076
00077
00078
00079
00080
00081 PVOID
Buffer;
00082
00083
00084
00085
00086
00087 ULONG
BufferSize;
00088
00089
00090 }
DETECTED_DEVICE_REGISTRY, *
PDETECTED_DEVICE_REGISTRY;
00091
00092
00093
00094
00095
00096
00097 typedef struct _DETECTED_DEVICE_FILE {
00098
00099 struct _DETECTED_DEVICE_FILE *
Next;
00100
00101
00102
00103
00104
00105 PCHAR
Filename;
00106
00107
00108
00109
00110
00111 HwFileType FileType;
00112
00113
00114
00115
00116
00117
00118 PCHAR
ConfigName;
00119
00120
00121
00122
00123
00124 PDETECTED_DEVICE_REGISTRY RegistryValueList;
00125
00126
00127
00128
00129
00130
00131 PCHAR
DiskDescription;
00132 PCHAR
DiskTagfile;
00133
00134
00135
00136
00137
00138 PCHAR
Directory;
00139
00140 }
DETECTED_DEVICE_FILE, *
PDETECTED_DEVICE_FILE;
00141
00142
00143
00144
00145
00146
00147
00148
00149 typedef struct _DETECTED_DEVICE {
00150
00151 struct _DETECTED_DEVICE *
Next;
00152
00153
00154
00155
00156
00157
00158 PCHAR
IdString;
00159
00160
00161
00162
00163
00164 ULONG
Ordinal;
00165
00166
00167
00168
00169
00170 PCHAR
Description;
00171
00172
00173
00174
00175
00176
00177 BOOLEAN
ThirdPartyOptionSelected;
00178
00179
00180
00181
00182
00183
00184 ULONG
FileTypeBits;
00185
00186
00187
00188
00189
00190 PDETECTED_DEVICE_FILE Files;
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201 PCHAR
BaseDllName;
00202
00203
00204
00205
00206
00207 BOOLEAN
MigratedDriver;
00208
00209 }
DETECTED_DEVICE, *
PDETECTED_DEVICE;
00210
00211
00212
00213
00214
00215 #define TXTSETUP_OEM_FILENAME "txtsetup.oem"
00216 #define TXTSETUP_OEM_FILENAME_U L"txtsetup.oem"
00217
00218
00219
00220
00221 #define TXTSETUP_OEM_DISKS "Disks"
00222 #define TXTSETUP_OEM_DISKS_U L"Disks"
00223 #define TXTSETUP_OEM_DEFAULTS "Defaults"
00224 #define TXTSETUP_OEM_DEFAULTS_U L"Defaults"
00225
00226
00227
00228
00229
00230
00231 #define OINDEX_DISKDESCR 0
00232 #define OINDEX_TAGFILE 1
00233 #define OINDEX_DIRECTORY 2
00234
00235
00236 #define OINDEX_DEFAULT 0
00237
00238
00239 #define OINDEX_DESCRIPTION 0
00240
00241
00242 #define OINDEX_DISKSPEC 0
00243 #define OINDEX_FILENAME 1
00244 #define OINDEX_CONFIGNAME 2
00245
00246
00247 #define OINDEX_KEYNAME 0
00248 #define OINDEX_VALUENAME 1
00249 #define OINDEX_VALUETYPE 2
00250 #define OINDEX_FIRSTVALUE 3
00251
00252
00253 #define OINDEX_HW_ID 0
00254 #define OINDEX_DRIVER_NAME 1
00255 #define OINDEX_CLASS_GUID 2
00256
00257
00258 typedef enum {
00259
SetupOperationSetup,
00260
SetupOperationUpgrade,
00261
SetupOperationRepair
00262 }
SetupOperation;
00263
00264
00265 typedef struct _SETUP_LOADER_BLOCK_SCALARS {
00266
00267
00268
00269
00270
00271 unsigned SetupOperation;
00272
00273
00274
00275
00276
00277
00278 unsigned SetupFromCdRom : 1;
00279
00280
00281
00282
00283
00284 unsigned LoadedScsi : 1;
00285
00286
00287
00288
00289
00290 unsigned LoadedFloppyDrivers : 1;
00291
00292
00293
00294
00295
00296 unsigned LoadedDiskDrivers : 1;
00297
00298
00299
00300
00301
00302 unsigned LoadedCdRomDrivers : 1;
00303
00304
00305
00306
00307
00308 unsigned LoadedFileSystems : 1;
00309
00310 }
SETUP_LOADER_BLOCK_SCALARS, *
PSETUP_LOADER_BLOCK_SCALARS;
00311
00312
00313 typedef struct _PNP_HARDWARE_ID {
00314
00315 struct _PNP_HARDWARE_ID *
Next;
00316
00317
00318
00319
00320
00321 PCHAR
Id;
00322
00323
00324
00325
00326
00327 PCHAR
DriverName;
00328
00329
00330
00331
00332 PCHAR
ClassGuid;
00333
00334
00335 }
PNP_HARDWARE_ID, *
PPNP_HARDWARE_ID;
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345 #define MAX_HAL_NAME_LENGTH 30
00346
00347
00348 typedef struct _SETUP_LOADER_BLOCK {
00349
00350
00351
00352
00353
00354
00355 PCHAR
ArcSetupDeviceName;
00356
00357
00358
00359
00360 DETECTED_DEVICE VideoDevice;
00361
00362
00363
00364
00365 PDETECTED_DEVICE KeyboardDevices;
00366
00367
00368
00369
00370 DETECTED_DEVICE ComputerDevice;
00371
00372
00373
00374
00375
00376 PDETECTED_DEVICE ScsiDevices;
00377
00378
00379
00380
00381 SETUP_LOADER_BLOCK_SCALARS ScalarValues;
00382
00383
00384
00385
00386 PCHAR
IniFile;
00387 ULONG
IniFileLength;
00388
00389
00390
00391
00392 PCHAR
WinntSifFile;
00393 ULONG
WinntSifFileLength;
00394
00395
00396
00397
00398 PCHAR
MigrateInfFile;
00399 ULONG
MigrateInfFileLength;
00400
00401
00402
00403
00404 PCHAR
UnsupDriversInfFile;
00405 ULONG
UnsupDriversInfFileLength;
00406
00407
00408
00409
00410
00411
00412
00413 PMONITOR_CONFIGURATION_DATA Monitor;
00414 PCHAR
MonitorId;
00415
00416
#ifdef _ALPHA_
00417
00418
00419
00420
PDETECTED_DEVICE OemPal;
00421
#endif
00422
00423
00424
00425
00426 PDETECTED_DEVICE BootBusExtenders;
00427
00428
00429
00430
00431 PDETECTED_DEVICE BusExtenders;
00432
00433
00434
00435
00436 PDETECTED_DEVICE InputDevicesSupport;
00437
00438
00439
00440
00441
00442
00443 PPNP_HARDWARE_ID HardwareIdDatabase;
00444
00445
00446
00447
00448
00449 WCHAR
ComputerName[64];
00450 ULONG
IpAddress;
00451 ULONG
SubnetMask;
00452 ULONG
ServerIpAddress;
00453 ULONG
DefaultRouter;
00454 ULONG
DnsNameServer;
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465 WCHAR
NetbootCardHardwareId[64];
00466
00467
00468
00469
00470
00471 WCHAR
NetbootCardDriverName[24];
00472
00473
00474
00475
00476
00477 WCHAR
NetbootCardServiceName[24];
00478
00479
#if defined(REMOTE_BOOT)
00480
00481
00482
00483
00484
00485 ULONG IpsecInboundSpi;
00486 ULONG IpsecOutboundSpi;
00487 ULONG IpsecSessionKey;
00488
#endif // defined(REMOTE_BOOT)
00489
00490
00491
00492
00493
00494
00495
00496 PCHAR
NetbootCardRegistry;
00497 ULONG
NetbootCardRegistryLength;
00498
00499
00500
00501
00502
00503
00504 PCHAR
NetbootCardInfo;
00505 ULONG
NetbootCardInfoLength;
00506
00507
00508
00509
00510
00511 ULONG
Flags;
00512
00513 #define SETUPBLK_FLAGS_IS_REMOTE_BOOT 0x00000001
00514 #define SETUPBLK_FLAGS_IS_TEXTMODE 0x00000002
00515
#if defined(REMOTE_BOOT)
00516
#define SETUPBLK_FLAGS_REPIN 0x00000004
00517
#define SETUPBLK_FLAGS_DISABLE_CSC 0x00000008
00518
#define SETUPBLK_FLAGS_DISCONNECTED 0x00000010
00519
#define SETUPBLK_FLAGS_FORMAT_NEEDED 0x00000020
00520
#define SETUPBLK_FLAGS_IPSEC_ENABLED 0x00000040
00521
#endif // defined(REMOTE_BOOT)
00522 #define SETUPBLK_FLAGS_CONSOLE 0x00000080
00523
#if defined(REMOTE_BOOT)
00524
#define SETUPBLK_FLAGS_PIN_NET_DRIVER 0x00000100
00525
#endif // defined(REMOTE_BOOT)
00526 #define SETUPBLK_FLAGS_REMOTE_INSTALL 0x00000200
00527 #define SETUPBLK_FLAGS_SYSPREP_INSTALL 0x00000400
00528 #define SETUPBLK_XINT13_SUPPORT 0x00000800
00529
00530
#if defined(REMOTE_BOOT)
00531
00532
00533
00534
00535
CHAR NetBootHalName[
MAX_HAL_NAME_LENGTH + 1];
00536
#endif // defined(REMOTE_BOOT)
00537
00538
00539
00540
00541
00542
00543 PCHAR
MachineDirectoryPath;
00544
00545
00546
00547
00548
00549
00550 PCHAR
NetBootSifPath;
00551
00552
00553
00554
00555
00556
00557 PVOID
NetBootSecret;
00558
00559
#if defined(REMOTE_BOOT)
00560
00561
00562
00563
00564
00565 BOOLEAN NetBootUsePassword2;
00566
#endif // defined(REMOTE_BOOT)
00567
00568
00569
00570
00571
00572 UCHAR
NetBootIMirrorFilePath[260];
00573
00574 }
SETUP_LOADER_BLOCK, *
PSETUP_LOADER_BLOCK;
00575
00576
#endif // _SETUPBLK_