TianoCore EDK2 master
SmBios.h File Reference

Go to the source code of this file.

Data Structures

struct  SMBIOS_TABLE_ENTRY_POINT
 
struct  SMBIOS_TABLE_3_0_ENTRY_POINT
 
struct  SMBIOS_STRUCTURE
 
struct  MISC_BIOS_CHARACTERISTICS
 
struct  MBCE_BIOS_RESERVED
 
struct  MBCE_SYSTEM_RESERVED
 
struct  MISC_BIOS_CHARACTERISTICS_EXTENSION
 
struct  EXTENDED_BIOS_ROM_SIZE
 
struct  SMBIOS_TABLE_TYPE0
 
struct  SMBIOS_TABLE_TYPE1
 
struct  BASE_BOARD_FEATURE_FLAGS
 
struct  SMBIOS_TABLE_TYPE2
 
struct  CONTAINED_ELEMENT
 
struct  SMBIOS_TABLE_TYPE3
 
struct  PROCESSOR_VOLTAGE
 
struct  PROCESSOR_SIGNATURE
 
struct  PROCESSOR_FEATURE_FLAGS
 
struct  PROCESSOR_CHARACTERISTIC_FLAGS
 
union  PROCESSOR_STATUS_DATA
 
struct  PROCESSOR_ID_DATA
 
struct  SMBIOS_TABLE_TYPE4
 
struct  MEMORY_ERROR_CORRECT_CAPABILITY
 
struct  MEMORY_SPEED_TYPE
 
struct  SMBIOS_TABLE_TYPE5
 
struct  MEMORY_CURRENT_TYPE
 
struct  MEMORY_INSTALLED_ENABLED_SIZE
 
struct  SMBIOS_TABLE_TYPE6
 
struct  CACHE_SRAM_TYPE_DATA
 
struct  SMBIOS_TABLE_TYPE7
 
struct  SMBIOS_TABLE_TYPE8
 
struct  MISC_SLOT_CHARACTERISTICS1
 
struct  MISC_SLOT_CHARACTERISTICS2
 
struct  MISC_SLOT_PEER_GROUP
 
struct  SMBIOS_TABLE_TYPE9
 
struct  DEVICE_STRUCT
 
struct  SMBIOS_TABLE_TYPE10
 
struct  SMBIOS_TABLE_TYPE11
 
struct  SMBIOS_TABLE_TYPE12
 
struct  SMBIOS_TABLE_TYPE13
 
struct  GROUP_STRUCT
 
struct  SMBIOS_TABLE_TYPE14
 
struct  EVENT_LOG_TYPE
 
struct  SMBIOS_TABLE_TYPE15
 
struct  SMBIOS_TABLE_TYPE16
 
struct  MEMORY_DEVICE_TYPE_DETAIL
 
union  MEMORY_DEVICE_OPERATING_MODE_CAPABILITY
 
struct  SMBIOS_TABLE_TYPE17
 
struct  SMBIOS_TABLE_TYPE18
 
struct  SMBIOS_TABLE_TYPE19
 
struct  SMBIOS_TABLE_TYPE20
 
struct  SMBIOS_TABLE_TYPE21
 
struct  SMBIOS_TABLE_TYPE22
 
struct  SMBIOS_TABLE_TYPE23
 
struct  SMBIOS_TABLE_TYPE24
 
struct  SMBIOS_TABLE_TYPE25
 
struct  MISC_VOLTAGE_PROBE_LOCATION
 
struct  SMBIOS_TABLE_TYPE26
 
struct  MISC_COOLING_DEVICE_TYPE
 
struct  SMBIOS_TABLE_TYPE27
 
struct  MISC_TEMPERATURE_PROBE_LOCATION
 
struct  SMBIOS_TABLE_TYPE28
 
struct  MISC_ELECTRICAL_CURRENT_PROBE_LOCATION
 
struct  SMBIOS_TABLE_TYPE29
 
struct  SMBIOS_TABLE_TYPE30
 
struct  SMBIOS_TABLE_TYPE31
 
struct  SMBIOS_TABLE_TYPE32
 
struct  SMBIOS_TABLE_TYPE33
 
struct  SMBIOS_TABLE_TYPE34
 
struct  SMBIOS_TABLE_TYPE35
 
struct  SMBIOS_TABLE_TYPE36
 
struct  MEMORY_DEVICE
 
struct  SMBIOS_TABLE_TYPE37
 
struct  SMBIOS_TABLE_TYPE38
 
struct  SYS_POWER_SUPPLY_CHARACTERISTICS
 
struct  SMBIOS_TABLE_TYPE39
 
struct  ADDITIONAL_INFORMATION_ENTRY
 
struct  SMBIOS_TABLE_TYPE40
 
struct  SMBIOS_TABLE_TYPE41
 
struct  MC_HOST_INTERFACE_PROTOCOL_RECORD
 
struct  SMBIOS_TABLE_TYPE42
 
struct  PROCESSOR_SPECIFIC_BLOCK
 
struct  SMBIOS_TABLE_TYPE44
 
struct  SMBIOS_TABLE_TYPE43
 
struct  SMBIOS_TABLE_TYPE45
 
struct  SMBIOS_TABLE_TYPE46
 
struct  SMBIOS_TABLE_TYPE126
 
struct  SMBIOS_TABLE_TYPE127
 
union  SMBIOS_STRUCTURE_POINTER
 

Macros

#define SMBIOS_HANDLE_RESERVED_BEGIN   0xFF00
 
#define SMBIOS_HANDLE_PI_RESERVED   0xFFFE
 
#define SMBIOS_STRING_MAX_LENGTH   64
 
#define SMBIOS_TABLE_MAX_LENGTH   0xFFFF
 
#define SMBIOS_3_0_TABLE_MAX_LENGTH   0xFFFFFFFF
 
#define SMBIOS_TYPE_BIOS_INFORMATION   0
 
#define SMBIOS_TYPE_SYSTEM_INFORMATION   1
 
#define SMBIOS_TYPE_BASEBOARD_INFORMATION   2
 
#define SMBIOS_TYPE_SYSTEM_ENCLOSURE   3
 
#define SMBIOS_TYPE_PROCESSOR_INFORMATION   4
 
#define SMBIOS_TYPE_MEMORY_CONTROLLER_INFORMATION   5
 
#define SMBIOS_TYPE_MEMORY_MODULE_INFORMATON   6
 
#define SMBIOS_TYPE_CACHE_INFORMATION   7
 
#define SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION   8
 
#define SMBIOS_TYPE_SYSTEM_SLOTS   9
 
#define SMBIOS_TYPE_ONBOARD_DEVICE_INFORMATION   10
 
#define SMBIOS_TYPE_OEM_STRINGS   11
 
#define SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS   12
 
#define SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION   13
 
#define SMBIOS_TYPE_GROUP_ASSOCIATIONS   14
 
#define SMBIOS_TYPE_SYSTEM_EVENT_LOG   15
 
#define SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY   16
 
#define SMBIOS_TYPE_MEMORY_DEVICE   17
 
#define SMBIOS_TYPE_32BIT_MEMORY_ERROR_INFORMATION   18
 
#define SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS   19
 
#define SMBIOS_TYPE_MEMORY_DEVICE_MAPPED_ADDRESS   20
 
#define SMBIOS_TYPE_BUILT_IN_POINTING_DEVICE   21
 
#define SMBIOS_TYPE_PORTABLE_BATTERY   22
 
#define SMBIOS_TYPE_SYSTEM_RESET   23
 
#define SMBIOS_TYPE_HARDWARE_SECURITY   24
 
#define SMBIOS_TYPE_SYSTEM_POWER_CONTROLS   25
 
#define SMBIOS_TYPE_VOLTAGE_PROBE   26
 
#define SMBIOS_TYPE_COOLING_DEVICE   27
 
#define SMBIOS_TYPE_TEMPERATURE_PROBE   28
 
#define SMBIOS_TYPE_ELECTRICAL_CURRENT_PROBE   29
 
#define SMBIOS_TYPE_OUT_OF_BAND_REMOTE_ACCESS   30
 
#define SMBIOS_TYPE_BOOT_INTEGRITY_SERVICE   31
 
#define SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION   32
 
#define SMBIOS_TYPE_64BIT_MEMORY_ERROR_INFORMATION   33
 
#define SMBIOS_TYPE_MANAGEMENT_DEVICE   34
 
#define SMBIOS_TYPE_MANAGEMENT_DEVICE_COMPONENT   35
 
#define SMBIOS_TYPE_MANAGEMENT_DEVICE_THRESHOLD_DATA   36
 
#define SMBIOS_TYPE_MEMORY_CHANNEL   37
 
#define SMBIOS_TYPE_IPMI_DEVICE_INFORMATION   38
 
#define SMBIOS_TYPE_SYSTEM_POWER_SUPPLY   39
 
#define SMBIOS_TYPE_ADDITIONAL_INFORMATION   40
 
#define SMBIOS_TYPE_ONBOARD_DEVICES_EXTENDED_INFORMATION   41
 
#define SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE   42
 
#define SMBIOS_TYPE_TPM_DEVICE   43
 
#define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION   44
 
#define SMBIOS_TYPE_FIRMWARE_INVENTORY_INFORMATION   45
 
#define SMBIOS_TYPE_STRING_PROPERTY_INFORMATION   46
 
#define SMBIOS_TYPE_INACTIVE   0x007E
 
#define SMBIOS_TYPE_END_OF_TABLE   0x007F
 
#define SMBIOS_OEM_BEGIN   128
 
#define SMBIOS_OEM_END   255
 

Typedefs

typedef UINT8 SMBIOS_TYPE
 
typedef UINT16 SMBIOS_HANDLE
 
typedef UINT8 SMBIOS_TABLE_STRING
 

Enumerations

enum  MISC_SYSTEM_WAKEUP_TYPE {
  SystemWakeupTypeReserved = 0x00 , SystemWakeupTypeOther = 0x01 , SystemWakeupTypeUnknown = 0x02 , SystemWakeupTypeApmTimer = 0x03 ,
  SystemWakeupTypeModemRing = 0x04 , SystemWakeupTypeLanRemote = 0x05 , SystemWakeupTypePowerSwitch = 0x06 , SystemWakeupTypePciPme = 0x07 ,
  SystemWakeupTypeAcPowerRestored = 0x08
}
 
