#include <PiDxe.h>\r
\r
#include <Guid/SmBios.h>\r
+#include <IndustryStandard/Smbios.h>\r
#include <Protocol/Bis.h>\r
#include <Protocol/PxeBaseCode.h>\r
#include <Protocol/PxeBaseCodeCallBack.h>\r
)\r
;\r
\r
-\r
-//\r
-// Define SMBIOS tables.\r
-//\r
-#pragma pack(1)\r
-typedef struct {\r
- UINT8 AnchorString[4];\r
- UINT8 EntryPointStructureChecksum;\r
- UINT8 EntryPointLength;\r
- UINT8 MajorVersion;\r
- UINT8 MinorVersion;\r
- UINT16 MaxStructureSize;\r
- UINT8 EntryPointRevision;\r
- UINT8 FormattedArea[5];\r
- UINT8 IntermediateAnchorString[5];\r
- UINT8 IntermediateChecksum;\r
- UINT16 TableLength;\r
- UINT32 TableAddress;\r
- UINT16 NumberOfSmbiosStructures;\r
- UINT8 SmbiosBcdRevision;\r
-} SMBIOS_STRUCTURE_TABLE;\r
-\r
-//\r
-// Please note that SMBIOS structures can be odd byte aligned since the\r
-// unformated section of each record is a set of arbitrary size strings.\r
-//\r
-typedef struct {\r
- UINT8 Type;\r
- UINT8 Length;\r
- UINT8 Handle[2];\r
-} SMBIOS_HEADER;\r
-\r
-typedef UINT8 SMBIOS_STRING;\r
-\r
-typedef struct {\r
- SMBIOS_HEADER Hdr;\r
- SMBIOS_STRING Vendor;\r
- SMBIOS_STRING BiosVersion;\r
- UINT8 BiosSegment[2];\r
- SMBIOS_STRING BiosReleaseDate;\r
- UINT8 BiosSize;\r
- UINT8 BiosCharacteristics[8];\r
-} SMBIOS_TYPE0;\r
-\r
-typedef struct {\r
- SMBIOS_HEADER Hdr;\r
- SMBIOS_STRING Manufacturer;\r
- SMBIOS_STRING ProductName;\r
- SMBIOS_STRING Version;\r
- SMBIOS_STRING SerialNumber;\r
-\r
- //\r
- // always byte copy this data to prevent alignment faults!\r
- //\r
- EFI_GUID Uuid;\r
-\r
- UINT8 WakeUpType;\r
-} SMBIOS_TYPE1;\r
-\r
-typedef struct {\r
- SMBIOS_HEADER Hdr;\r
- SMBIOS_STRING Manufacturer;\r
- SMBIOS_STRING ProductName;\r
- SMBIOS_STRING Version;\r
- SMBIOS_STRING SerialNumber;\r
-} SMBIOS_TYPE2;\r
-\r
-typedef struct {\r
- SMBIOS_HEADER Hdr;\r
- SMBIOS_STRING Manufacturer;\r
- UINT8 Type;\r
- SMBIOS_STRING Version;\r
- SMBIOS_STRING SerialNumber;\r
- SMBIOS_STRING AssetTag;\r
- UINT8 BootupState;\r
- UINT8 PowerSupplyState;\r
- UINT8 ThermalState;\r
- UINT8 SecurityStatus;\r
- UINT8 OemDefined[4];\r
-} SMBIOS_TYPE3;\r
-\r
-typedef struct {\r
- SMBIOS_HEADER Hdr;\r
- UINT8 Socket;\r
- UINT8 ProcessorType;\r
- UINT8 ProcessorFamily;\r
- SMBIOS_STRING ProcessorManufacture;\r
- UINT8 ProcessorId[8];\r
- SMBIOS_STRING ProcessorVersion;\r
- UINT8 Voltage;\r
- UINT8 ExternalClock[2];\r
- UINT8 MaxSpeed[2];\r
- UINT8 CurrentSpeed[2];\r
- UINT8 Status;\r
- UINT8 ProcessorUpgrade;\r
- UINT8 L1CacheHandle[2];\r
- UINT8 L2CacheHandle[2];\r
- UINT8 L3CacheHandle[2];\r
-} SMBIOS_TYPE4;\r
-\r
-typedef union {\r
- SMBIOS_HEADER *Hdr;\r
- SMBIOS_TYPE0 *Type0;\r
- SMBIOS_TYPE1 *Type1;\r
- SMBIOS_TYPE2 *Type2;\r
- SMBIOS_TYPE3 *Type3;\r
- SMBIOS_TYPE4 *Type4;\r
- UINT8 *Raw;\r
-} SMBIOS_STRUCTURE_POINTER;\r
-#pragma pack()\r
-\r
#include "ip.h"\r
#include "dhcp.h"\r
#include "tftp.h"\r