--- /dev/null
+/*++\r
+\r
+Copyright (c) 2007, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name: \r
+\r
+ Smbios.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef _SMBIOS_TABLE_H_\r
+#define _SMBIOS_TABLE_H_\r
+\r
+#include "Tiano.h"\r
+\r
+#pragma pack(1)\r
+\r
+typedef UINT8 SMBIOS_TABLE_STRING;\r
+\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_TABLE_STRUCTURE;\r
+\r
+typedef struct {\r
+ UINT8 Type;\r
+ UINT8 Length;\r
+ UINT16 Handle;\r
+} SMBIOS_TABLE_HEADER;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Vendor;\r
+ SMBIOS_TABLE_STRING BiosVersion;\r
+ UINT16 BiosSegment;\r
+ SMBIOS_TABLE_STRING BiosReleaseDate;\r
+ UINT8 BiosSize;\r
+ UINT64 BiosCharacteristics;\r
+ UINT8 BIOSCharacteristicsExtensionBytes[2];\r
+ UINT8 SystemBiosMajorRelease;\r
+ UINT8 SystemBiosMinorRelease;\r
+ UINT8 EmbeddedControllerFirmwareMajorRelease;\r
+ UINT8 EmbeddedControllerFirmwareMinorRelease;\r
+} SMBIOS_TABLE_TYPE0;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ SMBIOS_TABLE_STRING ProductName;\r
+ SMBIOS_TABLE_STRING Version;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ EFI_GUID Uuid;\r
+ UINT8 WakeUpType;\r
+ SMBIOS_TABLE_STRING SKUNumber;\r
+ SMBIOS_TABLE_STRING Family;\r
+} SMBIOS_TABLE_TYPE1;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ SMBIOS_TABLE_STRING ProductName;\r
+ SMBIOS_TABLE_STRING Version;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING AssetTag;\r
+ UINT8 FeatureFlag;\r
+ SMBIOS_TABLE_STRING LocationInChassis;\r
+ UINT16 ChassisHandle;\r
+ UINT8 BoardType;\r
+ UINT8 NumberOfContainedObjectHandles;\r
+ UINT16 ContainedObjectHandles[1];\r
+} SMBIOS_TABLE_TYPE2;\r
+\r
+typedef struct {\r
+ UINT8 ContainedElementType;\r
+ UINT8 ContainedElementMinimum;\r
+ UINT8 ContainedElementMaximum;\r
+} CONTAINED_ELEMENT;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ UINT8 Type;\r
+ SMBIOS_TABLE_STRING Version;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING AssetTag;\r
+ UINT8 BootupState;\r
+ UINT8 PowerSupplyState;\r
+ UINT8 ThermalState;\r
+ UINT8 SecurityStatus;\r
+ UINT8 OemDefined[4];\r
+ UINT8 Height;\r
+ UINT8 NumberofPowerCords;\r
+ UINT8 ContainedElementCount;\r
+ UINT8 ContainedElementRecordLength;\r
+ CONTAINED_ELEMENT ContainedElements[1];\r
+} SMBIOS_TABLE_TYPE3;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Socket;\r
+ UINT8 ProcessorType;\r
+ UINT8 ProcessorFamily;\r
+ SMBIOS_TABLE_STRING ProcessorManufacture;\r
+ UINT8 ProcessorId[8];\r
+ SMBIOS_TABLE_STRING ProcessorVersion;\r
+ UINT8 Voltage;\r
+ UINT16 ExternalClock;\r
+ UINT16 MaxSpeed;\r
+ UINT16 CurrentSpeed;\r
+ UINT8 Status;\r
+ UINT8 ProcessorUpgrade;\r
+ UINT16 L1CacheHandle;\r
+ UINT16 L2CacheHandle;\r
+ UINT16 L3CacheHandle;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING AssetTag;\r
+ SMBIOS_TABLE_STRING PartNumber;\r
+} SMBIOS_TABLE_TYPE4;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 ErrDetectMethod;\r
+ UINT8 ErrCorrectCapability;\r
+ UINT8 SupportInterleave;\r
+ UINT8 CurrentInterleave;\r
+ UINT8 MaxMemoryModuleSize;\r
+ UINT16 SupportSpeed;\r
+ UINT16 SupportMemoryType;\r
+ UINT8 MemoryModuleVoltage;\r
+ UINT8 AssociatedMemorySlotNum;\r
+ UINT16 MemoryModuleConfigHandles[1];\r
+// UINT8 EnableErrCorrectCapabilities;\r
+} SMBIOS_TABLE_TYPE5;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING SocketDesignation;\r
+ UINT8 BankConnections;\r
+ UINT8 CurrentSpeed;\r
+ UINT16 CurrentMemoryType;\r
+ UINT8 InstalledSize;\r
+ UINT8 EnabledSize;\r
+ UINT8 ErrorStatus;\r
+} SMBIOS_TABLE_TYPE6;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING SocketDesignation;\r
+ UINT16 CacheConfiguration;\r
+ UINT16 MaximumCacheSize;\r
+ UINT16 InstalledSize;\r
+ UINT16 SupportedSRAMType;\r
+ UINT16 CurrentSRAMType;\r
+ UINT8 CacheSpeed;\r
+ UINT8 ErrorCorrectionType;\r
+ UINT8 SystemCacheType;\r
+ UINT8 Associativity;\r
+} SMBIOS_TABLE_TYPE7;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING InternalReferenceDesignator;\r
+ UINT8 InternalConnectorType;\r
+ SMBIOS_TABLE_STRING ExternalReferenceDesignator;\r
+ UINT8 ExternalConnectorType;\r
+ UINT8 PortType;\r
+} SMBIOS_TABLE_TYPE8;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING SlotDesignation;\r
+ UINT8 SlotType;\r
+ UINT8 SlotDataBusWidth;\r
+ UINT8 CurrentUsage;\r
+ UINT8 SlotLength;\r
+ UINT16 SlotID;\r
+ UINT8 SlotCharacteristics1;\r
+ UINT8 SlotCharacteristics2;\r
+} SMBIOS_TABLE_TYPE9;\r
+\r
+typedef struct {\r
+ UINT8 DeviceType;\r
+ SMBIOS_TABLE_STRING DescriptionString;\r
+} DEVICE_STRUCT;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ DEVICE_STRUCT Device[1];\r
+} SMBIOS_TABLE_TYPE10;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 StringCount;\r
+} SMBIOS_TABLE_TYPE11;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 StringCount;\r
+} SMBIOS_TABLE_TYPE12;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 InstallableLanguages;\r
+ UINT8 Flags;\r
+ UINT8 reserved[15];\r
+ SMBIOS_TABLE_STRING CurrentLanguages;\r
+} SMBIOS_TABLE_TYPE13;\r
+\r
+typedef struct {\r
+ UINT8 ItemType;\r
+ UINT16 ItemHandle;\r
+} GROUP_STRUCT;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING GroupName;\r
+ GROUP_STRUCT Group[1];\r
+} SMBIOS_TABLE_TYPE14;\r
+\r
+typedef struct {\r
+ UINT8 LogType;\r
+ UINT8 DataFormatType;\r
+} EVENT_LOG_TYPE;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT16 LogAreaLength;\r
+ UINT16 LogHeaderStartOffset;\r
+ UINT16 LogDataStartOffset;\r
+ UINT8 AccessMethod;\r
+ UINT8 LogStatus;\r
+ UINT32 LogChangeToken;\r
+ UINT32 AccessMethodAddress;\r
+ UINT8 LogHeaderFormat;\r
+ UINT8 NumberOfSupportedLogTypeDescriptors;\r
+ UINT8 LengthOfLogTypeDescriptor;\r
+ EVENT_LOG_TYPE EventLogTypeDescriptors[1];\r
+} SMBIOS_TABLE_TYPE15;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Location;\r
+ UINT8 Use;\r
+ UINT8 MemoryErrorCorrection;\r
+ UINT32 MaximumCapacity;\r
+ UINT16 MemoryErrorInformationHandle;\r
+ UINT16 NumberOfMemoryDevices;\r
+} SMBIOS_TABLE_TYPE16;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT16 MemoryArrayHandle;\r
+ UINT16 MemoryErrorInformationHandle;\r
+ UINT16 TotalWidth;\r
+ UINT16 DataWidth;\r
+ UINT16 Size;\r
+ UINT8 FormFactor;\r
+ UINT8 DeviceSet;\r
+ SMBIOS_TABLE_STRING DeviceLocator;\r
+ SMBIOS_TABLE_STRING BankLocator;\r
+ UINT8 MemoryType;\r
+ UINT16 TypeDetail;\r
+ UINT16 Speed;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING AssetTag;\r
+ SMBIOS_TABLE_STRING PartNumber;\r
+} SMBIOS_TABLE_TYPE17;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 ErrorType;\r
+ UINT8 ErrorGranularity;\r
+ UINT8 ErrorOperation;\r
+ UINT32 VendorSyndrome;\r
+ UINT32 MemoryArrayErrorAddress;\r
+ UINT32 DeviceErrorAddress;\r
+ UINT32 ErrorResolution;\r
+} SMBIOS_TABLE_TYPE18;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT32 StartingAddress;\r
+ UINT32 EndingAddress;\r
+ UINT16 MemoryArrayHandle;\r
+ UINT8 PartitionWidth;\r
+} SMBIOS_TABLE_TYPE19;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT32 StartingAddress;\r
+ UINT32 EndingAddress;\r
+ UINT16 MemoryDeviceHandle;\r
+ UINT16 MemoryArrayMappedAddressHandle;\r
+ UINT8 PartitionRowPosition;\r
+ UINT8 InterleavePosition;\r
+ UINT8 InterleavedDataDepth;\r
+} SMBIOS_TABLE_TYPE20;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Type;\r
+ UINT8 Interface;\r
+ UINT8 NumberOfButtons;\r
+} SMBIOS_TABLE_TYPE21;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Location;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ SMBIOS_TABLE_STRING ManufactureDate;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING DeviceName;\r
+ UINT8 DeviceChemistry;\r
+ UINT16 DeviceCapacity;\r
+ UINT16 DesignVoltage;\r
+ SMBIOS_TABLE_STRING SBDSVersionNumber;\r
+ UINT8 MaximumErrorInBatteryData;\r
+ UINT16 SBDSSerialNumber;\r
+ UINT16 SBDSManufactureDate;\r
+ SMBIOS_TABLE_STRING SBDSDeviceChemistry;\r
+ UINT8 DesignCapacityMultiplier;\r
+ UINT32 OEMSpecific;\r
+} SMBIOS_TABLE_TYPE22;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Capabilities;\r
+ UINT16 ResetCount;\r
+ UINT16 ResetLimit;\r
+ UINT16 TimerInterval;\r
+ UINT16 Timeout;\r
+} SMBIOS_TABLE_TYPE23;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 HardwareSecuritySettings;\r
+} SMBIOS_TABLE_TYPE24;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 NextScheduledPowerOnMonth;\r
+ UINT8 NextScheduledPowerOnDayOfMonth;\r
+ UINT8 NextScheduledPowerOnHour;\r
+ UINT8 NextScheduledPowerOnMinute;\r
+ UINT8 NextScheduledPowerOnSecond;\r
+} SMBIOS_TABLE_TYPE25;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Description;\r
+ UINT8 LocationAndStatus;\r
+ UINT16 MaximumValue;\r
+ UINT16 MinimumValue;\r
+ UINT16 Resolution;\r
+ UINT16 Tolerance;\r
+ UINT16 Accuracy;\r
+ UINT32 OEMDefined;\r
+ UINT16 NominalValue;\r
+} SMBIOS_TABLE_TYPE26;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT16 TemperatureProbeHandle;\r
+ UINT8 DeviceTypeAndStatus;\r
+ UINT8 CoolingUnitGroup;\r
+ UINT32 OEMDefined;\r
+ UINT16 NominalSpeed;\r
+} SMBIOS_TABLE_TYPE27;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Description;\r
+ UINT8 LocationAndStatus;\r
+ UINT16 MaximumValue;\r
+ UINT16 MinimumValue;\r
+ UINT16 Resolution;\r
+ UINT16 Tolerance;\r
+ UINT16 Accuracy;\r
+ UINT32 OEMDefined;\r
+ UINT16 NominalValue;\r
+} SMBIOS_TABLE_TYPE28;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Description;\r
+ UINT8 LocationAndStatus;\r
+ UINT16 MaximumValue;\r
+ UINT16 MinimumValue;\r
+ UINT16 Resolution;\r
+ UINT16 Tolerance;\r
+ UINT16 Accuracy;\r
+ UINT32 OEMDefined;\r
+ UINT16 NominalValue;\r
+} SMBIOS_TABLE_TYPE29;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING ManufacturerName;\r
+ UINT8 Connections;\r
+} SMBIOS_TABLE_TYPE30;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Checksum;\r
+ UINT8 Reserved1;\r
+ UINT16 Reserved2;\r
+ UINT32 BisEntry16;\r
+ UINT32 BisEntry32;\r
+ UINT64 Reserved3;\r
+ UINT32 Reserved4;\r
+} SMBIOS_TABLE_TYPE31;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 Reserved[6];\r
+ UINT8 BootStatus[1];\r
+} SMBIOS_TABLE_TYPE32;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 ErrorType;\r
+ UINT8 ErrorGranularity;\r
+ UINT8 ErrorOperation;\r
+ UINT32 VendorSyndrome;\r
+ UINT64 MemoryArrayErrorAddress;\r
+ UINT64 DeviceErrorAddress;\r
+ UINT32 ErrorResolution;\r
+} SMBIOS_TABLE_TYPE33;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Description;\r
+ UINT8 Type;\r
+ UINT32 Address;\r
+ UINT8 AddressType;\r
+} SMBIOS_TABLE_TYPE34;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ SMBIOS_TABLE_STRING Description;\r
+ UINT16 ManagementDeviceHandle;\r
+ UINT16 ComponentHandle;\r
+ UINT16 ThresholdHandle;\r
+} SMBIOS_TABLE_TYPE35;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT16 LowerThresholdNonCritical;\r
+ UINT16 UpperThresholdNonCritical;\r
+ UINT16 LowerThresholdCritical;\r
+ UINT16 UpperThresholdCritical;\r
+ UINT16 LowerThresholdNonRecoverable;\r
+ UINT16 UpperThresholdNonRecoverable;\r
+} SMBIOS_TABLE_TYPE36;\r
+\r
+typedef struct {\r
+ UINT8 DeviceLoad;\r
+ UINT16 DeviceHandle;\r
+} MEMORY_DEVICE;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 ChannelType;\r
+ UINT8 MaximumChannelLoad;\r
+ UINT8 MemoryDeviceCount;\r
+ MEMORY_DEVICE MemoryDevice[1];\r
+} SMBIOS_TABLE_TYPE37;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 InterfaceType;\r
+ UINT8 IPMISpecificationRevision;\r
+ UINT8 I2CSlaveAddress;\r
+ UINT8 NVStorageDeviceAddress;\r
+ UINT64 BaseAddress;\r
+ UINT8 BaseAddressModifier_InterruptInfo;\r
+ UINT8 InterruptNumber;\r
+} SMBIOS_TABLE_TYPE38;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+ UINT8 PowerUnitGroup;\r
+ SMBIOS_TABLE_STRING Location;\r
+ SMBIOS_TABLE_STRING DeviceName;\r
+ SMBIOS_TABLE_STRING Manufacturer;\r
+ SMBIOS_TABLE_STRING SerialNumber;\r
+ SMBIOS_TABLE_STRING AssetTagNumber;\r
+ SMBIOS_TABLE_STRING ModelPartNumber;\r
+ SMBIOS_TABLE_STRING RevisionLevel;\r
+ UINT16 MaxPowerCapacity;\r
+ UINT16 PowerSupplyCharacteristics;\r
+ UINT16 InputVoltageProbeHandle;\r
+ UINT16 CoolingDeviceHandle;\r
+ UINT16 InputCurrentProbeHandle;\r
+} SMBIOS_TABLE_TYPE39;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+} SMBIOS_TABLE_TYPE126;\r
+\r
+typedef struct {\r
+ SMBIOS_TABLE_HEADER Hdr;\r
+} SMBIOS_TABLE_TYPE127;\r
+\r
+typedef union {\r
+ SMBIOS_TABLE_HEADER *Hdr;\r
+ SMBIOS_TABLE_TYPE0 *Type0;\r
+ SMBIOS_TABLE_TYPE1 *Type1;\r
+ SMBIOS_TABLE_TYPE2 *Type2;\r
+ SMBIOS_TABLE_TYPE3 *Type3;\r
+ SMBIOS_TABLE_TYPE4 *Type4;\r
+ SMBIOS_TABLE_TYPE5 *Type5;\r
+ SMBIOS_TABLE_TYPE6 *Type6;\r
+ SMBIOS_TABLE_TYPE7 *Type7;\r
+ SMBIOS_TABLE_TYPE8 *Type8;\r
+ SMBIOS_TABLE_TYPE9 *Type9;\r
+ SMBIOS_TABLE_TYPE10 *Type10;\r
+ SMBIOS_TABLE_TYPE11 *Type11;\r
+ SMBIOS_TABLE_TYPE12 *Type12;\r
+ SMBIOS_TABLE_TYPE13 *Type13;\r
+ SMBIOS_TABLE_TYPE14 *Type14;\r
+ SMBIOS_TABLE_TYPE15 *Type15;\r
+ SMBIOS_TABLE_TYPE16 *Type16;\r
+ SMBIOS_TABLE_TYPE17 *Type17;\r
+ SMBIOS_TABLE_TYPE18 *Type18;\r
+ SMBIOS_TABLE_TYPE19 *Type19;\r
+ SMBIOS_TABLE_TYPE20 *Type20;\r
+ SMBIOS_TABLE_TYPE21 *Type21;\r
+ SMBIOS_TABLE_TYPE22 *Type22;\r
+ SMBIOS_TABLE_TYPE23 *Type23;\r
+ SMBIOS_TABLE_TYPE24 *Type24;\r
+ SMBIOS_TABLE_TYPE25 *Type25;\r
+ SMBIOS_TABLE_TYPE26 *Type26;\r
+ SMBIOS_TABLE_TYPE27 *Type27;\r
+ SMBIOS_TABLE_TYPE28 *Type28;\r
+ SMBIOS_TABLE_TYPE29 *Type29;\r
+ SMBIOS_TABLE_TYPE30 *Type30;\r
+ SMBIOS_TABLE_TYPE31 *Type31;\r
+ SMBIOS_TABLE_TYPE32 *Type32;\r
+ SMBIOS_TABLE_TYPE33 *Type33;\r
+ SMBIOS_TABLE_TYPE34 *Type34;\r
+ SMBIOS_TABLE_TYPE35 *Type35;\r
+ SMBIOS_TABLE_TYPE36 *Type36;\r
+ SMBIOS_TABLE_TYPE37 *Type37;\r
+ SMBIOS_TABLE_TYPE38 *Type38;\r
+ SMBIOS_TABLE_TYPE39 *Type39;\r
+ SMBIOS_TABLE_TYPE126 *Type126;\r
+ SMBIOS_TABLE_TYPE127 *Type127;\r
+ UINT8 *Raw;\r
+} SMBIOS_STRUCTURE_POINTER;\r
+\r
+#pragma pack()\r
+\r
+#endif\r