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