Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

335 lines
6.2 KiB

  1. #pragma warning(disable:4163)
  2. #if !defined(_X86AMD64_)
  3. #define _X86AMD64_
  4. #endif
  5. #include "bootx86.h"
  6. #if defined(ROUND_UP)
  7. #undef ROUND_UP
  8. #endif
  9. #include "cmp.h"
  10. #include "..\amd64\amd64prv.h"
  11. include(BASE_INC_PATH\bldrthnk.h)
  12. SD(PHYSICAL_ADDRESS)
  13. FD(QuadPart,ULONGLONG)
  14. SE()
  15. SD(PROFILE_PARAMETER_BLOCK)
  16. FD(Status,USHORT)
  17. FD(DockingState,USHORT)
  18. FD(Capabilities,USHORT)
  19. FD(DockID,ULONG)
  20. FD(SerialNumber,ULONG)
  21. SE()
  22. SD(UNICODE_STRING)
  23. FD(Length,USHORT)
  24. FD(MaximumLength,USHORT)
  25. FD(Buffer,PWSTR)
  26. SE()
  27. SD(LIST_ENTRY)
  28. FD(Flink,PLIST_ENTRY)
  29. FD(Blink,PLIST_ENTRY)
  30. SE()
  31. SD64(EPROCESS)
  32. SE()
  33. SD64(ETHREAD)
  34. SE()
  35. SD64(KTHREAD)
  36. SE()
  37. SD64(KPRCB)
  38. SE()
  39. SD64(KGDTENTRY64)
  40. SE()
  41. SD64(KIDTENTRY64)
  42. SE()
  43. SD64(KTSS64)
  44. FD(Rsp0,ULONG64)
  45. FD(Rsp1,ULONG64)
  46. FD(Rsp2,ULONG64)
  47. FD(Ist,ULONG64)
  48. FD(IoMapBase,USHORT)
  49. FD(IoMap,UCHAR)
  50. FD(IoMapEnd,ULONG)
  51. SE()
  52. SD64(KPCR)
  53. FD(IdtBase,PKIDTENTRY64)
  54. FD(GdtBase,PKGDTENTRY64)
  55. FD(TssBase,PKTSS64)
  56. FD(Prcb,KPRCB)
  57. SE()
  58. SD(MEMORY_ALLOCATION_DESCRIPTOR)
  59. FD(ListEntry,LIST_ENTRY)
  60. FD(MemoryType,TYPE_OF_MEMORY)
  61. FD(BasePage,ULONG)
  62. FD(PageCount,ULONG)
  63. SE()
  64. SD(LDR_DATA_TABLE_ENTRY)
  65. FD(InLoadOrderLinks,LIST_ENTRY)
  66. FD(InMemoryOrderLinks,LIST_ENTRY)
  67. FD(InInitializationOrderLinks,LIST_ENTRY)
  68. FD(DllBase,PVOID)
  69. FD(EntryPoint,PVOID)
  70. FD(SizeOfImage,ULONG)
  71. FD(FullDllName,UNICODE_STRING)
  72. FD(BaseDllName,UNICODE_STRING)
  73. FD(Flags,ULONG)
  74. FD(LoadCount,USHORT)
  75. FD(TlsIndex,USHORT)
  76. SE()
  77. SD(BOOT_DRIVER_LIST_ENTRY)
  78. FD(Link,LIST_ENTRY)
  79. FD(FilePath,UNICODE_STRING)
  80. FD(RegistryPath,UNICODE_STRING)
  81. FD(LdrEntry,PLDR_DATA_TABLE_ENTRY)
  82. SE()
  83. SD(NLS_DATA_BLOCK)
  84. FD(AnsiCodePageData,PVOID)
  85. FD(OemCodePageData,PVOID)
  86. FD(UnicodeCaseTableData,PVOID)
  87. SE()
  88. SD(CONFIGURATION_COMPONENT)
  89. FD(Class,CONFIGURATION_CLASS)
  90. FD(Type,CONFIGURATION_TYPE)
  91. FD(Flags,ULONG)
  92. FD(Version,USHORT)
  93. FD(Revision,USHORT)
  94. FD(Key,ULONG)
  95. FD(AffinityMask,ULONG)
  96. FD(ConfigurationDataLength,ULONG)
  97. FD(IdentifierLength,ULONG)
  98. FD(Identifier,PCHAR)
  99. SE()
  100. SD(CONFIGURATION_COMPONENT_DATA)
  101. FD(Parent,PCONFIGURATION_COMPONENT_DATA)
  102. FD(Child,PCONFIGURATION_COMPONENT_DATA)
  103. FD(Sibling,PCONFIGURATION_COMPONENT_DATA)
  104. FD(ComponentEntry,CONFIGURATION_COMPONENT)
  105. FD(ConfigurationData,PVOID)
  106. SE()
  107. SD(BOOT_DRIVER_NODE)
  108. FD(ListEntry,BOOT_DRIVER_LIST_ENTRY)
  109. FD(Group,UNICODE_STRING)
  110. FD(Name,UNICODE_STRING)
  111. FD(Tag,ULONG)
  112. FD(ErrorControl,ULONG)
  113. SE()
  114. SD(ARC_DISK_SIGNATURE)
  115. FD(ListEntry,LIST_ENTRY)
  116. FD(Signature,ULONG)
  117. FDC(ArcName,PCHAR)
  118. FD(CheckSum,ULONG)
  119. FD(ValidPartitionTable,BOOLEAN)
  120. FD(xInt13,BOOLEAN)
  121. SE()
  122. SD(ARC_DISK_INFORMATION)
  123. FD(DiskSignatures,LIST_ENTRY)
  124. SE()
  125. SD(DETECTED_DEVICE_REGISTRY)
  126. FD(Next,PDETECTED_DEVICE_REGISTRY)
  127. FD(KeyName,PCHAR)
  128. FD(ValueName,PCHAR)
  129. FD(ValueType,ULONG)
  130. FD(Buffer,PVOID)
  131. FD(BufferSize,ULONG)
  132. SE()
  133. SD(DETECTED_DEVICE_FILE)
  134. FD(Next,PDETECTED_DEVICE_FILE)
  135. FD(Filename,PCHAR)
  136. FD(FileType,HwFileType)
  137. FD(ConfigName,PCHAR)
  138. FD(RegistryValueList,PDETECTED_DEVICE_REGISTRY)
  139. FD(DiskDescription,PCHAR)
  140. FD(DiskTagfile,PCHAR)
  141. FD(Directory,PCHAR)
  142. SE()
  143. SD(DETECTED_DEVICE)
  144. FD(Next,PDETECTED_DEVICE)
  145. FD(IdString,PCHAR)
  146. FD(Ordinal,ULONG)
  147. FD(Description,PCHAR)
  148. FD(ThirdPartyOptionSelected,BOOLEAN)
  149. FD(FileTypeBits,ULONG)
  150. FD(Files,PDETECTED_DEVICE_FILE)
  151. FD(BaseDllName,PCHAR)
  152. FD(MigratedDriver,BOOLEAN)
  153. SE()
  154. SD(PNP_HARDWARE_ID)
  155. FD(Next,PPNP_HARDWARE_ID)
  156. FD(Id,PCHAR)
  157. FD(DriverName,PCHAR)
  158. FD(ClassGuid,PCHAR)
  159. SE()
  160. SD(SETUP_LOADER_BLOCK)
  161. FD(ArcSetupDeviceName,PCHAR)
  162. FD(VideoDevice,DETECTED_DEVICE)
  163. FD(KeyboardDevices,PDETECTED_DEVICE)
  164. FD(ComputerDevice,DETECTED_DEVICE)
  165. FD(ScsiDevices,PDETECTED_DEVICE)
  166. FD(ScalarValues,ULONG)
  167. FDC(IniFile,PCHAR)
  168. FD(IniFileLength,ULONG)
  169. FDC(WinntSifFile,PCHAR)
  170. FD(WinntSifFileLength,ULONG)
  171. FDC(MigrateInfFile,PCHAR)
  172. FD(MigrateInfFileLength,ULONG)
  173. FDC(UnsupDriversInfFile,PCHAR)
  174. FD(UnsupDriversInfFileLength,ULONG)
  175. FD(Monitor,PMONITOR_CONFIGURATION_DATA)
  176. FD(MonitorId,PCHAR)
  177. FD(BootBusExtenders,PDETECTED_DEVICE)
  178. FD(BusExtenders,PDETECTED_DEVICE)
  179. FD(InputDevicesSupport,PDETECTED_DEVICE)
  180. FD(HardwareIdDatabase,PPNP_HARDWARE_ID)
  181. FD(ComputerName,WCHAR)
  182. FD(IpAddress,ULONG)
  183. FD(SubnetMask,ULONG)
  184. FD(ServerIpAddress,ULONG)
  185. FD(DefaultRouter,ULONG)
  186. FD(DnsNameServer,ULONG)
  187. FD(NetbootCardHardwareId,WCHAR)
  188. FD(NetbootCardDriverName,WCHAR)
  189. FD(NetbootCardServiceName,WCHAR)
  190. FDC(NetbootCardRegistry,PCHAR)
  191. FD(NetbootCardRegistryLength,ULONG)
  192. FDC(NetbootCardInfo,PCHAR)
  193. FD(NetbootCardInfoLength,ULONG)
  194. FD(Flags,ULONG)
  195. FD(MachineDirectoryPath,PCHAR)
  196. FD(NetBootSifPath,PCHAR)
  197. FD(NetBootSecret,PVOID)
  198. FD(NetBootIMirrorFilePath,WCHAR)
  199. FDC(ASRPnPSifFile,PCHAR)
  200. FD(ASRPnPSifFileLength,ULONG)
  201. FD(NetBootAdministratorPassword,WCHAR)
  202. SE()
  203. SD(I386_LOADER_BLOCK)
  204. FD(CommonDataArea,PVOID)
  205. FD(MachineType,ULONG)
  206. FD(VirtualBias,ULONG)
  207. SE()
  208. SD(LOADER_PARAMETER_EXTENSION)
  209. FD(Size,ULONG)
  210. FD(Profile,PROFILE_PARAMETER_BLOCK)
  211. FD(MajorVersion,ULONG)
  212. FD(MinorVersion,ULONG)
  213. FD(InfFileImage,PVOID)
  214. FD(InfFileSize,ULONG)
  215. FD(TriageDumpBlock,PVOID)
  216. FD(LoaderPagesSpanned,ULONG)
  217. FD(HeadlessLoaderBlock,PHEADLESS_LOADER_BLOCK)
  218. FD(SMBiosEPSHeader,PVOID)
  219. FD(DrvDBImage,PVOID)
  220. FD(DrvDBSize,ULONG)
  221. SE()
  222. SD(LOADER_PARAMETER_BLOCK)
  223. FD(LoadOrderListHead,LIST_ENTRY)
  224. FD(MemoryDescriptorListHead,LIST_ENTRY)
  225. FD(BootDriverListHead,LIST_ENTRY)
  226. FD(KernelStack,ULONG_PTR)
  227. FD(Prcb,ULONG_PTR)
  228. FD(Process,ULONG_PTR)
  229. FD(Thread,ULONG_PTR)
  230. FD(RegistryLength,ULONG)
  231. FDC(RegistryBase,PVOID)
  232. FD(ConfigurationRoot,PCONFIGURATION_COMPONENT_DATA)
  233. FDC(ArcBootDeviceName,PCHAR)
  234. FDC(ArcHalDeviceName,PCHAR)
  235. FDC(NtBootPathName,PCHAR)
  236. FDC(NtHalPathName,PCHAR)
  237. FDC(LoadOptions,PCHAR)
  238. FD(NlsData,PNLS_DATA_BLOCK)
  239. FD(ArcDiskInformation,PARC_DISK_INFORMATION)
  240. FDC(OemFontFile,PVOID)
  241. FD(SetupLoaderBlock,PSETUP_LOADER_BLOCK)
  242. FD(Extension,PLOADER_PARAMETER_EXTENSION)
  243. SE()
  244. SD(CM_PRD_GENERIC)
  245. FD(Start,PHYSICAL_ADDRESS)
  246. FD(Length,ULONG)
  247. SE()
  248. SD(CM_PRD_PORT)
  249. FD(Start,PHYSICAL_ADDRESS)
  250. FD(Length,ULONG)
  251. SE()
  252. SD(CM_PRD_INTERRUPT)
  253. FD(Level,ULONG)
  254. FD(Vector,ULONG)
  255. FD(Affinity,KAFFINITY)
  256. SE()
  257. SD(CM_PRD_MEMORY)
  258. FD(Start,PHYSICAL_ADDRESS)
  259. FD(Length,ULONG)
  260. SE()
  261. SD(CM_PRD_DMA)
  262. FD(Channel,ULONG)
  263. FD(Port,ULONG)
  264. SE()
  265. SD(CM_PRD_DEVICEPRIVATE)
  266. FD(Data,ULONG)
  267. SE()
  268. SD(CM_PRD_BUSNUMBER)
  269. FD(Start,ULONG)
  270. FD(Length,ULONG)
  271. FD(Reserved,ULONG)
  272. SE()
  273. SD(CM_PRD_DEVICESPECIFICDATA)
  274. FD(DataSize,ULONG)
  275. FD(Reserved1,ULONG)
  276. FD(Reserved2,ULONG)
  277. SE()
  278. SD(CM_PARTIAL_RESOURCE_DESCRIPTOR)
  279. FD(u,CM_PRD_INTERRUPT)
  280. SE()
  281. SD(CM_PARTIAL_RESOURCE_LIST)
  282. FD(Version,USHORT)
  283. FD(Revision,USHORT)
  284. FD(Count,ULONG)
  285. FD(PartialDescriptors,CM_PARTIAL_RESOURCE_DESCRIPTOR)
  286. SE()
  287. DD()