enum  BASE_BOARD_TYPE {
  BaseBoardTypeUnknown = 0x1 , BaseBoardTypeOther = 0x2 , BaseBoardTypeServerBlade = 0x3 , BaseBoardTypeConnectivitySwitch = 0x4 ,
  BaseBoardTypeSystemManagementModule = 0x5 , BaseBoardTypeProcessorModule = 0x6 , BaseBoardTypeIOModule = 0x7 , BaseBoardTypeMemoryModule = 0x8 ,
  BaseBoardTypeDaughterBoard = 0x9 , BaseBoardTypeMotherBoard = 0xA , BaseBoardTypeProcessorMemoryModule = 0xB , BaseBoardTypeProcessorIOModule = 0xC ,
  BaseBoardTypeInterconnectBoard = 0xD
}
 
enum  MISC_CHASSIS_TYPE {
  MiscChassisTypeOther = 0x01 , MiscChassisTypeUnknown = 0x02 , MiscChassisTypeDeskTop = 0x03 , MiscChassisTypeLowProfileDesktop = 0x04 ,
  MiscChassisTypePizzaBox = 0x05 , MiscChassisTypeMiniTower = 0x06 , MiscChassisTypeTower = 0x07 , MiscChassisTypePortable = 0x08 ,
  MiscChassisTypeLapTop = 0x09 , MiscChassisTypeNotebook = 0x0A , MiscChassisTypeHandHeld = 0x0B , MiscChassisTypeDockingStation = 0x0C ,
  MiscChassisTypeAllInOne = 0x0D , MiscChassisTypeSubNotebook = 0x0E , MiscChassisTypeSpaceSaving = 0x0F , MiscChassisTypeLunchBox = 0x10 ,
  MiscChassisTypeMainServerChassis = 0x11 , MiscChassisTypeExpansionChassis = 0x12 , MiscChassisTypeSubChassis = 0x13 , MiscChassisTypeBusExpansionChassis = 0x14 ,
  MiscChassisTypePeripheralChassis = 0x15 , MiscChassisTypeRaidChassis = 0x16 , MiscChassisTypeRackMountChassis = 0x17 , MiscChassisTypeSealedCasePc = 0x18 ,
  MiscChassisMultiSystemChassis = 0x19 , MiscChassisCompactPCI = 0x1A , MiscChassisAdvancedTCA = 0x1B , MiscChassisBlade = 0x1C ,
  MiscChassisBladeEnclosure = 0x1D , MiscChassisTablet = 0x1E , MiscChassisConvertible = 0x1F , MiscChassisDetachable = 0x20 ,
  MiscChassisIoTGateway = 0x21 , MiscChassisEmbeddedPc = 0x22 , MiscChassisMiniPc = 0x23 , MiscChassisStickPc = 0x24
}
 
enum  MISC_CHASSIS_STATE {
  ChassisStateOther = 0x01 , ChassisStateUnknown = 0x02 , ChassisStateSafe = 0x03 , ChassisStateWarning = 0x04 ,
  ChassisStateCritical = 0x05 , ChassisStateNonRecoverable = 0x06
}
 
enum  MISC_CHASSIS_SECURITY_STATE {
  ChassisSecurityStatusOther = 0x01 , ChassisSecurityStatusUnknown = 0x02 , ChassisSecurityStatusNone = 0x03 , ChassisSecurityStatusExternalInterfaceLockedOut = 0x04 ,
  ChassisSecurityStatusExternalInterfaceLockedEnabled = 0x05
}
 
enum  PROCESSOR_TYPE_DATA {
  ProcessorOther = 0x01 , ProcessorUnknown = 0x02 , CentralProcessor = 0x03 , MathProcessor = 0x04 ,
  DspProcessor = 0x05 , VideoProcessor = 0x06
}
 
enum  PROCESSOR_FAMILY_DATA {
  ProcessorFamilyOther = 0x01 , ProcessorFamilyUnknown = 0x02 , ProcessorFamily8086 = 0x03 , ProcessorFamily80286 = 0x04 ,
  ProcessorFamilyIntel386 = 0x05 , ProcessorFamilyIntel486 = 0x06 , ProcessorFamily8087 = 0x07 , ProcessorFamily80287 = 0x08 ,
  ProcessorFamily80387 = 0x09 , ProcessorFamily80487 = 0x0A , ProcessorFamilyPentium = 0x0B , ProcessorFamilyPentiumPro = 0x0C ,
  ProcessorFamilyPentiumII = 0x0D , ProcessorFamilyPentiumMMX = 0x0E , ProcessorFamilyCeleron = 0x0F , ProcessorFamilyPentiumIIXeon = 0x10 ,
  ProcessorFamilyPentiumIII = 0x11 , ProcessorFamilyM1 = 0x12 , ProcessorFamilyM2 = 0x13 , ProcessorFamilyIntelCeleronM = 0x14 ,
  ProcessorFamilyIntelPentium4Ht = 0x15 , ProcessorFamilyAmdDuron = 0x18 , ProcessorFamilyK5 = 0x19 , ProcessorFamilyK6 = 0x1A ,
  ProcessorFamilyK6_2 = 0x1B , ProcessorFamilyK6_3 = 0x1C , ProcessorFamilyAmdAthlon = 0x1D , ProcessorFamilyAmd29000 = 0x1E ,
  ProcessorFamilyK6_2Plus = 0x1F , ProcessorFamilyPowerPC = 0x20 , ProcessorFamilyPowerPC601 = 0x21 , ProcessorFamilyPowerPC603 = 0x22 ,
  ProcessorFamilyPowerPC603Plus = 0x23 , ProcessorFamilyPowerPC604 = 0x24 , ProcessorFamilyPowerPC620 = 0x25 , ProcessorFamilyPowerPCx704 = 0x26 ,
  ProcessorFamilyPowerPC750 = 0x27 , ProcessorFamilyIntelCoreDuo = 0x28 , ProcessorFamilyIntelCoreDuoMobile = 0x29 , ProcessorFamilyIntelCoreSoloMobile = 0x2A ,
  ProcessorFamilyIntelAtom = 0x2B , ProcessorFamilyIntelCoreM = 0x2C , ProcessorFamilyIntelCorem3 = 0x2D , ProcessorFamilyIntelCorem5 = 0x2E ,
  ProcessorFamilyIntelCorem7 = 0x2F , ProcessorFamilyAlpha = 0x30 , ProcessorFamilyAlpha21064 = 0x31 , ProcessorFamilyAlpha21066 = 0x32 ,
  ProcessorFamilyAlpha21164 = 0x33 , ProcessorFamilyAlpha21164PC = 0x34 , ProcessorFamilyAlpha21164a = 0x35 , ProcessorFamilyAlpha21264 = 0x36 ,
  ProcessorFamilyAlpha21364 = 0x37 , ProcessorFamilyAmdTurionIIUltraDualCoreMobileM = 0x38 , ProcessorFamilyAmdTurionIIDualCoreMobileM = 0x39 , ProcessorFamilyAmdAthlonIIDualCoreM = 0x3A ,
  ProcessorFamilyAmdOpteron6100Series = 0x3B , ProcessorFamilyAmdOpteron4100Series = 0x3C , ProcessorFamilyAmdOpteron6200Series = 0x3D , ProcessorFamilyAmdOpteron4200Series = 0x3E ,
  ProcessorFamilyAmdFxSeries = 0x3F , ProcessorFamilyMips = 0x40 , ProcessorFamilyMIPSR4000 = 0x41 , ProcessorFamilyMIPSR4200 = 0x42 ,
  ProcessorFamilyMIPSR4400 = 0x43 , ProcessorFamilyMIPSR4600 = 0x44 , ProcessorFamilyMIPSR10000 = 0x45 , ProcessorFamilyAmdCSeries = 0x46 ,
  ProcessorFamilyAmdESeries = 0x47 , ProcessorFamilyAmdASeries = 0x48 , ProcessorFamilyAmdGSeries = 0x49 , ProcessorFamilyAmdZSeries = 0x4A ,
  ProcessorFamilyAmdRSeries = 0x4B , ProcessorFamilyAmdOpteron4300 = 0x4C , ProcessorFamilyAmdOpteron6300 = 0x4D , ProcessorFamilyAmdOpteron3300 = 0x4E ,
  ProcessorFamilyAmdFireProSeries = 0x4F , ProcessorFamilySparc = 0x50 , ProcessorFamilySuperSparc = 0x51 , ProcessorFamilymicroSparcII = 0x52 ,
  ProcessorFamilymicroSparcIIep = 0x53 , ProcessorFamilyUltraSparc = 0x54 , ProcessorFamilyUltraSparcII = 0x55 , ProcessorFamilyUltraSparcIii = 0x56 ,
  ProcessorFamilyUltraSparcIII = 0x57 , ProcessorFamilyUltraSparcIIIi = 0x58 , ProcessorFamily68040 = 0x60 , ProcessorFamily68xxx = 0x61 ,
  ProcessorFamily68000 = 0x62 , ProcessorFamily68010 = 0x63 , ProcessorFamily68020 = 0x64 , ProcessorFamily68030 = 0x65 ,
  ProcessorFamilyAmdAthlonX4QuadCore = 0x66 , ProcessorFamilyAmdOpteronX1000Series = 0x67 , ProcessorFamilyAmdOpteronX2000Series = 0x68 , ProcessorFamilyAmdOpteronASeries = 0x69 ,
  ProcessorFamilyAmdOpteronX3000Series = 0x6A , ProcessorFamilyAmdZen = 0x6B , ProcessorFamilyHobbit = 0x70 , ProcessorFamilyCrusoeTM5000 = 0x78 ,
  ProcessorFamilyCrusoeTM3000 = 0x79 , ProcessorFamilyEfficeonTM8000 = 0x7A , ProcessorFamilyWeitek = 0x80 , ProcessorFamilyItanium = 0x82 ,
  ProcessorFamilyAmdAthlon64 = 0x83 , ProcessorFamilyAmdOpteron = 0x84 , ProcessorFamilyAmdSempron = 0x85 , ProcessorFamilyAmdTurion64Mobile = 0x86 ,
  ProcessorFamilyDualCoreAmdOpteron = 0x87 , ProcessorFamilyAmdAthlon64X2DualCore = 0x88 , ProcessorFamilyAmdTurion64X2Mobile = 0x89 , ProcessorFamilyQuadCoreAmdOpteron = 0x8A ,
  ProcessorFamilyThirdGenerationAmdOpteron = 0x8B , ProcessorFamilyAmdPhenomFxQuadCore = 0x8C , ProcessorFamilyAmdPhenomX4QuadCore = 0x8D , ProcessorFamilyAmdPhenomX2DualCore = 0x8E ,
  ProcessorFamilyAmdAthlonX2DualCore = 0x8F , ProcessorFamilyPARISC = 0x90 , ProcessorFamilyPaRisc8500 = 0x91 , ProcessorFamilyPaRisc8000 = 0x92 ,
  ProcessorFamilyPaRisc7300LC = 0x93 , ProcessorFamilyPaRisc7200 = 0x94 , ProcessorFamilyPaRisc7100LC = 0x95 , ProcessorFamilyPaRisc7100 = 0x96 ,
  ProcessorFamilyV30 = 0xA0 , ProcessorFamilyQuadCoreIntelXeon3200Series = 0xA1 , ProcessorFamilyDualCoreIntelXeon3000Series = 0xA2 , ProcessorFamilyQuadCoreIntelXeon5300Series = 0xA3 ,
  ProcessorFamilyDualCoreIntelXeon5100Series = 0xA4 , ProcessorFamilyDualCoreIntelXeon5000Series = 0xA5 , ProcessorFamilyDualCoreIntelXeonLV = 0xA6 , ProcessorFamilyDualCoreIntelXeonULV = 0xA7 ,
  ProcessorFamilyDualCoreIntelXeon7100Series = 0xA8 , ProcessorFamilyQuadCoreIntelXeon5400Series = 0xA9 , ProcessorFamilyQuadCoreIntelXeon = 0xAA , ProcessorFamilyDualCoreIntelXeon5200Series = 0xAB ,
  ProcessorFamilyDualCoreIntelXeon7200Series = 0xAC , ProcessorFamilyQuadCoreIntelXeon7300Series = 0xAD , ProcessorFamilyQuadCoreIntelXeon7400Series = 0xAE , ProcessorFamilyMultiCoreIntelXeon7400Series = 0xAF ,
  ProcessorFamilyPentiumIIIXeon = 0xB0 , ProcessorFamilyPentiumIIISpeedStep = 0xB1 , ProcessorFamilyPentium4 = 0xB2 , ProcessorFamilyIntelXeon = 0xB3 ,
  ProcessorFamilyAS400 = 0xB4 , ProcessorFamilyIntelXeonMP = 0xB5 , ProcessorFamilyAMDAthlonXP = 0xB6 , ProcessorFamilyAMDAthlonMP = 0xB7 ,
  ProcessorFamilyIntelItanium2 = 0xB8 , ProcessorFamilyIntelPentiumM = 0xB9 , ProcessorFamilyIntelCeleronD = 0xBA , ProcessorFamilyIntelPentiumD = 0xBB ,
  ProcessorFamilyIntelPentiumEx = 0xBC , ProcessorFamilyIntelCoreSolo = 0xBD , ProcessorFamilyReserved = 0xBE , ProcessorFamilyIntelCore2 = 0xBF ,
  ProcessorFamilyIntelCore2Solo = 0xC0 , ProcessorFamilyIntelCore2Extreme = 0xC1 , ProcessorFamilyIntelCore2Quad = 0xC2 , ProcessorFamilyIntelCore2ExtremeMobile = 0xC3 ,
  ProcessorFamilyIntelCore2DuoMobile = 0xC4 , ProcessorFamilyIntelCore2SoloMobile = 0xC5 , ProcessorFamilyIntelCoreI7 = 0xC6 , ProcessorFamilyDualCoreIntelCeleron = 0xC7 ,
  ProcessorFamilyIBM390 = 0xC8 , ProcessorFamilyG4 = 0xC9 , ProcessorFamilyG5 = 0xCA , ProcessorFamilyG6 = 0xCB ,
  ProcessorFamilyzArchitecture = 0xCC , ProcessorFamilyIntelCoreI5 = 0xCD , ProcessorFamilyIntelCoreI3 = 0xCE , ProcessorFamilyIntelCoreI9 = 0xCF ,
  ProcessorFamilyViaC7M = 0xD2 , ProcessorFamilyViaC7D = 0xD3 , ProcessorFamilyViaC7 = 0xD4 , ProcessorFamilyViaEden = 0xD5 ,
  ProcessorFamilyMultiCoreIntelXeon = 0xD6 , ProcessorFamilyDualCoreIntelXeon3Series = 0xD7 , ProcessorFamilyQuadCoreIntelXeon3Series = 0xD8 , ProcessorFamilyViaNano = 0xD9 ,
  ProcessorFamilyDualCoreIntelXeon5Series = 0xDA , ProcessorFamilyQuadCoreIntelXeon5Series = 0xDB , ProcessorFamilyDualCoreIntelXeon7Series = 0xDD , ProcessorFamilyQuadCoreIntelXeon7Series = 0xDE ,
  ProcessorFamilyMultiCoreIntelXeon7Series = 0xDF , ProcessorFamilyMultiCoreIntelXeon3400Series = 0xE0 , ProcessorFamilyAmdOpteron3000Series = 0xE4 , ProcessorFamilyAmdSempronII = 0xE5 ,
  ProcessorFamilyEmbeddedAmdOpteronQuadCore = 0xE6 , ProcessorFamilyAmdPhenomTripleCore = 0xE7 , ProcessorFamilyAmdTurionUltraDualCoreMobile = 0xE8 , ProcessorFamilyAmdTurionDualCoreMobile = 0xE9 ,
  ProcessorFamilyAmdAthlonDualCore = 0xEA , ProcessorFamilyAmdSempronSI = 0xEB , ProcessorFamilyAmdPhenomII = 0xEC , ProcessorFamilyAmdAthlonII = 0xED ,
  ProcessorFamilySixCoreAmdOpteron = 0xEE , ProcessorFamilyAmdSempronM = 0xEF , ProcessorFamilyi860 = 0xFA , ProcessorFamilyi960 = 0xFB ,
  ProcessorFamilyIndicatorFamily2 = 0xFE , ProcessorFamilyReserved1 = 0xFF
}
 
