]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/SmBios.h
update comments and add assert for these files.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SmBios.h
index 67d97172c4873903aec261643838441b17498944..7f4265e0e7ec1471a1f8a0c8da337ae3864095f3 100644 (file)
@@ -11,8 +11,6 @@
   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:  SmBios.h\r
-\r
   @par Revision Reference: SMBIOS 2.0\r
   \r
 **/\r
@@ -49,6 +47,580 @@ typedef struct {
   UINT16  Handle;\r
 } SMBIOS_STRUCTURE;\r
 \r
+typedef UINT8 SMBIOS_TABLE_STRING;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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
+  //\r
+  // Add for smbios 2.5\r
+  //\r
+  UINT8                 CoreCount;\r
+  UINT8                 EnabledCoreCount;\r
+  UINT8                 ThreadCount;\r
+  UINT16                ProcessorCharacteristics;\r
+  //\r
+  // Add for smbios 2.6\r
+  //\r
+  UINT16                ProcessorFamily2;\r
+} SMBIOS_TABLE_TYPE4;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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
+  //\r
+  // Add for smbios 2.6\r
+  //\r
+  UINT16                SegmentGroupNum;\r
+  UINT8                 BusNum;\r
+  UINT8                 DevFuncNum;\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_STRUCTURE      Hdr;\r
+  DEVICE_STRUCT         Device[1];\r
+} SMBIOS_TABLE_TYPE10;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      Hdr;\r
+  UINT8                 StringCount;\r
+} SMBIOS_TABLE_TYPE11;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      Hdr;\r
+  UINT8                 StringCount;\r
+} SMBIOS_TABLE_TYPE12;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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
+  //\r
+  // Add for smbios 2.6\r
+  //  \r
+  UINT8                 Attributes;\r
+} SMBIOS_TABLE_TYPE17;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      Hdr;\r
+  UINT32                StartingAddress;\r
+  UINT32                EndingAddress;\r
+  UINT16                MemoryArrayHandle;\r
+  UINT8                 PartitionWidth;\r
+} SMBIOS_TABLE_TYPE19;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      Hdr;\r
+  UINT8                 Type;\r
+  UINT8                 Interface;\r
+  UINT8                 NumberOfButtons;\r
+} SMBIOS_TABLE_TYPE21;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      Hdr;\r
+  UINT8                 HardwareSecuritySettings;\r
+} SMBIOS_TABLE_TYPE24;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      Hdr;\r
+  SMBIOS_TABLE_STRING   ManufacturerName;\r
+  UINT8                 Connections;\r
+} SMBIOS_TABLE_TYPE30;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      Hdr;\r
+  UINT8                 Reserved[6];\r
+  UINT8                 BootStatus[1];\r
+} SMBIOS_TABLE_TYPE32;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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_STRUCTURE      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
+//\r
+// Add type 40 and type 41 for smbios 2.6\r
+//\r
+typedef struct {                       \r
+  UINT8                   EntryLength; \r
+  UINT16                  ReferencedHandle;\r
+  UINT8                   ReferencedOffset;\r
+  SMBIOS_TABLE_STRING     EntryString;\r
+  UINT8                   Value[1];\r
+}ADDITIONAL_INFORMATION_ENTRY;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE                      Hdr;\r
+  UINT8                                 NumberOfAdditionalInformationEntries;\r
+  ADDITIONAL_INFORMATION_ENTRY          AdditionalInfoEntries[1];  \r
+} SMBIOS_TABLE_TYPE40;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE        Hdr;\r
+  SMBIOS_TABLE_STRING     ReferenceDesignation;\r
+  UINT8                   DeviceType;\r
+  UINT8                   DeviceTypeInstance;\r
+  UINT16                  SegmentGroupNum;\r
+  UINT8                   BusNum;\r
+  UINT8                   DevFuncNum;  \r
+} SMBIOS_TABLE_TYPE41;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE   Hdr;\r
+} SMBIOS_TABLE_TYPE126;\r
+\r
+typedef struct {\r
+  SMBIOS_STRUCTURE   Hdr;\r
+} SMBIOS_TABLE_TYPE127;\r
+\r
+typedef union {\r
+  SMBIOS_STRUCTURE      *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_TYPE40   *Type40;\r
+  SMBIOS_TABLE_TYPE41   *Type41;\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