enum  PROCESSOR_FAMILY2_DATA {
  ProcessorFamilyARMv7 = 0x0100 , ProcessorFamilyARMv8 = 0x0101 , ProcessorFamilySH3 = 0x0104 , ProcessorFamilySH4 = 0x0105 ,
  ProcessorFamilyARM = 0x0118 , ProcessorFamilyStrongARM = 0x0119 , ProcessorFamily6x86 = 0x012C , ProcessorFamilyMediaGX = 0x012D ,
  ProcessorFamilyMII = 0x012E , ProcessorFamilyWinChip = 0x0140 , ProcessorFamilyDSP = 0x015E , ProcessorFamilyVideoProcessor = 0x01F4 ,
  ProcessorFamilyRiscvRV32 = 0x0200 , ProcessorFamilyRiscVRV64 = 0x0201 , ProcessorFamilyRiscVRV128 = 0x0202
}
 
enum  PROCESSOR_UPGRADE {
  ProcessorUpgradeOther = 0x01 , ProcessorUpgradeUnknown = 0x02 , ProcessorUpgradeDaughterBoard = 0x03 , ProcessorUpgradeZIFSocket = 0x04 ,
  ProcessorUpgradePiggyBack = 0x05 , ProcessorUpgradeNone = 0x06 , ProcessorUpgradeLIFSocket = 0x07 , ProcessorUpgradeSlot1 = 0x08 ,
  ProcessorUpgradeSlot2 = 0x09 , ProcessorUpgrade370PinSocket = 0x0A , ProcessorUpgradeSlotA = 0x0B , ProcessorUpgradeSlotM = 0x0C ,
  ProcessorUpgradeSocket423 = 0x0D , ProcessorUpgradeSocketA = 0x0E , ProcessorUpgradeSocket478 = 0x0F , ProcessorUpgradeSocket754 = 0x10 ,
  ProcessorUpgradeSocket940 = 0x11 , ProcessorUpgradeSocket939 = 0x12 , ProcessorUpgradeSocketmPGA604 = 0x13 , ProcessorUpgradeSocketLGA771 = 0x14 ,
  ProcessorUpgradeSocketLGA775 = 0x15 , ProcessorUpgradeSocketS1 = 0x16 , ProcessorUpgradeAM2 = 0x17 , ProcessorUpgradeF1207 = 0x18 ,
  ProcessorSocketLGA1366 = 0x19 , ProcessorUpgradeSocketG34 = 0x1A , ProcessorUpgradeSocketAM3 = 0x1B , ProcessorUpgradeSocketC32 = 0x1C ,
  ProcessorUpgradeSocketLGA1156 = 0x1D , ProcessorUpgradeSocketLGA1567 = 0x1E , ProcessorUpgradeSocketPGA988A = 0x1F , ProcessorUpgradeSocketBGA1288 = 0x20 ,
  ProcessorUpgradeSocketrPGA988B = 0x21 , ProcessorUpgradeSocketBGA1023 = 0x22 , ProcessorUpgradeSocketBGA1224 = 0x23 , ProcessorUpgradeSocketLGA1155 = 0x24 ,
  ProcessorUpgradeSocketLGA1356 = 0x25 , ProcessorUpgradeSocketLGA2011 = 0x26 , ProcessorUpgradeSocketFS1 = 0x27 , ProcessorUpgradeSocketFS2 = 0x28 ,
  ProcessorUpgradeSocketFM1 = 0x29 , ProcessorUpgradeSocketFM2 = 0x2A , ProcessorUpgradeSocketLGA2011_3 = 0x2B , ProcessorUpgradeSocketLGA1356_3 = 0x2C ,
  ProcessorUpgradeSocketLGA1150 = 0x2D , ProcessorUpgradeSocketBGA1168 = 0x2E , ProcessorUpgradeSocketBGA1234 = 0x2F , ProcessorUpgradeSocketBGA1364 = 0x30 ,
  ProcessorUpgradeSocketAM4 = 0x31 , ProcessorUpgradeSocketLGA1151 = 0x32 , ProcessorUpgradeSocketBGA1356 = 0x33 , ProcessorUpgradeSocketBGA1440 = 0x34 ,
  ProcessorUpgradeSocketBGA1515 = 0x35 , ProcessorUpgradeSocketLGA3647_1 = 0x36 , ProcessorUpgradeSocketSP3 = 0x37 , ProcessorUpgradeSocketSP3r2 = 0x38 ,
  ProcessorUpgradeSocketLGA2066 = 0x39 , ProcessorUpgradeSocketBGA1392 = 0x3A , ProcessorUpgradeSocketBGA1510 = 0x3B , ProcessorUpgradeSocketBGA1528 = 0x3C ,
  ProcessorUpgradeSocketLGA4189 = 0x3D , ProcessorUpgradeSocketLGA1200 = 0x3E , ProcessorUpgradeSocketLGA4677 = 0x3F
}
 
enum  MEMORY_ERROR_DETECT_METHOD {
  ErrorDetectingMethodOther = 0x01 , ErrorDetectingMethodUnknown = 0x02 , ErrorDetectingMethodNone = 0x03 , ErrorDetectingMethodParity = 0x04 ,
  ErrorDetectingMethod32Ecc = 0x05 , ErrorDetectingMethod64Ecc = 0x06 , ErrorDetectingMethod128Ecc = 0x07 , ErrorDetectingMethodCrc = 0x08
}
 
enum  MEMORY_SUPPORT_INTERLEAVE_TYPE {
  MemoryInterleaveOther = 0x01 , MemoryInterleaveUnknown = 0x02 , MemoryInterleaveOneWay = 0x03 , MemoryInterleaveTwoWay = 0x04 ,
  MemoryInterleaveFourWay = 0x05 , MemoryInterleaveEightWay = 0x06 , MemoryInterleaveSixteenWay = 0x07
}
 
enum  CACHE_ERROR_TYPE_DATA {
  CacheErrorOther = 0x01 , CacheErrorUnknown = 0x02 , CacheErrorNone = 0x03 , CacheErrorParity = 0x04 ,
  CacheErrorSingleBit = 0x05 , CacheErrorMultiBit = 0x06
}
 
enum  CACHE_TYPE_DATA {
  CacheTypeOther = 0x01 , CacheTypeUnknown = 0x02 , CacheTypeInstruction = 0x03 , CacheTypeData = 0x04 ,
  CacheTypeUnified = 0x05
}
 
enum  CACHE_ASSOCIATIVITY_DATA {
  CacheAssociativityOther = 0x01 , CacheAssociativityUnknown = 0x02 , CacheAssociativityDirectMapped = 0x03 , CacheAssociativity2Way = 0x04 ,
  CacheAssociativity4Way = 0x05 , CacheAssociativityFully = 0x06 , CacheAssociativity8Way = 0x07 , CacheAssociativity16Way = 0x08 ,
  CacheAssociativity12Way = 0x09 , CacheAssociativity24Way = 0x0A , CacheAssociativity32Way = 0x0B , CacheAssociativity48Way = 0x0C ,
  CacheAssociativity64Way = 0x0D , CacheAssociativity20Way = 0x0E
}
 
enum  MISC_PORT_CONNECTOR_TYPE {
  PortConnectorTypeNone = 0x00 , PortConnectorTypeCentronics = 0x01 , PortConnectorTypeMiniCentronics = 0x02 , PortConnectorTypeProprietary = 0x03 ,
  PortConnectorTypeDB25Male = 0x04 , PortConnectorTypeDB25Female = 0x05 , PortConnectorTypeDB15Male = 0x06 , PortConnectorTypeDB15Female = 0x07 ,
  PortConnectorTypeDB9Male = 0x08 , PortConnectorTypeDB9Female = 0x09 , PortConnectorTypeRJ11 = 0x0A , PortConnectorTypeRJ45 = 0x0B ,
  PortConnectorType50PinMiniScsi = 0x0C , PortConnectorTypeMiniDin = 0x0D , PortConnectorTypeMicroDin = 0x0E , PortConnectorTypePS2 = 0x0F ,
  PortConnectorTypeInfrared = 0x10 , PortConnectorTypeHpHil = 0x11 , PortConnectorTypeUsb = 0x12 , PortConnectorTypeSsaScsi = 0x13 ,
  PortConnectorTypeCircularDin8Male = 0x14 , PortConnectorTypeCircularDin8Female = 0x15 , PortConnectorTypeOnboardIde = 0x16 , PortConnectorTypeOnboardFloppy = 0x17 ,
  PortConnectorType9PinDualInline = 0x18 , PortConnectorType25PinDualInline = 0x19 , PortConnectorType50PinDualInline = 0x1A , PortConnectorType68PinDualInline = 0x1B ,
  PortConnectorTypeOnboardSoundInput = 0x1C , PortConnectorTypeMiniCentronicsType14 = 0x1D , PortConnectorTypeMiniCentronicsType26 = 0x1E , PortConnectorTypeHeadPhoneMiniJack = 0x1F ,
  PortConnectorTypeBNC = 0x20 , PortConnectorType1394 = 0x21 , PortConnectorTypeSasSata = 0x22 , PortConnectorTypeUsbTypeC = 0x23 ,
  PortConnectorTypePC98 = 0xA0 , PortConnectorTypePC98Hireso = 0xA1 , PortConnectorTypePCH98 = 0xA2 , PortConnectorTypePC98Note = 0xA3 ,
  PortConnectorTypePC98Full = 0xA4 , PortConnectorTypeOther = 0xFF
}
 
enum  MISC_PORT_TYPE {
  PortTypeNone = 0x00 , PortTypeParallelXtAtCompatible = 0x01 , PortTypeParallelPortPs2 = 0x02 , PortTypeParallelPortEcp = 0x03 ,
  PortTypeParallelPortEpp = 0x04 , PortTypeParallelPortEcpEpp = 0x05 , PortTypeSerialXtAtCompatible = 0x06 , PortTypeSerial16450Compatible = 0x07 ,
  PortTypeSerial16550Compatible = 0x08 , PortTypeSerial16550ACompatible = 0x09 , PortTypeScsi = 0x0A , PortTypeMidi = 0x0B ,
  PortTypeJoyStick = 0x0C , PortTypeKeyboard = 0x0D , PortTypeMouse = 0x0E , PortTypeSsaScsi = 0x0F ,
  PortTypeUsb = 0x10 , PortTypeFireWire = 0x11 , PortTypePcmciaTypeI = 0x12 , PortTypePcmciaTypeII = 0x13 ,
  PortTypePcmciaTypeIII = 0x14 , PortTypeCardBus = 0x15 , PortTypeAccessBusPort = 0x16 , PortTypeScsiII = 0x17 ,
  PortTypeScsiWide = 0x18 , PortTypePC98 = 0x19 , PortTypePC98Hireso = 0x1A , PortTypePCH98 = 0x1B ,
  PortTypeVideoPort = 0x1C , PortTypeAudioPort = 0x1D , PortTypeModemPort = 0x1E , PortTypeNetworkPort = 0x1F ,
  PortTypeSata = 0x20 , PortTypeSas = 0x21 , PortTypeMfdp = 0x22 , PortTypeThunderbolt = 0x23 ,
  PortType8251Compatible = 0xA0 , PortType8251FifoCompatible = 0xA1 , PortTypeOther = 0xFF
}
 
enum  MISC_SLOT_TYPE {
  SlotTypeOther = 0x01 , SlotTypeUnknown = 0x02 , SlotTypeIsa = 0x03 , SlotTypeMca = 0x04 ,
  SlotTypeEisa = 0x05 , SlotTypePci = 0x06 , SlotTypePcmcia = 0x07 , SlotTypeVlVesa = 0x08 ,
  SlotTypeProprietary = 0x09 , SlotTypeProcessorCardSlot = 0x0A , SlotTypeProprietaryMemoryCardSlot = 0x0B , SlotTypeIORiserCardSlot = 0x0C ,
  SlotTypeNuBus = 0x0D , SlotTypePci66MhzCapable = 0x0E , SlotTypeAgp = 0x0F , SlotTypeApg2X = 0x10 ,
  SlotTypeAgp4X = 0x11 , SlotTypePciX = 0x12 , SlotTypeAgp8X = 0x13 , SlotTypeM2Socket1_DP = 0x14 ,
  SlotTypeM2Socket1_SD = 0x15 , SlotTypeM2Socket2 = 0x16 , SlotTypeM2Socket3 = 0x17 , SlotTypeMxmTypeI = 0x18 ,
  SlotTypeMxmTypeII = 0x19 , SlotTypeMxmTypeIIIStandard = 0x1A , SlotTypeMxmTypeIIIHe = 0x1B , SlotTypeMxmTypeIV = 0x1C ,
  SlotTypeMxm30TypeA = 0x1D , SlotTypeMxm30TypeB = 0x1E , SlotTypePciExpressGen2Sff_8639 = 0x1F , SlotTypePciExpressGen3Sff_8639 = 0x20 ,
  SlotTypePciExpressMini52pinWithBSKO = 0x21 , SlotTypePciExpressMini52pinWithoutBSKO = 0x22 , SlotTypePciExpressMini76pin = 0x23 , SlotTypePCIExpressGen4SFF_8639 = 0x24 ,
  SlotTypePCIExpressGen5SFF_8639 = 0x25 , SlotTypeOCPNIC30SmallFormFactor = 0x26 , SlotTypeOCPNIC30LargeFormFactor = 0x27 , SlotTypeOCPNICPriorto30 = 0x28 ,
  SlotTypeCXLFlexbus10 = 0x30 , SlotTypePC98C20 = 0xA0 , SlotTypePC98C24 = 0xA1 , SlotTypePC98E = 0xA2 ,
  SlotTypePC98LocalBus = 0xA3 , SlotTypePC98Card = 0xA4 , SlotTypePciExpress = 0xA5 , SlotTypePciExpressX1 = 0xA6 ,
  SlotTypePciExpressX2 = 0xA7 , SlotTypePciExpressX4 = 0xA8 , SlotTypePciExpressX8 = 0xA9 , SlotTypePciExpressX16 = 0xAA ,
  SlotTypePciExpressGen2 = 0xAB , SlotTypePciExpressGen2X1 = 0xAC , SlotTypePciExpressGen2X2 = 0xAD , SlotTypePciExpressGen2X4 = 0xAE ,
  SlotTypePciExpressGen2X8 = 0xAF , SlotTypePciExpressGen2X16 = 0xB0 , SlotTypePciExpressGen3 = 0xB1 , SlotTypePciExpressGen3X1 = 0xB2 ,
  SlotTypePciExpressGen3X2 = 0xB3 , SlotTypePciExpressGen3X4 = 0xB4 , SlotTypePciExpressGen3X8 = 0xB5 , SlotTypePciExpressGen3X16 = 0xB6 ,
  SlotTypePciExpressGen4 = 0xB8 , SlotTypePciExpressGen4X1 = 0xB9 , SlotTypePciExpressGen4X2 = 0xBA , SlotTypePciExpressGen4X4 = 0xBB ,
  SlotTypePciExpressGen4X8 = 0xBC , SlotTypePciExpressGen4X16 = 0xBD , SlotTypePCIExpressGen5 = 0xBE , SlotTypePCIExpressGen5X1 = 0xBF ,
  SlotTypePCIExpressGen5X2 = 0xC0 , SlotTypePCIExpressGen5X4 = 0xC1 , SlotTypePCIExpressGen5X8 = 0xC2 , SlotTypePCIExpressGen5X16 = 0xC3 ,
  SlotTypePCIExpressGen6andBeyond = 0xC4 , SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot = 0xC5 , SlotTypeEnterpriseandDatacenter3E3FormFactorSlot = 0xC6
}
 
enum  MISC_SLOT_DATA_BUS_WIDTH {
  SlotDataBusWidthOther = 0x01 , SlotDataBusWidthUnknown = 0x02 , SlotDataBusWidth8Bit = 0x03 , SlotDataBusWidth16Bit = 0x04 ,
  SlotDataBusWidth32Bit = 0x05 , SlotDataBusWidth64Bit = 0x06 , SlotDataBusWidth128Bit = 0x07 , SlotDataBusWidth1X = 0x08 ,
  SlotDataBusWidth2X = 0x09 , SlotDataBusWidth4X = 0x0A , SlotDataBusWidth8X = 0x0B , SlotDataBusWidth12X = 0x0C ,
  SlotDataBusWidth16X = 0x0D , SlotDataBusWidth32X = 0x0E
}
 
enum  MISC_SLOT_PHYSICAL_WIDTH {
  SlotPhysicalWidthOther = 0x01 , SlotPhysicalWidthUnknown = 0x02 , SlotPhysicalWidth8Bit = 0x03 , SlotPhysicalWidth16Bit = 0x04 ,
  SlotPhysicalWidth32Bit = 0x05 , SlotPhysicalWidth64Bit = 0x06 , SlotPhysicalWidth128Bit = 0x07 , SlotPhysicalWidth1X = 0x08 ,
  SlotPhysicalWidth2X = 0x09 , SlotPhysicalWidth4X = 0x0A , SlotPhysicalWidth8X = 0x0B , SlotPhysicalWidth12X = 0x0C ,
  SlotPhysicalWidth16X = 0x0D , SlotPhysicalWidth32X = 0x0E
}
 
enum  MISC_SLOT_INFORMATION {
  Others = 0x00 , Gen1 = 0x01 , Gen2 = 0x01 , Gen3 = 0x03 ,
  Gen4 = 0x04 , Gen5 = 0x05 , Gen6 = 0x06
}
 
enum  MISC_SLOT_USAGE {
  SlotUsageOther = 0x01 , SlotUsageUnknown = 0x02 , SlotUsageAvailable = 0x03 , SlotUsageInUse = 0x04 ,
  SlotUsageUnavailable = 0x05
}
 
enum  MISC_SLOT_LENGTH { SlotLengthOther = 0x01 , SlotLengthUnknown = 0x02 , SlotLengthShort = 0x03 , SlotLengthLong = 0x04 }
 
enum  MISC_SLOT_HEIGHT {
  SlotHeightNone = 0x00 , SlotHeightOther = 0x01 , SlotHeightUnknown = 0x02 , SlotHeightFullHeight = 0x03 ,
  SlotHeightLowProfile = 0x04
}
 
enum  MISC_ONBOARD_DEVICE_TYPE {
  OnBoardDeviceTypeOther = 0x01 , OnBoardDeviceTypeUnknown = 0x02 , OnBoardDeviceTypeVideo = 0x03 , OnBoardDeviceTypeScsiController = 0x04 ,
  OnBoardDeviceTypeEthernet = 0x05 , OnBoardDeviceTypeTokenRing = 0x06 , OnBoardDeviceTypeSound = 0x07 , OnBoardDeviceTypePATAController = 0x08 ,
  OnBoardDeviceTypeSATAController = 0x09 , OnBoardDeviceTypeSASController = 0x0A
}
 
enum  EVENT_LOG_TYPE_DATA {
  EventLogTypeReserved = 0x00 , EventLogTypeSingleBitECC = 0x01 , EventLogTypeMultiBitECC = 0x02 , EventLogTypeParityMemErr = 0x03 ,
  EventLogTypeBusTimeOut = 0x04 , EventLogTypeIOChannelCheck = 0x05 , EventLogTypeSoftwareNMI = 0x06 , EventLogTypePOSTMemResize = 0x07 ,
  EventLogTypePOSTErr = 0x08 , EventLogTypePCIParityErr = 0x09 , EventLogTypePCISystemErr = 0x0A , EventLogTypeCPUFailure = 0x0B ,
  EventLogTypeEISATimeOut = 0x0C , EventLogTypeMemLogDisabled = 0x0D , EventLogTypeLoggingDisabled = 0x0E , EventLogTypeSysLimitExce = 0x10 ,
  EventLogTypeAsyncHWTimer = 0x11 , EventLogTypeSysConfigInfo = 0x12 , EventLogTypeHDInfo = 0x13 , EventLogTypeSysReconfig = 0x14 ,
  EventLogTypeUncorrectCPUErr = 0x15 , EventLogTypeAreaResetAndClr = 0x16 , EventLogTypeSystemBoot = 0x17 , EventLogTypeUnused = 0x18 ,
  EventLogTypeAvailForSys = 0x80 , EventLogTypeEndOfLog = 0xFF
}
 
enum  EVENT_LOG_VARIABLE_DATA {
  EventLogVariableNone = 0x00 , EventLogVariableHandle = 0x01 , EventLogVariableMutilEvent = 0x02 , EventLogVariableMutilEventHandle = 0x03 ,
  EventLogVariablePOSTResultBitmap = 0x04 , EventLogVariableSysManagementType = 0x05 , EventLogVariableMutliEventSysManagmentType = 0x06 , EventLogVariableUnused = 0x07 ,
  EventLogVariableOEMAssigned = 0x80
}
 
enum  MEMORY_ARRAY_LOCATION {
  MemoryArrayLocationOther = 0x01 , MemoryArrayLocationUnknown = 0x02 , MemoryArrayLocationSystemBoard = 0x03 , MemoryArrayLocationIsaAddonCard = 0x04 ,
  MemoryArrayLocationEisaAddonCard = 0x05 , MemoryArrayLocationPciAddonCard = 0x06 , MemoryArrayLocationMcaAddonCard = 0x07 , MemoryArrayLocationPcmciaAddonCard = 0x08 ,
  MemoryArrayLocationProprietaryAddonCard = 0x09 , MemoryArrayLocationNuBus = 0x0A , MemoryArrayLocationPc98C20AddonCard = 0xA0 , MemoryArrayLocationPc98C24AddonCard = 0xA1 ,
  MemoryArrayLocationPc98EAddonCard = 0xA2 , MemoryArrayLocationPc98LocalBusAddonCard = 0xA3 , MemoryArrayLocationCXLAddonCard = 0xA4
}
 
enum  MEMORY_ARRAY_USE {
  MemoryArrayUseOther = 0x01 , MemoryArrayUseUnknown = 0x02 , MemoryArrayUseSystemMemory = 0x03 , MemoryArrayUseVideoMemory = 0x04 ,
  MemoryArrayUseFlashMemory = 0x05 , MemoryArrayUseNonVolatileRam = 0x06 , MemoryArrayUseCacheMemory = 0x07
}
 
enum  MEMORY_ERROR_CORRECTION {
  MemoryErrorCorrectionOther = 0x01 , MemoryErrorCorrectionUnknown = 0x02 , MemoryErrorCorrectionNone = 0x03 , MemoryErrorCorrectionParity = 0x04 ,
  MemoryErrorCorrectionSingleBitEcc = 0x05 , MemoryErrorCorrectionMultiBitEcc = 0x06 , MemoryErrorCorrectionCrc = 0x07
}
 
enum  MEMORY_FORM_FACTOR {
  MemoryFormFactorOther = 0x01 , MemoryFormFactorUnknown = 0x02 , MemoryFormFactorSimm = 0x03 , MemoryFormFactorSip = 0x04 ,
  MemoryFormFactorChip = 0x05 , MemoryFormFactorDip = 0x06 , MemoryFormFactorZip = 0x07 , MemoryFormFactorProprietaryCard = 0x08 ,
  MemoryFormFactorDimm = 0x09 , MemoryFormFactorTsop = 0x0A , MemoryFormFactorRowOfChips = 0x0B , MemoryFormFactorRimm = 0x0C ,
  MemoryFormFactorSodimm = 0x0D , MemoryFormFactorSrimm = 0x0E , MemoryFormFactorFbDimm = 0x0F , MemoryFormFactorDie = 0x10
}
 
enum  MEMORY_DEVICE_TYPE {
  MemoryTypeOther = 0x01 , MemoryTypeUnknown = 0x02 , MemoryTypeDram = 0x03 , MemoryTypeEdram = 0x04 ,
  MemoryTypeVram = 0x05 , MemoryTypeSram = 0x06 , MemoryTypeRam = 0x07 , MemoryTypeRom = 0x08 ,
  MemoryTypeFlash = 0x09 , MemoryTypeEeprom = 0x0A , MemoryTypeFeprom = 0x0B , MemoryTypeEprom = 0x0C ,
  MemoryTypeCdram = 0x0D , MemoryType3Dram = 0x0E , MemoryTypeSdram = 0x0F , MemoryTypeSgram = 0x10 ,
  MemoryTypeRdram = 0x11 , MemoryTypeDdr = 0x12 , MemoryTypeDdr2 = 0x13 , MemoryTypeDdr2FbDimm = 0x14 ,
  MemoryTypeDdr3 = 0x18 , MemoryTypeFbd2 = 0x19 , MemoryTypeDdr4 = 0x1A , MemoryTypeLpddr = 0x1B ,
  MemoryTypeLpddr2 = 0x1C , MemoryTypeLpddr3 = 0x1D , MemoryTypeLpddr4 = 0x1E , MemoryTypeLogicalNonVolatileDevice = 0x1F ,
  MemoryTypeHBM = 0x20 , MemoryTypeHBM2 = 0x21 , MemoryTypeDdr5 = 0x22 , MemoryTypeLpddr5 = 0x23
}
 
enum  MEMORY_DEVICE_TECHNOLOGY {
  MemoryTechnologyOther = 0x01 , MemoryTechnologyUnknown = 0x02 , MemoryTechnologyDram = 0x03 , MemoryTechnologyNvdimmN = 0x04 ,
  MemoryTechnologyNvdimmF = 0x05 , MemoryTechnologyNvdimmP = 0x06 , MemoryTechnologyIntelOptanePersistentMemory = 0x07
}
 
enum  MEMORY_ERROR_TYPE {
  MemoryErrorOther = 0x01 , MemoryErrorUnknown = 0x02 , MemoryErrorOk = 0x03 , MemoryErrorBadRead = 0x04 ,
  MemoryErrorParity = 0x05 , MemoryErrorSigleBit = 0x06 , MemoryErrorDoubleBit = 0x07 , MemoryErrorMultiBit = 0x08 ,
  MemoryErrorNibble = 0x09 , MemoryErrorChecksum = 0x0A , MemoryErrorCrc = 0x0B , MemoryErrorCorrectSingleBit = 0x0C ,
  MemoryErrorCorrected = 0x0D , MemoryErrorUnCorrectable = 0x0E
}
 
enum  MEMORY_ERROR_GRANULARITY { MemoryGranularityOther = 0x01 , MemoryGranularityOtherUnknown = 0x02 , MemoryGranularityDeviceLevel = 0x03 , MemoryGranularityMemPartitionLevel = 0x04 }
 
enum  MEMORY_ERROR_OPERATION {
  MemoryErrorOperationOther = 0x01 , MemoryErrorOperationUnknown = 0x02 , MemoryErrorOperationRead = 0x03 , MemoryErrorOperationWrite = 0x04 ,
  MemoryErrorOperationPartialWrite = 0x05
}
 
enum  BUILTIN_POINTING_DEVICE_TYPE {
  PointingDeviceTypeOther = 0x01 , PointingDeviceTypeUnknown = 0x02 , PointingDeviceTypeMouse = 0x03 , PointingDeviceTypeTrackBall = 0x04 ,
  PointingDeviceTypeTrackPoint = 0x05 , PointingDeviceTypeGlidePoint = 0x06 , PointingDeviceTouchPad = 0x07 , PointingDeviceTouchScreen = 0x08 ,
  PointingDeviceOpticalSensor = 0x09
}
 
enum  BUILTIN_POINTING_DEVICE_INTERFACE {
  PointingDeviceInterfaceOther = 0x01 , PointingDeviceInterfaceUnknown = 0x02 , PointingDeviceInterfaceSerial = 0x03 , PointingDeviceInterfacePs2 = 0x04 ,
  PointingDeviceInterfaceInfrared = 0x05 , PointingDeviceInterfaceHpHil = 0x06 , PointingDeviceInterfaceBusMouse = 0x07 , PointingDeviceInterfaceADB = 0x08 ,
  PointingDeviceInterfaceBusMouseDB9 = 0xA0 , PointingDeviceInterfaceBusMouseMicroDin = 0xA1 , PointingDeviceInterfaceUsb = 0xA2 , PointingDeviceInterfaceI2c = 0xA3 ,
  PointingDeviceInterfaceSpi = 0xA4
}
 
enum  PORTABLE_BATTERY_DEVICE_CHEMISTRY {
  PortableBatteryDeviceChemistryOther = 0x01 , PortableBatteryDeviceChemistryUnknown = 0x02 , PortableBatteryDeviceChemistryLeadAcid = 0x03 , PortableBatteryDeviceChemistryNickelCadmium = 0x04 ,
  PortableBatteryDeviceChemistryNickelMetalHydride = 0x05 , PortableBatteryDeviceChemistryLithiumIon = 0x06 , PortableBatteryDeviceChemistryZincAir = 0x07 , PortableBatteryDeviceChemistryLithiumPolymer = 0x08
}
 
enum  MISC_BOOT_INFORMATION_STATUS_DATA_TYPE {
  BootInformationStatusNoError = 0x00 , BootInformationStatusNoBootableMedia = 0x01 , BootInformationStatusNormalOSFailedLoading = 0x02 , BootInformationStatusFirmwareDetectedFailure = 0x03 ,
  BootInformationStatusOSDetectedFailure = 0x04 , BootInformationStatusUserRequestedBoot = 0x05 , BootInformationStatusSystemSecurityViolation = 0x06 , BootInformationStatusPreviousRequestedImage = 0x07 ,
  BootInformationStatusWatchdogTimerExpired = 0x08 , BootInformationStatusStartReserved = 0x09 , BootInformationStatusStartOemSpecific = 0x80 , BootInformationStatusStartProductSpecific = 0xC0
}
 
enum  MISC_MANAGEMENT_DEVICE_TYPE {
  ManagementDeviceTypeOther = 0x01 , ManagementDeviceTypeUnknown = 0x02 , ManagementDeviceTypeLm75 = 0x03 , ManagementDeviceTypeLm78 = 0x04 ,
  ManagementDeviceTypeLm79 = 0x05 , ManagementDeviceTypeLm80 = 0x06 , ManagementDeviceTypeLm81 = 0x07 , ManagementDeviceTypeAdm9240 = 0x08 ,
  ManagementDeviceTypeDs1780 = 0x09 , ManagementDeviceTypeMaxim1617 = 0x0A , ManagementDeviceTypeGl518Sm = 0x0B , ManagementDeviceTypeW83781D = 0x0C ,
  ManagementDeviceTypeHt82H791 = 0x0D
}
 
enum  MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE {
  ManagementDeviceAddressTypeOther = 0x01 , ManagementDeviceAddressTypeUnknown = 0x02 , ManagementDeviceAddressTypeIOPort = 0x03 , ManagementDeviceAddressTypeMemory = 0x04 ,
  ManagementDeviceAddressTypeSmbus = 0x05
}
 
enum  MEMORY_CHANNEL_TYPE { MemoryChannelTypeOther = 0x01 , MemoryChannelTypeUnknown = 0x02 , MemoryChannelTypeRambus = 0x03 , MemoryChannelTypeSyncLink = 0x04 }
 
enum  BMC_INTERFACE_TYPE {
  IPMIDeviceInfoInterfaceTypeUnknown = 0x00 , IPMIDeviceInfoInterfaceTypeKCS = 0x01 , IPMIDeviceInfoInterfaceTypeSMIC = 0x02 , IPMIDeviceInfoInterfaceTypeBT = 0x03 ,
  IPMIDeviceInfoInterfaceTypeSSIF = 0x04
}
 
enum  ONBOARD_DEVICE_EXTENDED_INFO_TYPE {
  OnBoardDeviceExtendedTypeOther = 0x01 , OnBoardDeviceExtendedTypeUnknown = 0x02 , OnBoardDeviceExtendedTypeVideo = 0x03 , OnBoardDeviceExtendedTypeScsiController = 0x04 ,
  OnBoardDeviceExtendedTypeEthernet = 0x05 , OnBoardDeviceExtendedTypeTokenRing = 0x06 , OnBoardDeviceExtendedTypeSound = 0x07 , OnBoardDeviceExtendedTypePATAController = 0x08 ,
  OnBoardDeviceExtendedTypeSATAController = 0x09 , OnBoardDeviceExtendedTypeSASController = 0x0A , OnBoardDeviceExtendedTypeWirelessLAN = 0x0B , OnBoardDeviceExtendedTypeBluetooth = 0x0C ,
  OnBoardDeviceExtendedTypeWWAN = 0x0D , OnBoardDeviceExtendedTypeeMMC = 0x0E , OnBoardDeviceExtendedTypeNvme = 0x0F , OnBoardDeviceExtendedTypeUfc = 0x10
}
 
enum  MC_HOST_INTERFACE_TYPE { MCHostInterfaceTypeNetworkHostInterface = 0x40 , MCHostInterfaceTypeOemDefined = 0xF0 }
 
enum  MC_HOST_INTERFACE_PROTOCOL_TYPE { MCHostInterfaceProtocolTypeIPMI = 0x02 , MCHostInterfaceProtocolTypeMCTP = 0x03 , MCHostInterfaceProtocolTypeRedfishOverIP = 0x04 , MCHostInterfaceProtocolTypeOemDefined = 0xF0 }
 
enum  PROCESSOR_SPECIFIC_BLOCK_ARCH_TYPE {
  ProcessorSpecificBlockArchTypeReserved = 0x00 , ProcessorSpecificBlockArchTypeIa32 = 0x01 , ProcessorSpecificBlockArchTypeX64 = 0x02 , ProcessorSpecificBlockArchTypeItanium = 0x03 ,
  ProcessorSpecificBlockArchTypeAarch32 = 0x04 , ProcessorSpecificBlockArchTypeAarch64 = 0x05 , ProcessorSpecificBlockArchTypeRiscVRV32 = 0x06 , ProcessorSpecificBlockArchTypeRiscVRV64 = 0x07 ,
  ProcessorSpecificBlockArchTypeRiscVRV128 = 0x08
}
 
enum  FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE {
  VersionFormatTypeFreeForm = 0x00 , VersionFormatTypeMajorMinor = 0x01 , VersionFormatType32BitHex = 0x02 , VersionFormatType64BitHex = 0x03 ,
  VersionFormatTypeReserved = 0x04 , VersionFormatTypeOem = 0x80
}
 
enum  FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE { FirmwareIdFormatTypeFreeForm = 0x00 , FirmwareIdFormatTypeUuid = 0x01 , FirmwareIdFormatTypeReserved = 0x04 , InventoryFirmwareIdFormatTypeOem = 0x80 }
 
enum  FIRMWARE_INVENTORY_CHARACTERISTICS { CharacteristicsUpdatable = 0x00 , CharacteristicsWriteProtected = 0x01 , CharacteristicsReserved = 0x02 }
 
enum  FIRMWARE_INVENTORY_STATE {
  FirmwareInventoryStateOther = 0x01 , FirmwareInventoryStateUnknown = 0x02 , FirmwareInventoryStateDisabled = 0x03 , FirmwareInventoryStateEnabled = 0x04 ,
  FirmwareInventoryStateAbsent = 0x05 , FirmwareInventoryStateStandbyOffline = 0x06 , FirmwareInventoryStateStandbySpare = 0x07 , FirmwareInventoryStateUnavailableOffline = 0x08
}
 
enum  STRING_PROPERTY_ID {
  StringPropertyIdNone = 0x0000 , StringPropertyIdDevicePath = 0x0001 , StringPropertyIdReserved = 0x0002 , StringPropertyIdBiosVendor = 0x8000 ,
  StringPropertyIdOem = 0xC000
}
 

Detailed Description

Industry Standard Definitions of SMBIOS Table Specification v3.5.0.

Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
(C) Copyright 2015 - 2019 Hewlett Packard Enterprise Development LP
Copyright (c) 2022, AMD Incorporated. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file SmBios.h.

Macro Definition Documentation

◆ SMBIOS_3_0_TABLE_MAX_LENGTH

#define SMBIOS_3_0_TABLE_MAX_LENGTH   0xFFFFFFFF

Definition at line 48 of file SmBios.h.

◆ SMBIOS_HANDLE_PI_RESERVED

#define SMBIOS_HANDLE_PI_RESERVED   0xFFFE

Reference SMBIOS 2.7, chapter 6.1.2. The UEFI Platform Initialization Specification reserves handle number FFFEh for its EFI_SMBIOS_PROTOCOL.Add() function to mean "assign an unused handle number automatically." This number is not used for any other purpose by the SMBIOS specification.

Definition at line 28 of file SmBios.h.

◆ SMBIOS_HANDLE_RESERVED_BEGIN

#define SMBIOS_HANDLE_RESERVED_BEGIN   0xFF00

Reference SMBIOS 2.6, chapter 3.1.2. For v2.1 and later, handle values in the range 0FF00h to 0FFFFh are reserved for use by this specification.

Definition at line 20 of file SmBios.h.

◆ SMBIOS_OEM_BEGIN

#define SMBIOS_OEM_BEGIN   128

Definition at line 114 of file SmBios.h.

◆ SMBIOS_OEM_END

#define SMBIOS_OEM_END   255

Definition at line 115 of file SmBios.h.

◆ SMBIOS_STRING_MAX_LENGTH

#define SMBIOS_STRING_MAX_LENGTH   64

Reference SMBIOS 2.6, chapter 3.1.3. Each text string is limited to 64 significant characters due to system MIF limitations. Reference SMBIOS 2.7, chapter 6.1.3. It will have no limit on the length of each individual text string.

Definition at line 36 of file SmBios.h.

◆ SMBIOS_TABLE_MAX_LENGTH

#define SMBIOS_TABLE_MAX_LENGTH   0xFFFF

Definition at line 43 of file SmBios.h.

◆ SMBIOS_TYPE_32BIT_MEMORY_ERROR_INFORMATION

#define SMBIOS_TYPE_32BIT_MEMORY_ERROR_INFORMATION   18

Definition at line 71 of file SmBios.h.

◆ SMBIOS_TYPE_64BIT_MEMORY_ERROR_INFORMATION

#define SMBIOS_TYPE_64BIT_MEMORY_ERROR_INFORMATION   33

Definition at line 86 of file SmBios.h.

◆ SMBIOS_TYPE_ADDITIONAL_INFORMATION

#define SMBIOS_TYPE_ADDITIONAL_INFORMATION   40

Definition at line 93 of file SmBios.h.

◆ SMBIOS_TYPE_BASEBOARD_INFORMATION

#define SMBIOS_TYPE_BASEBOARD_INFORMATION   2

Definition at line 55 of file SmBios.h.

◆ SMBIOS_TYPE_BIOS_INFORMATION

#define SMBIOS_TYPE_BIOS_INFORMATION   0

Definition at line 53 of file SmBios.h.

◆ SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION

#define SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION   13

Definition at line 66 of file SmBios.h.

◆ SMBIOS_TYPE_BOOT_INTEGRITY_SERVICE

#define SMBIOS_TYPE_BOOT_INTEGRITY_SERVICE   31

Definition at line 84 of file SmBios.h.

◆ SMBIOS_TYPE_BUILT_IN_POINTING_DEVICE

#define SMBIOS_TYPE_BUILT_IN_POINTING_DEVICE   21

Definition at line 74 of file SmBios.h.

◆ SMBIOS_TYPE_CACHE_INFORMATION

#define SMBIOS_TYPE_CACHE_INFORMATION   7

Definition at line 60 of file SmBios.h.

◆ SMBIOS_TYPE_COOLING_DEVICE

#define SMBIOS_TYPE_COOLING_DEVICE   27

Definition at line 80 of file SmBios.h.

◆ SMBIOS_TYPE_ELECTRICAL_CURRENT_PROBE

#define SMBIOS_TYPE_ELECTRICAL_CURRENT_PROBE   29

Definition at line 82 of file SmBios.h.

◆ SMBIOS_TYPE_END_OF_TABLE

#define SMBIOS_TYPE_END_OF_TABLE   0x007F

End-of-table type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.44. The end-of-table indicator is used in the last physical structure in a table

Definition at line 112 of file SmBios.h.

◆ SMBIOS_TYPE_FIRMWARE_INVENTORY_INFORMATION

#define SMBIOS_TYPE_FIRMWARE_INVENTORY_INFORMATION   45

Definition at line 98 of file SmBios.h.

◆ SMBIOS_TYPE_GROUP_ASSOCIATIONS

#define SMBIOS_TYPE_GROUP_ASSOCIATIONS   14

Definition at line 67 of file SmBios.h.

◆ SMBIOS_TYPE_HARDWARE_SECURITY

#define SMBIOS_TYPE_HARDWARE_SECURITY   24

Definition at line 77 of file SmBios.h.

◆ SMBIOS_TYPE_INACTIVE

#define SMBIOS_TYPE_INACTIVE   0x007E

Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.43. Upper-level software that interprets the SMBIOS structure-table should bypass an Inactive structure just like a structure type that the software does not recognize.

Definition at line 106 of file SmBios.h.

◆ SMBIOS_TYPE_IPMI_DEVICE_INFORMATION

#define SMBIOS_TYPE_IPMI_DEVICE_INFORMATION   38

Definition at line 91 of file SmBios.h.

◆ SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE

#define SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE   42

Definition at line 95 of file SmBios.h.

◆ SMBIOS_TYPE_MANAGEMENT_DEVICE

#define SMBIOS_TYPE_MANAGEMENT_DEVICE   34

Definition at line 87 of file SmBios.h.

◆ SMBIOS_TYPE_MANAGEMENT_DEVICE_COMPONENT

#define SMBIOS_TYPE_MANAGEMENT_DEVICE_COMPONENT   35

Definition at line 88 of file SmBios.h.

◆ SMBIOS_TYPE_MANAGEMENT_DEVICE_THRESHOLD_DATA

#define SMBIOS_TYPE_MANAGEMENT_DEVICE_THRESHOLD_DATA   36

Definition at line 89 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS

#define SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS   19

Definition at line 72 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_CHANNEL

#define SMBIOS_TYPE_MEMORY_CHANNEL   37

Definition at line 90 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_CONTROLLER_INFORMATION

#define SMBIOS_TYPE_MEMORY_CONTROLLER_INFORMATION   5

Definition at line 58 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_DEVICE

#define SMBIOS_TYPE_MEMORY_DEVICE   17

Definition at line 70 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_DEVICE_MAPPED_ADDRESS

#define SMBIOS_TYPE_MEMORY_DEVICE_MAPPED_ADDRESS   20

Definition at line 73 of file SmBios.h.

◆ SMBIOS_TYPE_MEMORY_MODULE_INFORMATON

#define SMBIOS_TYPE_MEMORY_MODULE_INFORMATON   6

Definition at line 59 of file SmBios.h.

◆ SMBIOS_TYPE_OEM_STRINGS

#define SMBIOS_TYPE_OEM_STRINGS   11

Definition at line 64 of file SmBios.h.

◆ SMBIOS_TYPE_ONBOARD_DEVICE_INFORMATION

#define SMBIOS_TYPE_ONBOARD_DEVICE_INFORMATION   10

Definition at line 63 of file SmBios.h.

◆ SMBIOS_TYPE_ONBOARD_DEVICES_EXTENDED_INFORMATION

#define SMBIOS_TYPE_ONBOARD_DEVICES_EXTENDED_INFORMATION   41

Definition at line 94 of file SmBios.h.

◆ SMBIOS_TYPE_OUT_OF_BAND_REMOTE_ACCESS

#define SMBIOS_TYPE_OUT_OF_BAND_REMOTE_ACCESS   30

Definition at line 83 of file SmBios.h.

◆ SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY

#define SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY   16

Definition at line 69 of file SmBios.h.

◆ SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION

#define SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION   8

Definition at line 61 of file SmBios.h.

◆ SMBIOS_TYPE_PORTABLE_BATTERY

#define SMBIOS_TYPE_PORTABLE_BATTERY   22

Definition at line 75 of file SmBios.h.

◆ SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION

#define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION   44

Definition at line 97 of file SmBios.h.

◆ SMBIOS_TYPE_PROCESSOR_INFORMATION

#define SMBIOS_TYPE_PROCESSOR_INFORMATION   4

Definition at line 57 of file SmBios.h.

◆ SMBIOS_TYPE_STRING_PROPERTY_INFORMATION

#define SMBIOS_TYPE_STRING_PROPERTY_INFORMATION   46

Definition at line 99 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION

#define SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION   32

Definition at line 85 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS

#define SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS   12

Definition at line 65 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_ENCLOSURE

#define SMBIOS_TYPE_SYSTEM_ENCLOSURE   3

Definition at line 56 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_EVENT_LOG

#define SMBIOS_TYPE_SYSTEM_EVENT_LOG   15

Definition at line 68 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_INFORMATION

#define SMBIOS_TYPE_SYSTEM_INFORMATION   1

Definition at line 54 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_POWER_CONTROLS

#define SMBIOS_TYPE_SYSTEM_POWER_CONTROLS   25

Definition at line 78 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_POWER_SUPPLY

#define SMBIOS_TYPE_SYSTEM_POWER_SUPPLY   39

Definition at line 92 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_RESET

#define SMBIOS_TYPE_SYSTEM_RESET   23

Definition at line 76 of file SmBios.h.

◆ SMBIOS_TYPE_SYSTEM_SLOTS

#define SMBIOS_TYPE_SYSTEM_SLOTS   9

Definition at line 62 of file SmBios.h.

◆ SMBIOS_TYPE_TEMPERATURE_PROBE

#define SMBIOS_TYPE_TEMPERATURE_PROBE   28

Definition at line 81 of file SmBios.h.

◆ SMBIOS_TYPE_TPM_DEVICE

#define SMBIOS_TYPE_TPM_DEVICE   43

Definition at line 96 of file SmBios.h.

◆ SMBIOS_TYPE_VOLTAGE_PROBE

#define SMBIOS_TYPE_VOLTAGE_PROBE   26

Definition at line 79 of file SmBios.h.

Typedef Documentation

◆ SMBIOS_HANDLE

Specifies the structure's handle, a unique 16-bit number in the range 0 to 0FFFEh (for version 2.0) or 0 to 0FEFFh (for version 2.1 and later). The handle can be used with the Get SMBIOS Structure function to retrieve a specific structure; the handle numbers are not required to be contiguous. For v2.1 and later, handle values in the range 0FF00h to 0FFFFh are reserved for use by this specification. If the system configuration changes, a previously assigned handle might no longer exist. However once a handle has been assigned by the BIOS, the BIOS cannot re-assign that handle number to another structure.

Definition at line 133 of file SmBios.h.

◆ SMBIOS_TABLE_STRING

Text strings associated with a given SMBIOS structure are returned in the dmiStrucBuffer, appended directly after the formatted portion of the structure. This method of returning string information eliminates the need for application software to deal with pointers embedded in the SMBIOS structure. Each string is terminated with a null (00h) BYTE and the set of strings is terminated with an additional null (00h) BYTE. When the formatted portion of a SMBIOS structure references a string, it does so by specifying a non-zero string number within the structure's string-set. For example, if a string field contains 02h, it references the second string following the formatted portion of the SMBIOS structure. If a string field references no string, a null (0) is placed in that string field. If the formatted portion of the structure contains string-reference fields and all the string fields are set to 0 (no string references), the formatted section of the structure is followed by two null (00h) BYTES.

Definition at line 189 of file SmBios.h.

◆ SMBIOS_TYPE

typedef UINT8 SMBIOS_TYPE

Types 0 through 127 (7Fh) are reserved for and defined by this specification. Types 128 through 256 (80h to FFh) are available for system- and OEM-specific information.

Definition at line 121 of file SmBios.h.

Enumeration Type Documentation

◆ BASE_BOARD_TYPE

Base Board - Board Type.

Definition at line 351 of file SmBios.h.

◆ BMC_INTERFACE_TYPE

IPMI Device Information - BMC Interface Type

Enumerator
IPMIDeviceInfoInterfaceTypeKCS 

The Keyboard Controller Style.

IPMIDeviceInfoInterfaceTypeSMIC 

The Server Management Interface Chip.

IPMIDeviceInfoInterfaceTypeBT 

The Block Transfer.

IPMIDeviceInfoInterfaceTypeSSIF 

SMBus System Interface.

Definition at line 2478 of file SmBios.h.

◆ BUILTIN_POINTING_DEVICE_INTERFACE

Built-in Pointing Device - Interface.

Definition at line 2063 of file SmBios.h.

◆ BUILTIN_POINTING_DEVICE_TYPE

Built-in Pointing Device - Type

Definition at line 2048 of file SmBios.h.

◆ CACHE_ASSOCIATIVITY_DATA

Cache Information - Associativity.

Definition at line 1117 of file SmBios.h.

◆ CACHE_ERROR_TYPE_DATA

Cache Information - Error Correction Type.

Enumerator
CacheErrorSingleBit 

ECC.

CacheErrorMultiBit 

ECC.

Definition at line 1094 of file SmBios.h.

◆ CACHE_TYPE_DATA

Cache Information - System Cache Type.

Definition at line 1106 of file SmBios.h.

◆ EVENT_LOG_TYPE_DATA

System Event Log - Event Log Types.

Enumerator
EventLogTypeUnused 

0x18 - 0x7F

EventLogTypeAvailForSys 

0x80 - 0xFE

Definition at line 1615 of file SmBios.h.

◆ EVENT_LOG_VARIABLE_DATA

System Event Log - Variable Data Format Types.

Definition at line 1647 of file SmBios.h.

◆ FIRMWARE_INVENTORY_CHARACTERISTICS

Firmware Inventory Firmware Characteristics (Type 45).

Definition at line 2749 of file SmBios.h.

◆ FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE

Firmware Inventory Firmware Id Format Type (Type 45).

Enumerator
InventoryFirmwareIdFormatTypeOem 

0x04 - 0x7F are reserved

Definition at line 2739 of file SmBios.h.

◆ FIRMWARE_INVENTORY_STATE

Firmware Inventory State Information (Type 45).

Definition at line 2758 of file SmBios.h.

◆ FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE

Firmware Inventory Version Format Type (Type 45).

Enumerator
VersionFormatTypeOem 

0x04 - 0x7F are reserved

Definition at line 2727 of file SmBios.h.

◆ MC_HOST_INTERFACE_PROTOCOL_TYPE

Management Controller Host Interface - Protocol Types.

Definition at line 2628 of file SmBios.h.

◆ MC_HOST_INTERFACE_TYPE

Management Controller Host Interface - Interface Types. 00h - 3Fh: MCTP Host Interfaces

Definition at line 2620 of file SmBios.h.

◆ MEMORY_ARRAY_LOCATION

Physical Memory Array - Location.

Definition at line 1693 of file SmBios.h.

◆ MEMORY_ARRAY_USE

Physical Memory Array - Use.

Definition at line 1714 of file SmBios.h.

◆ MEMORY_CHANNEL_TYPE

Memory Channel - Channel Type.

Definition at line 2453 of file SmBios.h.

◆ MEMORY_DEVICE_TECHNOLOGY

Memory Device - Memory Technology

Definition at line 1842 of file SmBios.h.

◆ MEMORY_DEVICE_TYPE

Memory Device - Type

Definition at line 1782 of file SmBios.h.

◆ MEMORY_ERROR_CORRECTION

Physical Memory Array - Error Correction Types.

Definition at line 1727 of file SmBios.h.

◆ MEMORY_ERROR_DETECT_METHOD

Memory Controller Error Detecting Method.

Definition at line 954 of file SmBios.h.

◆ MEMORY_ERROR_GRANULARITY

32-bit Memory Error Information - Error Granularity.

Definition at line 1969 of file SmBios.h.

◆ MEMORY_ERROR_OPERATION

32-bit Memory Error Information - Error Operation.

Definition at line 1979 of file SmBios.h.

◆ MEMORY_ERROR_TYPE

32-bit Memory Error Information - Error Type.

Definition at line 1949 of file SmBios.h.

◆ MEMORY_FORM_FACTOR

Memory Device - Form Factor.

Definition at line 1760 of file SmBios.h.

◆ MEMORY_SUPPORT_INTERLEAVE_TYPE

Memory Controller Information - Interleave Support.

Definition at line 981 of file SmBios.h.

◆ MISC_BOOT_INFORMATION_STATUS_DATA_TYPE

System Boot Information - System Boot Status.

Definition at line 2318 of file SmBios.h.

◆ MISC_CHASSIS_SECURITY_STATE

System Enclosure or Chassis Security Status.

Definition at line 445 of file SmBios.h.

◆ MISC_CHASSIS_STATE

System Enclosure or Chassis States .

Definition at line 433 of file SmBios.h.

◆ MISC_CHASSIS_TYPE

System Enclosure or Chassis Types

Definition at line 391 of file SmBios.h.

◆ MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE

Management Device - Address Type.

Definition at line 2389 of file SmBios.h.

◆ MISC_MANAGEMENT_DEVICE_TYPE

Management Device - Type.

Definition at line 2370 of file SmBios.h.

◆ MISC_ONBOARD_DEVICE_TYPE

On Board Devices Information - Device Types.

Definition at line 1521 of file SmBios.h.

◆ MISC_PORT_CONNECTOR_TYPE

Port Connector Information - Connector Types.

Definition at line 1164 of file SmBios.h.

◆ MISC_PORT_TYPE

Port Connector Information - Port Types

Enumerator
PortTypeMfdp 

Multi-Function Display Port.

Definition at line 1212 of file SmBios.h.

◆ MISC_SLOT_DATA_BUS_WIDTH

System Slots - Slot Data Bus Width.

Enumerator
SlotDataBusWidth1X 

Or X1.

SlotDataBusWidth2X 

Or X2.

SlotDataBusWidth4X 

Or X4.

SlotDataBusWidth8X 

Or X8.

SlotDataBusWidth12X 

Or X12.

SlotDataBusWidth16X 

Or X16.

SlotDataBusWidth32X 

Or X32.

Definition at line 1358 of file SmBios.h.

◆ MISC_SLOT_HEIGHT

System Slots - Slot Height

Definition at line 1459 of file SmBios.h.

◆ MISC_SLOT_INFORMATION

System Slots - Slot Information.

Definition at line 1398 of file SmBios.h.

◆ MISC_SLOT_LENGTH

System Slots - Slot Length.

Definition at line 1422 of file SmBios.h.

◆ MISC_SLOT_PHYSICAL_WIDTH

System Slots - Slot Physical Width.

Enumerator
SlotPhysicalWidth1X 

Or X1.

SlotPhysicalWidth2X 

Or X2.

SlotPhysicalWidth4X 

Or X4.

SlotPhysicalWidth8X 

Or X8.

SlotPhysicalWidth12X 

Or X12.

SlotPhysicalWidth16X 

Or X16.

SlotPhysicalWidth32X 

Or X32.

Definition at line 1378 of file SmBios.h.

◆ MISC_SLOT_TYPE

System Slots - Slot Type

Enumerator
SlotTypePciExpressMini52pinWithBSKO 

PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs.

SlotTypePciExpressMini52pinWithoutBSKO 

PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs.

SlotTypePciExpressMini76pin 

PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card.

SlotTypePCIExpressGen4SFF_8639 

U.2.

SlotTypePCIExpressGen5SFF_8639 

U.2.

SlotTypeOCPNIC30SmallFormFactor 

SFF.

SlotTypeOCPNIC30LargeFormFactor 

LFF.

Definition at line 1273 of file SmBios.h.

◆ MISC_SLOT_USAGE

System Slots - Current Usage.

Definition at line 1411 of file SmBios.h.

◆ MISC_SYSTEM_WAKEUP_TYPE

System Wake-up Type.

Definition at line 304 of file SmBios.h.

◆ ONBOARD_DEVICE_EXTENDED_INFO_TYPE

Onboard Devices Extended Information - Onboard Device Types.

Definition at line 2570 of file SmBios.h.

◆ PORTABLE_BATTERY_DEVICE_CHEMISTRY

Portable Battery - Device Chemistry

Definition at line 2096 of file SmBios.h.

◆ PROCESSOR_FAMILY2_DATA

Processor Information2 - Processor Family2.

Definition at line 724 of file SmBios.h.

◆ PROCESSOR_FAMILY_DATA

Processor Information - Processor Family.

Enumerator
ProcessorFamilyAmdASeries 

SMBIOS spec 2.8.0 updated the name.

ProcessorFamilyIntelCoreSolo 

SMBIOS spec 2.6 updated this value.

Definition at line 516 of file SmBios.h.

◆ PROCESSOR_SPECIFIC_BLOCK_ARCH_TYPE

Processor Specific Block - Processor Architecture Type

Definition at line 2662 of file SmBios.h.

◆ PROCESSOR_TYPE_DATA

Processor Information - Processor Type.

Definition at line 504 of file SmBios.h.

◆ PROCESSOR_UPGRADE

Processor Information - Processor Upgrade.

Enumerator
ProcessorUpgradePiggyBack 

Replaceable.

ProcessorUpgradeSocketA 

Socket 462.

ProcessorUpgradeSocketLGA1155 

SMBIOS spec 2.8.0 updated the name.

Definition at line 757 of file SmBios.h.

◆ STRING_PROPERTY_ID

String Property IDs (Type 46).

Enumerator
StringPropertyIdBiosVendor 

Reserved 0x0002 - 0x7FFF.

StringPropertyIdOem 

BIOS vendor 0x8000 - 0xBFFF.

Definition at line 2807 of file SmBios.h.