2 Industry Standard Definitions of SMBIOS Table Specification v3.0.0.
4 Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef __SMBIOS_STANDARD_H__
16 #define __SMBIOS_STANDARD_H__
19 /// Reference SMBIOS 2.6, chapter 3.1.2.
20 /// For v2.1 and later, handle values in the range 0FF00h to 0FFFFh are reserved for
21 /// use by this specification.
23 #define SMBIOS_HANDLE_RESERVED_BEGIN 0xFF00
26 /// Reference SMBIOS 2.7, chapter 6.1.2.
27 /// The UEFI Platform Initialization Specification reserves handle number FFFEh for its
28 /// EFI_SMBIOS_PROTOCOL.Add() function to mean "assign an unused handle number automatically."
29 /// This number is not used for any other purpose by the SMBIOS specification.
31 #define SMBIOS_HANDLE_PI_RESERVED 0xFFFE
34 /// Reference SMBIOS 2.6, chapter 3.1.3.
35 /// Each text string is limited to 64 significant characters due to system MIF limitations.
36 /// Reference SMBIOS 2.7, chapter 6.1.3.
37 /// It will have no limit on the length of each individual text string.
39 #define SMBIOS_STRING_MAX_LENGTH 64
42 // The length of the entire structure table (including all strings) must be reported
43 // in the Structure Table Length field of the SMBIOS Structure Table Entry Point,
44 // which is a WORD field limited to 65,535 bytes.
46 #define SMBIOS_TABLE_MAX_LENGTH 0xFFFF
49 // For SMBIOS 3.0, Structure table maximum size in Entry Point structure is DWORD field limited to 0xFFFFFFFF bytes.
51 #define SMBIOS_3_0_TABLE_MAX_LENGTH 0xFFFFFFFF
54 /// Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.43.
55 /// Upper-level software that interprets the SMBIOS structure-table should bypass an
56 /// Inactive structure just like a structure type that the software does not recognize.
58 #define SMBIOS_TYPE_INACTIVE 0x007E
61 /// End-of-table type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.44.
62 /// The end-of-table indicator is used in the last physical structure in a table
64 #define SMBIOS_TYPE_END_OF_TABLE 0x007F
67 /// Smbios Table Entry Point Structure.
71 UINT8 AnchorString
[4];
72 UINT8 EntryPointStructureChecksum
;
73 UINT8 EntryPointLength
;
76 UINT16 MaxStructureSize
;
77 UINT8 EntryPointRevision
;
78 UINT8 FormattedArea
[5];
79 UINT8 IntermediateAnchorString
[5];
80 UINT8 IntermediateChecksum
;
83 UINT16 NumberOfSmbiosStructures
;
84 UINT8 SmbiosBcdRevision
;
85 } SMBIOS_TABLE_ENTRY_POINT
;
88 UINT8 AnchorString
[5];
89 UINT8 EntryPointStructureChecksum
;
90 UINT8 EntryPointLength
;
94 UINT8 EntryPointRevision
;
96 UINT32 TableMaximumSize
;
98 } SMBIOS_TABLE_3_0_ENTRY_POINT
;
101 /// The Smbios structure header.
110 /// String Number for a Null terminated string, 00h stands for no string available.
112 typedef UINT8 SMBIOS_TABLE_STRING
;
115 /// BIOS Characteristics
116 /// Defines which functions the BIOS supports. PCI, PCMCIA, Flash, etc.
119 UINT32 Reserved
:2; ///< Bits 0-1.
121 UINT32 BiosCharacteristicsNotSupported
:1;
122 UINT32 IsaIsSupported
:1;
123 UINT32 McaIsSupported
:1;
124 UINT32 EisaIsSupported
:1;
125 UINT32 PciIsSupported
:1;
126 UINT32 PcmciaIsSupported
:1;
127 UINT32 PlugAndPlayIsSupported
:1;
128 UINT32 ApmIsSupported
:1;
129 UINT32 BiosIsUpgradable
:1;
130 UINT32 BiosShadowingAllowed
:1;
131 UINT32 VlVesaIsSupported
:1;
132 UINT32 EscdSupportIsAvailable
:1;
133 UINT32 BootFromCdIsSupported
:1;
134 UINT32 SelectableBootIsSupported
:1;
135 UINT32 RomBiosIsSocketed
:1;
136 UINT32 BootFromPcmciaIsSupported
:1;
137 UINT32 EDDSpecificationIsSupported
:1;
138 UINT32 JapaneseNecFloppyIsSupported
:1;
139 UINT32 JapaneseToshibaFloppyIsSupported
:1;
140 UINT32 Floppy525_360IsSupported
:1;
141 UINT32 Floppy525_12IsSupported
:1;
142 UINT32 Floppy35_720IsSupported
:1;
143 UINT32 Floppy35_288IsSupported
:1;
144 UINT32 PrintScreenIsSupported
:1;
145 UINT32 Keyboard8042IsSupported
:1;
146 UINT32 SerialIsSupported
:1;
147 UINT32 PrinterIsSupported
:1;
148 UINT32 CgaMonoIsSupported
:1;
150 UINT32 ReservedForVendor
:32; ///< Bits 32-63. Bits 32-47 reserved for BIOS vendor
151 ///< and bits 48-63 reserved for System Vendor.
152 } MISC_BIOS_CHARACTERISTICS
;
155 /// BIOS Characteristics Extension Byte 1.
156 /// This information, available for SMBIOS version 2.1 and later, appears at offset 12h
157 /// within the BIOS Information structure.
160 UINT8 AcpiIsSupported
:1;
161 UINT8 UsbLegacyIsSupported
:1;
162 UINT8 AgpIsSupported
:1;
163 UINT8 I2OBootIsSupported
:1;
164 UINT8 Ls120BootIsSupported
:1;
165 UINT8 AtapiZipDriveBootIsSupported
:1;
166 UINT8 Boot1394IsSupported
:1;
167 UINT8 SmartBatteryIsSupported
:1;
168 } MBCE_BIOS_RESERVED
;
171 /// BIOS Characteristics Extension Byte 2.
172 /// This information, available for SMBIOS version 2.3 and later, appears at offset 13h
173 /// within the BIOS Information structure.
176 UINT8 BiosBootSpecIsSupported
:1;
177 UINT8 FunctionKeyNetworkBootIsSupported
:1;
178 UINT8 TargetContentDistributionEnabled
:1;
179 UINT8 UefiSpecificationSupported
:1;
180 UINT8 VirtualMachineSupported
:1;
181 UINT8 ExtensionByte2Reserved
:3;
182 } MBCE_SYSTEM_RESERVED
;
185 /// BIOS Characteristics Extension Bytes.
188 MBCE_BIOS_RESERVED BiosReserved
;
189 MBCE_SYSTEM_RESERVED SystemReserved
;
190 } MISC_BIOS_CHARACTERISTICS_EXTENSION
;
193 /// BIOS Information (Type 0).
196 SMBIOS_STRUCTURE Hdr
;
197 SMBIOS_TABLE_STRING Vendor
;
198 SMBIOS_TABLE_STRING BiosVersion
;
200 SMBIOS_TABLE_STRING BiosReleaseDate
;
202 MISC_BIOS_CHARACTERISTICS BiosCharacteristics
;
203 UINT8 BIOSCharacteristicsExtensionBytes
[2];
204 UINT8 SystemBiosMajorRelease
;
205 UINT8 SystemBiosMinorRelease
;
206 UINT8 EmbeddedControllerFirmwareMajorRelease
;
207 UINT8 EmbeddedControllerFirmwareMinorRelease
;
208 } SMBIOS_TABLE_TYPE0
;
211 /// System Wake-up Type.
214 SystemWakeupTypeReserved
= 0x00,
215 SystemWakeupTypeOther
= 0x01,
216 SystemWakeupTypeUnknown
= 0x02,
217 SystemWakeupTypeApmTimer
= 0x03,
218 SystemWakeupTypeModemRing
= 0x04,
219 SystemWakeupTypeLanRemote
= 0x05,
220 SystemWakeupTypePowerSwitch
= 0x06,
221 SystemWakeupTypePciPme
= 0x07,
222 SystemWakeupTypeAcPowerRestored
= 0x08
223 } MISC_SYSTEM_WAKEUP_TYPE
;
226 /// System Information (Type 1).
228 /// The information in this structure defines attributes of the overall system and is
229 /// intended to be associated with the Component ID group of the system's MIF.
230 /// An SMBIOS implementation is associated with a single system instance and contains
231 /// one and only one System Information (Type 1) structure.
234 SMBIOS_STRUCTURE Hdr
;
235 SMBIOS_TABLE_STRING Manufacturer
;
236 SMBIOS_TABLE_STRING ProductName
;
237 SMBIOS_TABLE_STRING Version
;
238 SMBIOS_TABLE_STRING SerialNumber
;
240 UINT8 WakeUpType
; ///< The enumeration value from MISC_SYSTEM_WAKEUP_TYPE.
241 SMBIOS_TABLE_STRING SKUNumber
;
242 SMBIOS_TABLE_STRING Family
;
243 } SMBIOS_TABLE_TYPE1
;
246 /// Base Board - Feature Flags.
249 UINT8 Motherboard
:1;
250 UINT8 RequiresDaughterCard
:1;
252 UINT8 Replaceable
:1;
253 UINT8 HotSwappable
:1;
255 } BASE_BOARD_FEATURE_FLAGS
;
258 /// Base Board - Board Type.
261 BaseBoardTypeUnknown
= 0x1,
262 BaseBoardTypeOther
= 0x2,
263 BaseBoardTypeServerBlade
= 0x3,
264 BaseBoardTypeConnectivitySwitch
= 0x4,
265 BaseBoardTypeSystemManagementModule
= 0x5,
266 BaseBoardTypeProcessorModule
= 0x6,
267 BaseBoardTypeIOModule
= 0x7,
268 BaseBoardTypeMemoryModule
= 0x8,
269 BaseBoardTypeDaughterBoard
= 0x9,
270 BaseBoardTypeMotherBoard
= 0xA,
271 BaseBoardTypeProcessorMemoryModule
= 0xB,
272 BaseBoardTypeProcessorIOModule
= 0xC,
273 BaseBoardTypeInterconnectBoard
= 0xD
277 /// Base Board (or Module) Information (Type 2).
279 /// The information in this structure defines attributes of a system baseboard -
280 /// for example a motherboard, planar, or server blade or other standard system module.
283 SMBIOS_STRUCTURE Hdr
;
284 SMBIOS_TABLE_STRING Manufacturer
;
285 SMBIOS_TABLE_STRING ProductName
;
286 SMBIOS_TABLE_STRING Version
;
287 SMBIOS_TABLE_STRING SerialNumber
;
288 SMBIOS_TABLE_STRING AssetTag
;
289 BASE_BOARD_FEATURE_FLAGS FeatureFlag
;
290 SMBIOS_TABLE_STRING LocationInChassis
;
291 UINT16 ChassisHandle
;
292 UINT8 BoardType
; ///< The enumeration value from BASE_BOARD_TYPE.
293 UINT8 NumberOfContainedObjectHandles
;
294 UINT16 ContainedObjectHandles
[1];
295 } SMBIOS_TABLE_TYPE2
;
298 /// System Enclosure or Chassis Types
301 MiscChassisTypeOther
= 0x01,
302 MiscChassisTypeUnknown
= 0x02,
303 MiscChassisTypeDeskTop
= 0x03,
304 MiscChassisTypeLowProfileDesktop
= 0x04,
305 MiscChassisTypePizzaBox
= 0x05,
306 MiscChassisTypeMiniTower
= 0x06,
307 MiscChassisTypeTower
= 0x07,
308 MiscChassisTypePortable
= 0x08,
309 MiscChassisTypeLapTop
= 0x09,
310 MiscChassisTypeNotebook
= 0x0A,
311 MiscChassisTypeHandHeld
= 0x0B,
312 MiscChassisTypeDockingStation
= 0x0C,
313 MiscChassisTypeAllInOne
= 0x0D,
314 MiscChassisTypeSubNotebook
= 0x0E,
315 MiscChassisTypeSpaceSaving
= 0x0F,
316 MiscChassisTypeLunchBox
= 0x10,
317 MiscChassisTypeMainServerChassis
= 0x11,
318 MiscChassisTypeExpansionChassis
= 0x12,
319 MiscChassisTypeSubChassis
= 0x13,
320 MiscChassisTypeBusExpansionChassis
= 0x14,
321 MiscChassisTypePeripheralChassis
= 0x15,
322 MiscChassisTypeRaidChassis
= 0x16,
323 MiscChassisTypeRackMountChassis
= 0x17,
324 MiscChassisTypeSealedCasePc
= 0x18,
325 MiscChassisMultiSystemChassis
= 0x19,
326 MiscChassisCompactPCI
= 0x1A,
327 MiscChassisAdvancedTCA
= 0x1B,
328 MiscChassisBlade
= 0x1C,
329 MiscChassisBladeEnclosure
= 0x1D,
330 MiscChassisTablet
= 0x1E,
331 MiscChassisConvertible
= 0x1F,
332 MiscChassisDetachable
= 0x20
336 /// System Enclosure or Chassis States .
339 ChassisStateOther
= 0x01,
340 ChassisStateUnknown
= 0x02,
341 ChassisStateSafe
= 0x03,
342 ChassisStateWarning
= 0x04,
343 ChassisStateCritical
= 0x05,
344 ChassisStateNonRecoverable
= 0x06
345 } MISC_CHASSIS_STATE
;
348 /// System Enclosure or Chassis Security Status.
351 ChassisSecurityStatusOther
= 0x01,
352 ChassisSecurityStatusUnknown
= 0x02,
353 ChassisSecurityStatusNone
= 0x03,
354 ChassisSecurityStatusExternalInterfaceLockedOut
= 0x04,
355 ChassisSecurityStatusExternalInterfaceLockedEnabled
= 0x05
356 } MISC_CHASSIS_SECURITY_STATE
;
359 /// Contained Element record
362 UINT8 ContainedElementType
;
363 UINT8 ContainedElementMinimum
;
364 UINT8 ContainedElementMaximum
;
369 /// System Enclosure or Chassis (Type 3).
371 /// The information in this structure defines attributes of the system's mechanical enclosure(s).
372 /// For example, if a system included a separate enclosure for its peripheral devices,
373 /// two structures would be returned: one for the main, system enclosure and the second for
374 /// the peripheral device enclosure. The additions to this structure in v2.1 of this specification
375 /// support the population of the CIM_Chassis class.
378 SMBIOS_STRUCTURE Hdr
;
379 SMBIOS_TABLE_STRING Manufacturer
;
381 SMBIOS_TABLE_STRING Version
;
382 SMBIOS_TABLE_STRING SerialNumber
;
383 SMBIOS_TABLE_STRING AssetTag
;
384 UINT8 BootupState
; ///< The enumeration value from MISC_CHASSIS_STATE.
385 UINT8 PowerSupplyState
; ///< The enumeration value from MISC_CHASSIS_STATE.
386 UINT8 ThermalState
; ///< The enumeration value from MISC_CHASSIS_STATE.
387 UINT8 SecurityStatus
; ///< The enumeration value from MISC_CHASSIS_SECURITY_STATE.
390 UINT8 NumberofPowerCords
;
391 UINT8 ContainedElementCount
;
392 UINT8 ContainedElementRecordLength
;
393 CONTAINED_ELEMENT ContainedElements
[1];
394 } SMBIOS_TABLE_TYPE3
;
397 /// Processor Information - Processor Type.
400 ProcessorOther
= 0x01,
401 ProcessorUnknown
= 0x02,
402 CentralProcessor
= 0x03,
403 MathProcessor
= 0x04,
405 VideoProcessor
= 0x06
406 } PROCESSOR_TYPE_DATA
;
409 /// Processor Information - Processor Family.
412 ProcessorFamilyOther
= 0x01,
413 ProcessorFamilyUnknown
= 0x02,
414 ProcessorFamily8086
= 0x03,
415 ProcessorFamily80286
= 0x04,
416 ProcessorFamilyIntel386
= 0x05,
417 ProcessorFamilyIntel486
= 0x06,
418 ProcessorFamily8087
= 0x07,
419 ProcessorFamily80287
= 0x08,
420 ProcessorFamily80387
= 0x09,
421 ProcessorFamily80487
= 0x0A,
422 ProcessorFamilyPentium
= 0x0B,
423 ProcessorFamilyPentiumPro
= 0x0C,
424 ProcessorFamilyPentiumII
= 0x0D,
425 ProcessorFamilyPentiumMMX
= 0x0E,
426 ProcessorFamilyCeleron
= 0x0F,
427 ProcessorFamilyPentiumIIXeon
= 0x10,
428 ProcessorFamilyPentiumIII
= 0x11,
429 ProcessorFamilyM1
= 0x12,
430 ProcessorFamilyM2
= 0x13,
431 ProcessorFamilyIntelCeleronM
= 0x14,
432 ProcessorFamilyIntelPentium4Ht
= 0x15,
433 ProcessorFamilyAmdDuron
= 0x18,
434 ProcessorFamilyK5
= 0x19,
435 ProcessorFamilyK6
= 0x1A,
436 ProcessorFamilyK6_2
= 0x1B,
437 ProcessorFamilyK6_3
= 0x1C,
438 ProcessorFamilyAmdAthlon
= 0x1D,
439 ProcessorFamilyAmd29000
= 0x1E,
440 ProcessorFamilyK6_2Plus
= 0x1F,
441 ProcessorFamilyPowerPC
= 0x20,
442 ProcessorFamilyPowerPC601
= 0x21,
443 ProcessorFamilyPowerPC603
= 0x22,
444 ProcessorFamilyPowerPC603Plus
= 0x23,
445 ProcessorFamilyPowerPC604
= 0x24,
446 ProcessorFamilyPowerPC620
= 0x25,
447 ProcessorFamilyPowerPCx704
= 0x26,
448 ProcessorFamilyPowerPC750
= 0x27,
449 ProcessorFamilyIntelCoreDuo
= 0x28,
450 ProcessorFamilyIntelCoreDuoMobile
= 0x29,
451 ProcessorFamilyIntelCoreSoloMobile
= 0x2A,
452 ProcessorFamilyIntelAtom
= 0x2B,
453 ProcessorFamilyIntelCoreM
= 0x2C,
454 ProcessorFamilyAlpha
= 0x30,
455 ProcessorFamilyAlpha21064
= 0x31,
456 ProcessorFamilyAlpha21066
= 0x32,
457 ProcessorFamilyAlpha21164
= 0x33,
458 ProcessorFamilyAlpha21164PC
= 0x34,
459 ProcessorFamilyAlpha21164a
= 0x35,
460 ProcessorFamilyAlpha21264
= 0x36,
461 ProcessorFamilyAlpha21364
= 0x37,
462 ProcessorFamilyAmdTurionIIUltraDualCoreMobileM
= 0x38,
463 ProcessorFamilyAmdTurionIIDualCoreMobileM
= 0x39,
464 ProcessorFamilyAmdAthlonIIDualCoreM
= 0x3A,
465 ProcessorFamilyAmdOpteron6100Series
= 0x3B,
466 ProcessorFamilyAmdOpteron4100Series
= 0x3C,
467 ProcessorFamilyAmdOpteron6200Series
= 0x3D,
468 ProcessorFamilyAmdOpteron4200Series
= 0x3E,
469 ProcessorFamilyAmdFxSeries
= 0x3F,
470 ProcessorFamilyMips
= 0x40,
471 ProcessorFamilyMIPSR4000
= 0x41,
472 ProcessorFamilyMIPSR4200
= 0x42,
473 ProcessorFamilyMIPSR4400
= 0x43,
474 ProcessorFamilyMIPSR4600
= 0x44,
475 ProcessorFamilyMIPSR10000
= 0x45,
476 ProcessorFamilyAmdCSeries
= 0x46,
477 ProcessorFamilyAmdESeries
= 0x47,
478 ProcessorFamilyAmdASeries
= 0x48, ///< SMBIOS spec 2.8.0 updated the name
479 ProcessorFamilyAmdGSeries
= 0x49,
480 ProcessorFamilyAmdZSeries
= 0x4A,
481 ProcessorFamilyAmdRSeries
= 0x4B,
482 ProcessorFamilyAmdOpteron4300
= 0x4C,
483 ProcessorFamilyAmdOpteron6300
= 0x4D,
484 ProcessorFamilyAmdOpteron3300
= 0x4E,
485 ProcessorFamilyAmdFireProSeries
= 0x4F,
486 ProcessorFamilySparc
= 0x50,
487 ProcessorFamilySuperSparc
= 0x51,
488 ProcessorFamilymicroSparcII
= 0x52,
489 ProcessorFamilymicroSparcIIep
= 0x53,
490 ProcessorFamilyUltraSparc
= 0x54,
491 ProcessorFamilyUltraSparcII
= 0x55,
492 ProcessorFamilyUltraSparcIii
= 0x56,
493 ProcessorFamilyUltraSparcIII
= 0x57,
494 ProcessorFamilyUltraSparcIIIi
= 0x58,
495 ProcessorFamily68040
= 0x60,
496 ProcessorFamily68xxx
= 0x61,
497 ProcessorFamily68000
= 0x62,
498 ProcessorFamily68010
= 0x63,
499 ProcessorFamily68020
= 0x64,
500 ProcessorFamily68030
= 0x65,
501 ProcessorFamilyAmdAthlonX4QuadCore
= 0x66,
502 ProcessorFamilyAmdOpteronX1000Series
= 0x67,
503 ProcessorFamilyAmdOpteronX2000Series
= 0x68,
504 ProcessorFamilyHobbit
= 0x70,
505 ProcessorFamilyCrusoeTM5000
= 0x78,
506 ProcessorFamilyCrusoeTM3000
= 0x79,
507 ProcessorFamilyEfficeonTM8000
= 0x7A,
508 ProcessorFamilyWeitek
= 0x80,
509 ProcessorFamilyItanium
= 0x82,
510 ProcessorFamilyAmdAthlon64
= 0x83,
511 ProcessorFamilyAmdOpteron
= 0x84,
512 ProcessorFamilyAmdSempron
= 0x85,
513 ProcessorFamilyAmdTurion64Mobile
= 0x86,
514 ProcessorFamilyDualCoreAmdOpteron
= 0x87,
515 ProcessorFamilyAmdAthlon64X2DualCore
= 0x88,
516 ProcessorFamilyAmdTurion64X2Mobile
= 0x89,
517 ProcessorFamilyQuadCoreAmdOpteron
= 0x8A,
518 ProcessorFamilyThirdGenerationAmdOpteron
= 0x8B,
519 ProcessorFamilyAmdPhenomFxQuadCore
= 0x8C,
520 ProcessorFamilyAmdPhenomX4QuadCore
= 0x8D,
521 ProcessorFamilyAmdPhenomX2DualCore
= 0x8E,
522 ProcessorFamilyAmdAthlonX2DualCore
= 0x8F,
523 ProcessorFamilyPARISC
= 0x90,
524 ProcessorFamilyPaRisc8500
= 0x91,
525 ProcessorFamilyPaRisc8000
= 0x92,
526 ProcessorFamilyPaRisc7300LC
= 0x93,
527 ProcessorFamilyPaRisc7200
= 0x94,
528 ProcessorFamilyPaRisc7100LC
= 0x95,
529 ProcessorFamilyPaRisc7100
= 0x96,
530 ProcessorFamilyV30
= 0xA0,
531 ProcessorFamilyQuadCoreIntelXeon3200Series
= 0xA1,
532 ProcessorFamilyDualCoreIntelXeon3000Series
= 0xA2,
533 ProcessorFamilyQuadCoreIntelXeon5300Series
= 0xA3,
534 ProcessorFamilyDualCoreIntelXeon5100Series
= 0xA4,
535 ProcessorFamilyDualCoreIntelXeon5000Series
= 0xA5,
536 ProcessorFamilyDualCoreIntelXeonLV
= 0xA6,
537 ProcessorFamilyDualCoreIntelXeonULV
= 0xA7,
538 ProcessorFamilyDualCoreIntelXeon7100Series
= 0xA8,
539 ProcessorFamilyQuadCoreIntelXeon5400Series
= 0xA9,
540 ProcessorFamilyQuadCoreIntelXeon
= 0xAA,
541 ProcessorFamilyDualCoreIntelXeon5200Series
= 0xAB,
542 ProcessorFamilyDualCoreIntelXeon7200Series
= 0xAC,
543 ProcessorFamilyQuadCoreIntelXeon7300Series
= 0xAD,
544 ProcessorFamilyQuadCoreIntelXeon7400Series
= 0xAE,
545 ProcessorFamilyMultiCoreIntelXeon7400Series
= 0xAF,
546 ProcessorFamilyPentiumIIIXeon
= 0xB0,
547 ProcessorFamilyPentiumIIISpeedStep
= 0xB1,
548 ProcessorFamilyPentium4
= 0xB2,
549 ProcessorFamilyIntelXeon
= 0xB3,
550 ProcessorFamilyAS400
= 0xB4,
551 ProcessorFamilyIntelXeonMP
= 0xB5,
552 ProcessorFamilyAMDAthlonXP
= 0xB6,
553 ProcessorFamilyAMDAthlonMP
= 0xB7,
554 ProcessorFamilyIntelItanium2
= 0xB8,
555 ProcessorFamilyIntelPentiumM
= 0xB9,
556 ProcessorFamilyIntelCeleronD
= 0xBA,
557 ProcessorFamilyIntelPentiumD
= 0xBB,
558 ProcessorFamilyIntelPentiumEx
= 0xBC,
559 ProcessorFamilyIntelCoreSolo
= 0xBD, ///< SMBIOS spec 2.6 updated this value
560 ProcessorFamilyReserved
= 0xBE,
561 ProcessorFamilyIntelCore2
= 0xBF,
562 ProcessorFamilyIntelCore2Solo
= 0xC0,
563 ProcessorFamilyIntelCore2Extreme
= 0xC1,
564 ProcessorFamilyIntelCore2Quad
= 0xC2,
565 ProcessorFamilyIntelCore2ExtremeMobile
= 0xC3,
566 ProcessorFamilyIntelCore2DuoMobile
= 0xC4,
567 ProcessorFamilyIntelCore2SoloMobile
= 0xC5,
568 ProcessorFamilyIntelCoreI7
= 0xC6,
569 ProcessorFamilyDualCoreIntelCeleron
= 0xC7,
570 ProcessorFamilyIBM390
= 0xC8,
571 ProcessorFamilyG4
= 0xC9,
572 ProcessorFamilyG5
= 0xCA,
573 ProcessorFamilyG6
= 0xCB,
574 ProcessorFamilyzArchitecture
= 0xCC,
575 ProcessorFamilyIntelCoreI5
= 0xCD,
576 ProcessorFamilyIntelCoreI3
= 0xCE,
577 ProcessorFamilyViaC7M
= 0xD2,
578 ProcessorFamilyViaC7D
= 0xD3,
579 ProcessorFamilyViaC7
= 0xD4,
580 ProcessorFamilyViaEden
= 0xD5,
581 ProcessorFamilyMultiCoreIntelXeon
= 0xD6,
582 ProcessorFamilyDualCoreIntelXeon3Series
= 0xD7,
583 ProcessorFamilyQuadCoreIntelXeon3Series
= 0xD8,
584 ProcessorFamilyViaNano
= 0xD9,
585 ProcessorFamilyDualCoreIntelXeon5Series
= 0xDA,
586 ProcessorFamilyQuadCoreIntelXeon5Series
= 0xDB,
587 ProcessorFamilyDualCoreIntelXeon7Series
= 0xDD,
588 ProcessorFamilyQuadCoreIntelXeon7Series
= 0xDE,
589 ProcessorFamilyMultiCoreIntelXeon7Series
= 0xDF,
590 ProcessorFamilyMultiCoreIntelXeon3400Series
= 0xE0,
591 ProcessorFamilyAmdOpteron3000Series
= 0xE4,
592 ProcessorFamilyAmdSempronII
= 0xE5,
593 ProcessorFamilyEmbeddedAmdOpteronQuadCore
= 0xE6,
594 ProcessorFamilyAmdPhenomTripleCore
= 0xE7,
595 ProcessorFamilyAmdTurionUltraDualCoreMobile
= 0xE8,
596 ProcessorFamilyAmdTurionDualCoreMobile
= 0xE9,
597 ProcessorFamilyAmdAthlonDualCore
= 0xEA,
598 ProcessorFamilyAmdSempronSI
= 0xEB,
599 ProcessorFamilyAmdPhenomII
= 0xEC,
600 ProcessorFamilyAmdAthlonII
= 0xED,
601 ProcessorFamilySixCoreAmdOpteron
= 0xEE,
602 ProcessorFamilyAmdSempronM
= 0xEF,
603 ProcessorFamilyi860
= 0xFA,
604 ProcessorFamilyi960
= 0xFB,
605 ProcessorFamilyIndicatorFamily2
= 0xFE,
606 ProcessorFamilyReserved1
= 0xFF
607 } PROCESSOR_FAMILY_DATA
;
610 /// Processor Information2 - Processor Family2.
613 ProcessorFamilySH3
= 0x0104,
614 ProcessorFamilySH4
= 0x0105,
615 ProcessorFamilyARM
= 0x0118,
616 ProcessorFamilyStrongARM
= 0x0119,
617 ProcessorFamily6x86
= 0x012C,
618 ProcessorFamilyMediaGX
= 0x012D,
619 ProcessorFamilyMII
= 0x012E,
620 ProcessorFamilyWinChip
= 0x0140,
621 ProcessorFamilyDSP
= 0x015E,
622 ProcessorFamilyVideoProcessor
= 0x01F4
623 } PROCESSOR_FAMILY2_DATA
;
626 /// Processor Information - Voltage.
629 UINT8 ProcessorVoltageCapability5V
:1;
630 UINT8 ProcessorVoltageCapability3_3V
:1;
631 UINT8 ProcessorVoltageCapability2_9V
:1;
632 UINT8 ProcessorVoltageCapabilityReserved
:1; ///< Bit 3, must be zero.
633 UINT8 ProcessorVoltageReserved
:3; ///< Bits 4-6, must be zero.
634 UINT8 ProcessorVoltageIndicateLegacy
:1;
638 /// Processor Information - Processor Upgrade.
641 ProcessorUpgradeOther
= 0x01,
642 ProcessorUpgradeUnknown
= 0x02,
643 ProcessorUpgradeDaughterBoard
= 0x03,
644 ProcessorUpgradeZIFSocket
= 0x04,
645 ProcessorUpgradePiggyBack
= 0x05, ///< Replaceable.
646 ProcessorUpgradeNone
= 0x06,
647 ProcessorUpgradeLIFSocket
= 0x07,
648 ProcessorUpgradeSlot1
= 0x08,
649 ProcessorUpgradeSlot2
= 0x09,
650 ProcessorUpgrade370PinSocket
= 0x0A,
651 ProcessorUpgradeSlotA
= 0x0B,
652 ProcessorUpgradeSlotM
= 0x0C,
653 ProcessorUpgradeSocket423
= 0x0D,
654 ProcessorUpgradeSocketA
= 0x0E, ///< Socket 462.
655 ProcessorUpgradeSocket478
= 0x0F,
656 ProcessorUpgradeSocket754
= 0x10,
657 ProcessorUpgradeSocket940
= 0x11,
658 ProcessorUpgradeSocket939
= 0x12,
659 ProcessorUpgradeSocketmPGA604
= 0x13,
660 ProcessorUpgradeSocketLGA771
= 0x14,
661 ProcessorUpgradeSocketLGA775
= 0x15,
662 ProcessorUpgradeSocketS1
= 0x16,
663 ProcessorUpgradeAM2
= 0x17,
664 ProcessorUpgradeF1207
= 0x18,
665 ProcessorSocketLGA1366
= 0x19,
666 ProcessorUpgradeSocketG34
= 0x1A,
667 ProcessorUpgradeSocketAM3
= 0x1B,
668 ProcessorUpgradeSocketC32
= 0x1C,
669 ProcessorUpgradeSocketLGA1156
= 0x1D,
670 ProcessorUpgradeSocketLGA1567
= 0x1E,
671 ProcessorUpgradeSocketPGA988A
= 0x1F,
672 ProcessorUpgradeSocketBGA1288
= 0x20,
673 ProcessorUpgradeSocketrPGA988B
= 0x21,
674 ProcessorUpgradeSocketBGA1023
= 0x22,
675 ProcessorUpgradeSocketBGA1224
= 0x23,
676 ProcessorUpgradeSocketLGA1155
= 0x24, ///< SMBIOS spec 2.8.0 updated the name
677 ProcessorUpgradeSocketLGA1356
= 0x25,
678 ProcessorUpgradeSocketLGA2011
= 0x26,
679 ProcessorUpgradeSocketFS1
= 0x27,
680 ProcessorUpgradeSocketFS2
= 0x28,
681 ProcessorUpgradeSocketFM1
= 0x29,
682 ProcessorUpgradeSocketFM2
= 0x2A,
683 ProcessorUpgradeSocketLGA2011_3
= 0x2B,
684 ProcessorUpgradeSocketLGA1356_3
= 0x2C,
685 ProcessorUpgradeSocketLGA1150
= 0x2D,
686 ProcessorUpgradeSocketBGA1168
= 0x2E,
687 ProcessorUpgradeSocketBGA1234
= 0x2F,
688 ProcessorUpgradeSocketBGA1364
= 0x30
692 /// Processor ID Field Description
695 UINT32 ProcessorSteppingId
:4;
696 UINT32 ProcessorModel
: 4;
697 UINT32 ProcessorFamily
: 4;
698 UINT32 ProcessorType
: 2;
699 UINT32 ProcessorReserved1
: 2;
700 UINT32 ProcessorXModel
: 4;
701 UINT32 ProcessorXFamily
: 8;
702 UINT32 ProcessorReserved2
: 4;
703 } PROCESSOR_SIGNATURE
;
706 UINT32 ProcessorFpu
:1;
707 UINT32 ProcessorVme
:1;
708 UINT32 ProcessorDe
:1;
709 UINT32 ProcessorPse
:1;
710 UINT32 ProcessorTsc
:1;
711 UINT32 ProcessorMsr
:1;
712 UINT32 ProcessorPae
:1;
713 UINT32 ProcessorMce
:1;
714 UINT32 ProcessorCx8
:1;
715 UINT32 ProcessorApic
:1;
716 UINT32 ProcessorReserved1
:1;
717 UINT32 ProcessorSep
:1;
718 UINT32 ProcessorMtrr
:1;
719 UINT32 ProcessorPge
:1;
720 UINT32 ProcessorMca
:1;
721 UINT32 ProcessorCmov
:1;
722 UINT32 ProcessorPat
:1;
723 UINT32 ProcessorPse36
:1;
724 UINT32 ProcessorPsn
:1;
725 UINT32 ProcessorClfsh
:1;
726 UINT32 ProcessorReserved2
:1;
727 UINT32 ProcessorDs
:1;
728 UINT32 ProcessorAcpi
:1;
729 UINT32 ProcessorMmx
:1;
730 UINT32 ProcessorFxsr
:1;
731 UINT32 ProcessorSse
:1;
732 UINT32 ProcessorSse2
:1;
733 UINT32 ProcessorSs
:1;
734 UINT32 ProcessorReserved3
:1;
735 UINT32 ProcessorTm
:1;
736 UINT32 ProcessorReserved4
:2;
737 } PROCESSOR_FEATURE_FLAGS
;
740 PROCESSOR_SIGNATURE Signature
;
741 PROCESSOR_FEATURE_FLAGS FeatureFlags
;
745 /// Processor Information (Type 4).
747 /// The information in this structure defines the attributes of a single processor;
748 /// a separate structure instance is provided for each system processor socket/slot.
749 /// For example, a system with an IntelDX2 processor would have a single
750 /// structure instance, while a system with an IntelSX2 processor would have a structure
751 /// to describe the main CPU, and a second structure to describe the 80487 co-processor.
754 SMBIOS_STRUCTURE Hdr
;
755 SMBIOS_TABLE_STRING Socket
;
756 UINT8 ProcessorType
; ///< The enumeration value from PROCESSOR_TYPE_DATA.
757 UINT8 ProcessorFamily
; ///< The enumeration value from PROCESSOR_FAMILY_DATA.
758 SMBIOS_TABLE_STRING ProcessorManufacture
;
759 PROCESSOR_ID_DATA ProcessorId
;
760 SMBIOS_TABLE_STRING ProcessorVersion
;
761 PROCESSOR_VOLTAGE Voltage
;
762 UINT16 ExternalClock
;
766 UINT8 ProcessorUpgrade
; ///< The enumeration value from PROCESSOR_UPGRADE.
767 UINT16 L1CacheHandle
;
768 UINT16 L2CacheHandle
;
769 UINT16 L3CacheHandle
;
770 SMBIOS_TABLE_STRING SerialNumber
;
771 SMBIOS_TABLE_STRING AssetTag
;
772 SMBIOS_TABLE_STRING PartNumber
;
774 // Add for smbios 2.5
777 UINT8 EnabledCoreCount
;
779 UINT16 ProcessorCharacteristics
;
781 // Add for smbios 2.6
783 UINT16 ProcessorFamily2
;
785 // Add for smbios 3.0
788 UINT16 EnabledCoreCount2
;
790 } SMBIOS_TABLE_TYPE4
;
793 /// Memory Controller Error Detecting Method.
796 ErrorDetectingMethodOther
= 0x01,
797 ErrorDetectingMethodUnknown
= 0x02,
798 ErrorDetectingMethodNone
= 0x03,
799 ErrorDetectingMethodParity
= 0x04,
800 ErrorDetectingMethod32Ecc
= 0x05,
801 ErrorDetectingMethod64Ecc
= 0x06,
802 ErrorDetectingMethod128Ecc
= 0x07,
803 ErrorDetectingMethodCrc
= 0x08
804 } MEMORY_ERROR_DETECT_METHOD
;
807 /// Memory Controller Error Correcting Capability.
813 UINT8 SingleBitErrorCorrect
:1;
814 UINT8 DoubleBitErrorCorrect
:1;
815 UINT8 ErrorScrubbing
:1;
817 } MEMORY_ERROR_CORRECT_CAPABILITY
;
820 /// Memory Controller Information - Interleave Support.
823 MemoryInterleaveOther
= 0x01,
824 MemoryInterleaveUnknown
= 0x02,
825 MemoryInterleaveOneWay
= 0x03,
826 MemoryInterleaveTwoWay
= 0x04,
827 MemoryInterleaveFourWay
= 0x05,
828 MemoryInterleaveEightWay
= 0x06,
829 MemoryInterleaveSixteenWay
= 0x07
830 } MEMORY_SUPPORT_INTERLEAVE_TYPE
;
833 /// Memory Controller Information - Memory Speeds.
845 /// Memory Controller Information (Type 5, Obsolete).
847 /// The information in this structure defines the attributes of the system's memory controller(s)
848 /// and the supported attributes of any memory-modules present in the sockets controlled by
850 /// Note: This structure, and its companion Memory Module Information (Type 6, Obsolete),
851 /// are obsolete starting with version 2.1 of this specification. The Physical Memory Array (Type 16)
852 /// and Memory Device (Type 17) structures should be used instead. BIOS providers might
853 /// choose to implement both memory description types to allow existing DMI browsers
854 /// to properly display the system's memory attributes.
857 SMBIOS_STRUCTURE Hdr
;
858 UINT8 ErrDetectMethod
; ///< The enumeration value from MEMORY_ERROR_DETECT_METHOD.
859 MEMORY_ERROR_CORRECT_CAPABILITY ErrCorrectCapability
;
860 UINT8 SupportInterleave
; ///< The enumeration value from MEMORY_SUPPORT_INTERLEAVE_TYPE.
861 UINT8 CurrentInterleave
; ///< The enumeration value from MEMORY_SUPPORT_INTERLEAVE_TYPE .
862 UINT8 MaxMemoryModuleSize
;
863 MEMORY_SPEED_TYPE SupportSpeed
;
864 UINT16 SupportMemoryType
;
865 UINT8 MemoryModuleVoltage
;
866 UINT8 AssociatedMemorySlotNum
;
867 UINT16 MemoryModuleConfigHandles
[1];
868 } SMBIOS_TABLE_TYPE5
;
871 /// Memory Module Information - Memory Types
877 UINT16 FastPageMode
:1;
886 } MEMORY_CURRENT_TYPE
;
889 /// Memory Module Information - Memory Size.
892 UINT8 InstalledOrEnabledSize
:7; ///< Size (n), where 2**n is the size in MB.
893 UINT8 SingleOrDoubleBank
:1;
894 } MEMORY_INSTALLED_ENABLED_SIZE
;
897 /// Memory Module Information (Type 6, Obsolete)
899 /// One Memory Module Information structure is included for each memory-module socket
900 /// in the system. The structure describes the speed, type, size, and error status
901 /// of each system memory module. The supported attributes of each module are described
902 /// by the "owning" Memory Controller Information structure.
903 /// Note: This structure, and its companion Memory Controller Information (Type 5, Obsolete),
904 /// are obsolete starting with version 2.1 of this specification. The Physical Memory Array (Type 16)
905 /// and Memory Device (Type 17) structures should be used instead.
908 SMBIOS_STRUCTURE Hdr
;
909 SMBIOS_TABLE_STRING SocketDesignation
;
910 UINT8 BankConnections
;
912 MEMORY_CURRENT_TYPE CurrentMemoryType
;
913 MEMORY_INSTALLED_ENABLED_SIZE InstalledSize
;
914 MEMORY_INSTALLED_ENABLED_SIZE EnabledSize
;
916 } SMBIOS_TABLE_TYPE6
;
919 /// Cache Information - SRAM Type.
926 UINT16 PipelineBurst
:1;
927 UINT16 Synchronous
:1;
928 UINT16 Asynchronous
:1;
930 } CACHE_SRAM_TYPE_DATA
;
933 /// Cache Information - Error Correction Type.
936 CacheErrorOther
= 0x01,
937 CacheErrorUnknown
= 0x02,
938 CacheErrorNone
= 0x03,
939 CacheErrorParity
= 0x04,
940 CacheErrorSingleBit
= 0x05, ///< ECC
941 CacheErrorMultiBit
= 0x06 ///< ECC
942 } CACHE_ERROR_TYPE_DATA
;
945 /// Cache Information - System Cache Type.
948 CacheTypeOther
= 0x01,
949 CacheTypeUnknown
= 0x02,
950 CacheTypeInstruction
= 0x03,
951 CacheTypeData
= 0x04,
952 CacheTypeUnified
= 0x05
956 /// Cache Information - Associativity.
959 CacheAssociativityOther
= 0x01,
960 CacheAssociativityUnknown
= 0x02,
961 CacheAssociativityDirectMapped
= 0x03,
962 CacheAssociativity2Way
= 0x04,
963 CacheAssociativity4Way
= 0x05,
964 CacheAssociativityFully
= 0x06,
965 CacheAssociativity8Way
= 0x07,
966 CacheAssociativity16Way
= 0x08,
967 CacheAssociativity12Way
= 0x09,
968 CacheAssociativity24Way
= 0x0A,
969 CacheAssociativity32Way
= 0x0B,
970 CacheAssociativity48Way
= 0x0C,
971 CacheAssociativity64Way
= 0x0D,
972 CacheAssociativity20Way
= 0x0E
973 } CACHE_ASSOCIATIVITY_DATA
;
976 /// Cache Information (Type 7).
978 /// The information in this structure defines the attributes of CPU cache device in the system.
979 /// One structure is specified for each such device, whether the device is internal to
980 /// or external to the CPU module. Cache modules can be associated with a processor structure
981 /// in one or two ways, depending on the SMBIOS version.
984 SMBIOS_STRUCTURE Hdr
;
985 SMBIOS_TABLE_STRING SocketDesignation
;
986 UINT16 CacheConfiguration
;
987 UINT16 MaximumCacheSize
;
988 UINT16 InstalledSize
;
989 CACHE_SRAM_TYPE_DATA SupportedSRAMType
;
990 CACHE_SRAM_TYPE_DATA CurrentSRAMType
;
992 UINT8 ErrorCorrectionType
; ///< The enumeration value from CACHE_ERROR_TYPE_DATA.
993 UINT8 SystemCacheType
; ///< The enumeration value from CACHE_TYPE_DATA.
994 UINT8 Associativity
; ///< The enumeration value from CACHE_ASSOCIATIVITY_DATA.
995 } SMBIOS_TABLE_TYPE7
;
998 /// Port Connector Information - Connector Types.
1001 PortConnectorTypeNone
= 0x00,
1002 PortConnectorTypeCentronics
= 0x01,
1003 PortConnectorTypeMiniCentronics
= 0x02,
1004 PortConnectorTypeProprietary
= 0x03,
1005 PortConnectorTypeDB25Male
= 0x04,
1006 PortConnectorTypeDB25Female
= 0x05,
1007 PortConnectorTypeDB15Male
= 0x06,
1008 PortConnectorTypeDB15Female
= 0x07,
1009 PortConnectorTypeDB9Male
= 0x08,
1010 PortConnectorTypeDB9Female
= 0x09,
1011 PortConnectorTypeRJ11
= 0x0A,
1012 PortConnectorTypeRJ45
= 0x0B,
1013 PortConnectorType50PinMiniScsi
= 0x0C,
1014 PortConnectorTypeMiniDin
= 0x0D,
1015 PortConnectorTypeMicroDin
= 0x0E,
1016 PortConnectorTypePS2
= 0x0F,
1017 PortConnectorTypeInfrared
= 0x10,
1018 PortConnectorTypeHpHil
= 0x11,
1019 PortConnectorTypeUsb
= 0x12,
1020 PortConnectorTypeSsaScsi
= 0x13,
1021 PortConnectorTypeCircularDin8Male
= 0x14,
1022 PortConnectorTypeCircularDin8Female
= 0x15,
1023 PortConnectorTypeOnboardIde
= 0x16,
1024 PortConnectorTypeOnboardFloppy
= 0x17,
1025 PortConnectorType9PinDualInline
= 0x18,
1026 PortConnectorType25PinDualInline
= 0x19,
1027 PortConnectorType50PinDualInline
= 0x1A,
1028 PortConnectorType68PinDualInline
= 0x1B,
1029 PortConnectorTypeOnboardSoundInput
= 0x1C,
1030 PortConnectorTypeMiniCentronicsType14
= 0x1D,
1031 PortConnectorTypeMiniCentronicsType26
= 0x1E,
1032 PortConnectorTypeHeadPhoneMiniJack
= 0x1F,
1033 PortConnectorTypeBNC
= 0x20,
1034 PortConnectorType1394
= 0x21,
1035 PortConnectorTypeSasSata
= 0x22,
1036 PortConnectorTypePC98
= 0xA0,
1037 PortConnectorTypePC98Hireso
= 0xA1,
1038 PortConnectorTypePCH98
= 0xA2,
1039 PortConnectorTypePC98Note
= 0xA3,
1040 PortConnectorTypePC98Full
= 0xA4,
1041 PortConnectorTypeOther
= 0xFF
1042 } MISC_PORT_CONNECTOR_TYPE
;
1045 /// Port Connector Information - Port Types
1048 PortTypeNone
= 0x00,
1049 PortTypeParallelXtAtCompatible
= 0x01,
1050 PortTypeParallelPortPs2
= 0x02,
1051 PortTypeParallelPortEcp
= 0x03,
1052 PortTypeParallelPortEpp
= 0x04,
1053 PortTypeParallelPortEcpEpp
= 0x05,
1054 PortTypeSerialXtAtCompatible
= 0x06,
1055 PortTypeSerial16450Compatible
= 0x07,
1056 PortTypeSerial16550Compatible
= 0x08,
1057 PortTypeSerial16550ACompatible
= 0x09,
1058 PortTypeScsi
= 0x0A,
1059 PortTypeMidi
= 0x0B,
1060 PortTypeJoyStick
= 0x0C,
1061 PortTypeKeyboard
= 0x0D,
1062 PortTypeMouse
= 0x0E,
1063 PortTypeSsaScsi
= 0x0F,
1065 PortTypeFireWire
= 0x11,
1066 PortTypePcmciaTypeI
= 0x12,
1067 PortTypePcmciaTypeII
= 0x13,
1068 PortTypePcmciaTypeIII
= 0x14,
1069 PortTypeCardBus
= 0x15,
1070 PortTypeAccessBusPort
= 0x16,
1071 PortTypeScsiII
= 0x17,
1072 PortTypeScsiWide
= 0x18,
1073 PortTypePC98
= 0x19,
1074 PortTypePC98Hireso
= 0x1A,
1075 PortTypePCH98
= 0x1B,
1076 PortTypeVideoPort
= 0x1C,
1077 PortTypeAudioPort
= 0x1D,
1078 PortTypeModemPort
= 0x1E,
1079 PortTypeNetworkPort
= 0x1F,
1080 PortType8251Compatible
= 0xA0,
1081 PortType8251FifoCompatible
= 0xA1,
1082 PortTypeOther
= 0xFF
1086 /// Port Connector Information (Type 8).
1088 /// The information in this structure defines the attributes of a system port connector,
1089 /// e.g. parallel, serial, keyboard, or mouse ports. The port's type and connector information
1090 /// are provided. One structure is present for each port provided by the system.
1093 SMBIOS_STRUCTURE Hdr
;
1094 SMBIOS_TABLE_STRING InternalReferenceDesignator
;
1095 UINT8 InternalConnectorType
; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.
1096 SMBIOS_TABLE_STRING ExternalReferenceDesignator
;
1097 UINT8 ExternalConnectorType
; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.
1098 UINT8 PortType
; ///< The enumeration value from MISC_PORT_TYPE.
1099 } SMBIOS_TABLE_TYPE8
;
1102 /// System Slots - Slot Type
1105 SlotTypeOther
= 0x01,
1106 SlotTypeUnknown
= 0x02,
1109 SlotTypeEisa
= 0x05,
1111 SlotTypePcmcia
= 0x07,
1112 SlotTypeVlVesa
= 0x08,
1113 SlotTypeProprietary
= 0x09,
1114 SlotTypeProcessorCardSlot
= 0x0A,
1115 SlotTypeProprietaryMemoryCardSlot
= 0x0B,
1116 SlotTypeIORiserCardSlot
= 0x0C,
1117 SlotTypeNuBus
= 0x0D,
1118 SlotTypePci66MhzCapable
= 0x0E,
1120 SlotTypeApg2X
= 0x10,
1121 SlotTypeAgp4X
= 0x11,
1122 SlotTypePciX
= 0x12,
1123 SlotTypeAgp8X
= 0x13,
1124 SlotTypeM2Socket1_DP
= 0x14,
1125 SlotTypeM2Socket1_SD
= 0x15,
1126 SlotTypeM2Socket2
= 0x16,
1127 SlotTypeM2Socket3
= 0x17,
1128 SlotTypeMxmTypeI
= 0x18,
1129 SlotTypeMxmTypeII
= 0x19,
1130 SlotTypeMxmTypeIIIStandard
= 0x1A,
1131 SlotTypeMxmTypeIIIHe
= 0x1B,
1132 SlotTypeMxmTypeIV
= 0x1C,
1133 SlotTypeMxm30TypeA
= 0x1D,
1134 SlotTypeMxm30TypeB
= 0x1E,
1135 SlotTypePciExpressGen2Sff_8639
= 0x1F,
1136 SlotTypePciExpressGen3Sff_8639
= 0x20,
1137 SlotTypePC98C20
= 0xA0,
1138 SlotTypePC98C24
= 0xA1,
1139 SlotTypePC98E
= 0xA2,
1140 SlotTypePC98LocalBus
= 0xA3,
1141 SlotTypePC98Card
= 0xA4,
1142 SlotTypePciExpress
= 0xA5,
1143 SlotTypePciExpressX1
= 0xA6,
1144 SlotTypePciExpressX2
= 0xA7,
1145 SlotTypePciExpressX4
= 0xA8,
1146 SlotTypePciExpressX8
= 0xA9,
1147 SlotTypePciExpressX16
= 0xAA,
1148 SlotTypePciExpressGen2
= 0xAB,
1149 SlotTypePciExpressGen2X1
= 0xAC,
1150 SlotTypePciExpressGen2X2
= 0xAD,
1151 SlotTypePciExpressGen2X4
= 0xAE,
1152 SlotTypePciExpressGen2X8
= 0xAF,
1153 SlotTypePciExpressGen2X16
= 0xB0,
1154 SlotTypePciExpressGen3
= 0xB1,
1155 SlotTypePciExpressGen3X1
= 0xB2,
1156 SlotTypePciExpressGen3X2
= 0xB3,
1157 SlotTypePciExpressGen3X4
= 0xB4,
1158 SlotTypePciExpressGen3X8
= 0xB5,
1159 SlotTypePciExpressGen3X16
= 0xB6
1163 /// System Slots - Slot Data Bus Width.
1166 SlotDataBusWidthOther
= 0x01,
1167 SlotDataBusWidthUnknown
= 0x02,
1168 SlotDataBusWidth8Bit
= 0x03,
1169 SlotDataBusWidth16Bit
= 0x04,
1170 SlotDataBusWidth32Bit
= 0x05,
1171 SlotDataBusWidth64Bit
= 0x06,
1172 SlotDataBusWidth128Bit
= 0x07,
1173 SlotDataBusWidth1X
= 0x08, ///< Or X1
1174 SlotDataBusWidth2X
= 0x09, ///< Or X2
1175 SlotDataBusWidth4X
= 0x0A, ///< Or X4
1176 SlotDataBusWidth8X
= 0x0B, ///< Or X8
1177 SlotDataBusWidth12X
= 0x0C, ///< Or X12
1178 SlotDataBusWidth16X
= 0x0D, ///< Or X16
1179 SlotDataBusWidth32X
= 0x0E ///< Or X32
1180 } MISC_SLOT_DATA_BUS_WIDTH
;
1183 /// System Slots - Current Usage.
1186 SlotUsageOther
= 0x01,
1187 SlotUsageUnknown
= 0x02,
1188 SlotUsageAvailable
= 0x03,
1189 SlotUsageInUse
= 0x04
1193 /// System Slots - Slot Length.
1196 SlotLengthOther
= 0x01,
1197 SlotLengthUnknown
= 0x02,
1198 SlotLengthShort
= 0x03,
1199 SlotLengthLong
= 0x04
1203 /// System Slots - Slot Characteristics 1.
1206 UINT8 CharacteristicsUnknown
:1;
1207 UINT8 Provides50Volts
:1;
1208 UINT8 Provides33Volts
:1;
1209 UINT8 SharedSlot
:1;
1210 UINT8 PcCard16Supported
:1;
1211 UINT8 CardBusSupported
:1;
1212 UINT8 ZoomVideoSupported
:1;
1213 UINT8 ModemRingResumeSupported
:1;
1214 } MISC_SLOT_CHARACTERISTICS1
;
1216 /// System Slots - Slot Characteristics 2.
1219 UINT8 PmeSignalSupported
:1;
1220 UINT8 HotPlugDevicesSupported
:1;
1221 UINT8 SmbusSignalSupported
:1;
1222 UINT8 Reserved
:5; ///< Set to 0.
1223 } MISC_SLOT_CHARACTERISTICS2
;
1226 /// System Slots (Type 9)
1228 /// The information in this structure defines the attributes of a system slot.
1229 /// One structure is provided for each slot in the system.
1233 SMBIOS_STRUCTURE Hdr
;
1234 SMBIOS_TABLE_STRING SlotDesignation
;
1235 UINT8 SlotType
; ///< The enumeration value from MISC_SLOT_TYPE.
1236 UINT8 SlotDataBusWidth
; ///< The enumeration value from MISC_SLOT_DATA_BUS_WIDTH.
1237 UINT8 CurrentUsage
; ///< The enumeration value from MISC_SLOT_USAGE.
1238 UINT8 SlotLength
; ///< The enumeration value from MISC_SLOT_LENGTH.
1240 MISC_SLOT_CHARACTERISTICS1 SlotCharacteristics1
;
1241 MISC_SLOT_CHARACTERISTICS2 SlotCharacteristics2
;
1243 // Add for smbios 2.6
1245 UINT16 SegmentGroupNum
;
1248 } SMBIOS_TABLE_TYPE9
;
1251 /// On Board Devices Information - Device Types.
1254 OnBoardDeviceTypeOther
= 0x01,
1255 OnBoardDeviceTypeUnknown
= 0x02,
1256 OnBoardDeviceTypeVideo
= 0x03,
1257 OnBoardDeviceTypeScsiController
= 0x04,
1258 OnBoardDeviceTypeEthernet
= 0x05,
1259 OnBoardDeviceTypeTokenRing
= 0x06,
1260 OnBoardDeviceTypeSound
= 0x07,
1261 OnBoardDeviceTypePATAController
= 0x08,
1262 OnBoardDeviceTypeSATAController
= 0x09,
1263 OnBoardDeviceTypeSASController
= 0x0A
1264 } MISC_ONBOARD_DEVICE_TYPE
;
1267 /// Device Item Entry
1270 UINT8 DeviceType
; ///< Bit [6:0] - enumeration type of device from MISC_ONBOARD_DEVICE_TYPE.
1271 ///< Bit 7 - 1 : device enabled, 0 : device disabled.
1272 SMBIOS_TABLE_STRING DescriptionString
;
1276 /// On Board Devices Information (Type 10, obsolete).
1278 /// Note: This structure is obsolete starting with version 2.6 specification; the Onboard Devices Extended
1279 /// Information (Type 41) structure should be used instead . BIOS providers can choose to implement both
1280 /// types to allow existing SMBIOS browsers to properly display the system's onboard devices information.
1281 /// The information in this structure defines the attributes of devices that are onboard (soldered onto)
1282 /// a system element, usually the baseboard. In general, an entry in this table implies that the BIOS
1283 /// has some level of control over the enabling of the associated device for use by the system.
1286 SMBIOS_STRUCTURE Hdr
;
1287 DEVICE_STRUCT Device
[1];
1288 } SMBIOS_TABLE_TYPE10
;
1291 /// OEM Strings (Type 11).
1292 /// This structure contains free form strings defined by the OEM. Examples of this are:
1293 /// Part Numbers for Reference Documents for the system, contact information for the manufacturer, etc.
1296 SMBIOS_STRUCTURE Hdr
;
1298 } SMBIOS_TABLE_TYPE11
;
1301 /// System Configuration Options (Type 12).
1303 /// This structure contains information required to configure the base board's Jumpers and Switches.
1306 SMBIOS_STRUCTURE Hdr
;
1308 } SMBIOS_TABLE_TYPE12
;
1312 /// BIOS Language Information (Type 13).
1314 /// The information in this structure defines the installable language attributes of the BIOS.
1317 SMBIOS_STRUCTURE Hdr
;
1318 UINT8 InstallableLanguages
;
1321 SMBIOS_TABLE_STRING CurrentLanguages
;
1322 } SMBIOS_TABLE_TYPE13
;
1325 /// Group Item Entry
1333 /// Group Associations (Type 14).
1335 /// The Group Associations structure is provided for OEMs who want to specify
1336 /// the arrangement or hierarchy of certain components (including other Group Associations)
1337 /// within the system.
1340 SMBIOS_STRUCTURE Hdr
;
1341 SMBIOS_TABLE_STRING GroupName
;
1342 GROUP_STRUCT Group
[1];
1343 } SMBIOS_TABLE_TYPE14
;
1346 /// System Event Log - Event Log Types.
1349 EventLogTypeReserved
= 0x00,
1350 EventLogTypeSingleBitECC
= 0x01,
1351 EventLogTypeMultiBitECC
= 0x02,
1352 EventLogTypeParityMemErr
= 0x03,
1353 EventLogTypeBusTimeOut
= 0x04,
1354 EventLogTypeIOChannelCheck
= 0x05,
1355 EventLogTypeSoftwareNMI
= 0x06,
1356 EventLogTypePOSTMemResize
= 0x07,
1357 EventLogTypePOSTErr
= 0x08,
1358 EventLogTypePCIParityErr
= 0x09,
1359 EventLogTypePCISystemErr
= 0x0A,
1360 EventLogTypeCPUFailure
= 0x0B,
1361 EventLogTypeEISATimeOut
= 0x0C,
1362 EventLogTypeMemLogDisabled
= 0x0D,
1363 EventLogTypeLoggingDisabled
= 0x0E,
1364 EventLogTypeSysLimitExce
= 0x10,
1365 EventLogTypeAsyncHWTimer
= 0x11,
1366 EventLogTypeSysConfigInfo
= 0x12,
1367 EventLogTypeHDInfo
= 0x13,
1368 EventLogTypeSysReconfig
= 0x14,
1369 EventLogTypeUncorrectCPUErr
= 0x15,
1370 EventLogTypeAreaResetAndClr
= 0x16,
1371 EventLogTypeSystemBoot
= 0x17,
1372 EventLogTypeUnused
= 0x18, ///< 0x18 - 0x7F
1373 EventLogTypeAvailForSys
= 0x80, ///< 0x80 - 0xFE
1374 EventLogTypeEndOfLog
= 0xFF
1375 } EVENT_LOG_TYPE_DATA
;
1378 /// System Event Log - Variable Data Format Types.
1381 EventLogVariableNone
= 0x00,
1382 EventLogVariableHandle
= 0x01,
1383 EventLogVariableMutilEvent
= 0x02,
1384 EventLogVariableMutilEventHandle
= 0x03,
1385 EventLogVariablePOSTResultBitmap
= 0x04,
1386 EventLogVariableSysManagementType
= 0x05,
1387 EventLogVariableMutliEventSysManagmentType
= 0x06,
1388 EventLogVariableUnused
= 0x07,
1389 EventLogVariableOEMAssigned
= 0x80
1390 } EVENT_LOG_VARIABLE_DATA
;
1393 /// Event Log Type Descriptors
1396 UINT8 LogType
; ///< The enumeration value from EVENT_LOG_TYPE_DATA.
1397 UINT8 DataFormatType
;
1401 /// System Event Log (Type 15).
1403 /// The presence of this structure within the SMBIOS data returned for a system indicates
1404 /// that the system supports an event log. An event log is a fixed-length area within a
1405 /// non-volatile storage element, starting with a fixed-length (and vendor-specific) header
1406 /// record, followed by one or more variable-length log records.
1409 SMBIOS_STRUCTURE Hdr
;
1410 UINT16 LogAreaLength
;
1411 UINT16 LogHeaderStartOffset
;
1412 UINT16 LogDataStartOffset
;
1415 UINT32 LogChangeToken
;
1416 UINT32 AccessMethodAddress
;
1417 UINT8 LogHeaderFormat
;
1418 UINT8 NumberOfSupportedLogTypeDescriptors
;
1419 UINT8 LengthOfLogTypeDescriptor
;
1420 EVENT_LOG_TYPE EventLogTypeDescriptors
[1];
1421 } SMBIOS_TABLE_TYPE15
;
1424 /// Physical Memory Array - Location.
1427 MemoryArrayLocationOther
= 0x01,
1428 MemoryArrayLocationUnknown
= 0x02,
1429 MemoryArrayLocationSystemBoard
= 0x03,
1430 MemoryArrayLocationIsaAddonCard
= 0x04,
1431 MemoryArrayLocationEisaAddonCard
= 0x05,
1432 MemoryArrayLocationPciAddonCard
= 0x06,
1433 MemoryArrayLocationMcaAddonCard
= 0x07,
1434 MemoryArrayLocationPcmciaAddonCard
= 0x08,
1435 MemoryArrayLocationProprietaryAddonCard
= 0x09,
1436 MemoryArrayLocationNuBus
= 0x0A,
1437 MemoryArrayLocationPc98C20AddonCard
= 0xA0,
1438 MemoryArrayLocationPc98C24AddonCard
= 0xA1,
1439 MemoryArrayLocationPc98EAddonCard
= 0xA2,
1440 MemoryArrayLocationPc98LocalBusAddonCard
= 0xA3
1441 } MEMORY_ARRAY_LOCATION
;
1444 /// Physical Memory Array - Use.
1447 MemoryArrayUseOther
= 0x01,
1448 MemoryArrayUseUnknown
= 0x02,
1449 MemoryArrayUseSystemMemory
= 0x03,
1450 MemoryArrayUseVideoMemory
= 0x04,
1451 MemoryArrayUseFlashMemory
= 0x05,
1452 MemoryArrayUseNonVolatileRam
= 0x06,
1453 MemoryArrayUseCacheMemory
= 0x07
1457 /// Physical Memory Array - Error Correction Types.
1460 MemoryErrorCorrectionOther
= 0x01,
1461 MemoryErrorCorrectionUnknown
= 0x02,
1462 MemoryErrorCorrectionNone
= 0x03,
1463 MemoryErrorCorrectionParity
= 0x04,
1464 MemoryErrorCorrectionSingleBitEcc
= 0x05,
1465 MemoryErrorCorrectionMultiBitEcc
= 0x06,
1466 MemoryErrorCorrectionCrc
= 0x07
1467 } MEMORY_ERROR_CORRECTION
;
1470 /// Physical Memory Array (Type 16).
1472 /// This structure describes a collection of memory devices that operate
1473 /// together to form a memory address space.
1476 SMBIOS_STRUCTURE Hdr
;
1477 UINT8 Location
; ///< The enumeration value from MEMORY_ARRAY_LOCATION.
1478 UINT8 Use
; ///< The enumeration value from MEMORY_ARRAY_USE.
1479 UINT8 MemoryErrorCorrection
; ///< The enumeration value from MEMORY_ERROR_CORRECTION.
1480 UINT32 MaximumCapacity
;
1481 UINT16 MemoryErrorInformationHandle
;
1482 UINT16 NumberOfMemoryDevices
;
1484 // Add for smbios 2.7
1486 UINT64 ExtendedMaximumCapacity
;
1487 } SMBIOS_TABLE_TYPE16
;
1490 /// Memory Device - Form Factor.
1493 MemoryFormFactorOther
= 0x01,
1494 MemoryFormFactorUnknown
= 0x02,
1495 MemoryFormFactorSimm
= 0x03,
1496 MemoryFormFactorSip
= 0x04,
1497 MemoryFormFactorChip
= 0x05,
1498 MemoryFormFactorDip
= 0x06,
1499 MemoryFormFactorZip
= 0x07,
1500 MemoryFormFactorProprietaryCard
= 0x08,
1501 MemoryFormFactorDimm
= 0x09,
1502 MemoryFormFactorTsop
= 0x0A,
1503 MemoryFormFactorRowOfChips
= 0x0B,
1504 MemoryFormFactorRimm
= 0x0C,
1505 MemoryFormFactorSodimm
= 0x0D,
1506 MemoryFormFactorSrimm
= 0x0E,
1507 MemoryFormFactorFbDimm
= 0x0F
1508 } MEMORY_FORM_FACTOR
;
1511 /// Memory Device - Type
1514 MemoryTypeOther
= 0x01,
1515 MemoryTypeUnknown
= 0x02,
1516 MemoryTypeDram
= 0x03,
1517 MemoryTypeEdram
= 0x04,
1518 MemoryTypeVram
= 0x05,
1519 MemoryTypeSram
= 0x06,
1520 MemoryTypeRam
= 0x07,
1521 MemoryTypeRom
= 0x08,
1522 MemoryTypeFlash
= 0x09,
1523 MemoryTypeEeprom
= 0x0A,
1524 MemoryTypeFeprom
= 0x0B,
1525 MemoryTypeEprom
= 0x0C,
1526 MemoryTypeCdram
= 0x0D,
1527 MemoryType3Dram
= 0x0E,
1528 MemoryTypeSdram
= 0x0F,
1529 MemoryTypeSgram
= 0x10,
1530 MemoryTypeRdram
= 0x11,
1531 MemoryTypeDdr
= 0x12,
1532 MemoryTypeDdr2
= 0x13,
1533 MemoryTypeDdr2FbDimm
= 0x14,
1534 MemoryTypeDdr3
= 0x18,
1535 MemoryTypeFbd2
= 0x19,
1536 MemoryTypeDdr4
= 0x1A,
1537 MemoryTypeLpddr
= 0x1B,
1538 MemoryTypeLpddr2
= 0x1C,
1539 MemoryTypeLpddr3
= 0x1D,
1540 MemoryTypeLpddr4
= 0x1E
1541 } MEMORY_DEVICE_TYPE
;
1547 UINT16 FastPaged
:1;
1548 UINT16 StaticColumn
:1;
1549 UINT16 PseudoStatic
:1;
1551 UINT16 Synchronous
:1;
1554 UINT16 WindowDram
:1;
1555 UINT16 CacheDram
:1;
1556 UINT16 Nonvolatile
:1;
1557 UINT16 Registered
:1;
1558 UINT16 Unbuffered
:1;
1560 } MEMORY_DEVICE_TYPE_DETAIL
;
1563 /// Memory Device (Type 17).
1565 /// This structure describes a single memory device that is part of
1566 /// a larger Physical Memory Array (Type 16).
1567 /// Note: If a system includes memory-device sockets, the SMBIOS implementation
1568 /// includes a Memory Device structure instance for each slot, whether or not the
1569 /// socket is currently populated.
1572 SMBIOS_STRUCTURE Hdr
;
1573 UINT16 MemoryArrayHandle
;
1574 UINT16 MemoryErrorInformationHandle
;
1578 UINT8 FormFactor
; ///< The enumeration value from MEMORY_FORM_FACTOR.
1580 SMBIOS_TABLE_STRING DeviceLocator
;
1581 SMBIOS_TABLE_STRING BankLocator
;
1582 UINT8 MemoryType
; ///< The enumeration value from MEMORY_DEVICE_TYPE.
1583 MEMORY_DEVICE_TYPE_DETAIL TypeDetail
;
1585 SMBIOS_TABLE_STRING Manufacturer
;
1586 SMBIOS_TABLE_STRING SerialNumber
;
1587 SMBIOS_TABLE_STRING AssetTag
;
1588 SMBIOS_TABLE_STRING PartNumber
;
1590 // Add for smbios 2.6
1594 // Add for smbios 2.7
1596 UINT32 ExtendedSize
;
1597 UINT16 ConfiguredMemoryClockSpeed
;
1599 // Add for smbios 2.8.0
1601 UINT16 MinimumVoltage
;
1602 UINT16 MaximumVoltage
;
1603 UINT16 ConfiguredVoltage
;
1604 } SMBIOS_TABLE_TYPE17
;
1607 /// 32-bit Memory Error Information - Error Type.
1610 MemoryErrorOther
= 0x01,
1611 MemoryErrorUnknown
= 0x02,
1612 MemoryErrorOk
= 0x03,
1613 MemoryErrorBadRead
= 0x04,
1614 MemoryErrorParity
= 0x05,
1615 MemoryErrorSigleBit
= 0x06,
1616 MemoryErrorDoubleBit
= 0x07,
1617 MemoryErrorMultiBit
= 0x08,
1618 MemoryErrorNibble
= 0x09,
1619 MemoryErrorChecksum
= 0x0A,
1620 MemoryErrorCrc
= 0x0B,
1621 MemoryErrorCorrectSingleBit
= 0x0C,
1622 MemoryErrorCorrected
= 0x0D,
1623 MemoryErrorUnCorrectable
= 0x0E
1624 } MEMORY_ERROR_TYPE
;
1627 /// 32-bit Memory Error Information - Error Granularity.
1630 MemoryGranularityOther
= 0x01,
1631 MemoryGranularityOtherUnknown
= 0x02,
1632 MemoryGranularityDeviceLevel
= 0x03,
1633 MemoryGranularityMemPartitionLevel
= 0x04
1634 } MEMORY_ERROR_GRANULARITY
;
1637 /// 32-bit Memory Error Information - Error Operation.
1640 MemoryErrorOperationOther
= 0x01,
1641 MemoryErrorOperationUnknown
= 0x02,
1642 MemoryErrorOperationRead
= 0x03,
1643 MemoryErrorOperationWrite
= 0x04,
1644 MemoryErrorOperationPartialWrite
= 0x05
1645 } MEMORY_ERROR_OPERATION
;
1648 /// 32-bit Memory Error Information (Type 18).
1650 /// This structure identifies the specifics of an error that might be detected
1651 /// within a Physical Memory Array.
1654 SMBIOS_STRUCTURE Hdr
;
1655 UINT8 ErrorType
; ///< The enumeration value from MEMORY_ERROR_TYPE.
1656 UINT8 ErrorGranularity
; ///< The enumeration value from MEMORY_ERROR_GRANULARITY.
1657 UINT8 ErrorOperation
; ///< The enumeration value from MEMORY_ERROR_OPERATION.
1658 UINT32 VendorSyndrome
;
1659 UINT32 MemoryArrayErrorAddress
;
1660 UINT32 DeviceErrorAddress
;
1661 UINT32 ErrorResolution
;
1662 } SMBIOS_TABLE_TYPE18
;
1665 /// Memory Array Mapped Address (Type 19).
1667 /// This structure provides the address mapping for a Physical Memory Array.
1668 /// One structure is present for each contiguous address range described.
1671 SMBIOS_STRUCTURE Hdr
;
1672 UINT32 StartingAddress
;
1673 UINT32 EndingAddress
;
1674 UINT16 MemoryArrayHandle
;
1675 UINT8 PartitionWidth
;
1677 // Add for smbios 2.7
1679 UINT64 ExtendedStartingAddress
;
1680 UINT64 ExtendedEndingAddress
;
1681 } SMBIOS_TABLE_TYPE19
;
1684 /// Memory Device Mapped Address (Type 20).
1686 /// This structure maps memory address space usually to a device-level granularity.
1687 /// One structure is present for each contiguous address range described.
1690 SMBIOS_STRUCTURE Hdr
;
1691 UINT32 StartingAddress
;
1692 UINT32 EndingAddress
;
1693 UINT16 MemoryDeviceHandle
;
1694 UINT16 MemoryArrayMappedAddressHandle
;
1695 UINT8 PartitionRowPosition
;
1696 UINT8 InterleavePosition
;
1697 UINT8 InterleavedDataDepth
;
1699 // Add for smbios 2.7
1701 UINT64 ExtendedStartingAddress
;
1702 UINT64 ExtendedEndingAddress
;
1703 } SMBIOS_TABLE_TYPE20
;
1706 /// Built-in Pointing Device - Type
1709 PointingDeviceTypeOther
= 0x01,
1710 PointingDeviceTypeUnknown
= 0x02,
1711 PointingDeviceTypeMouse
= 0x03,
1712 PointingDeviceTypeTrackBall
= 0x04,
1713 PointingDeviceTypeTrackPoint
= 0x05,
1714 PointingDeviceTypeGlidePoint
= 0x06,
1715 PointingDeviceTouchPad
= 0x07,
1716 PointingDeviceTouchScreen
= 0x08,
1717 PointingDeviceOpticalSensor
= 0x09
1718 } BUILTIN_POINTING_DEVICE_TYPE
;
1721 /// Built-in Pointing Device - Interface.
1724 PointingDeviceInterfaceOther
= 0x01,
1725 PointingDeviceInterfaceUnknown
= 0x02,
1726 PointingDeviceInterfaceSerial
= 0x03,
1727 PointingDeviceInterfacePs2
= 0x04,
1728 PointingDeviceInterfaceInfrared
= 0x05,
1729 PointingDeviceInterfaceHpHil
= 0x06,
1730 PointingDeviceInterfaceBusMouse
= 0x07,
1731 PointingDeviceInterfaceADB
= 0x08,
1732 PointingDeviceInterfaceBusMouseDB9
= 0xA0,
1733 PointingDeviceInterfaceBusMouseMicroDin
= 0xA1,
1734 PointingDeviceInterfaceUsb
= 0xA2
1735 } BUILTIN_POINTING_DEVICE_INTERFACE
;
1738 /// Built-in Pointing Device (Type 21).
1740 /// This structure describes the attributes of the built-in pointing device for the
1741 /// system. The presence of this structure does not imply that the built-in
1742 /// pointing device is active for the system's use!
1745 SMBIOS_STRUCTURE Hdr
;
1746 UINT8 Type
; ///< The enumeration value from BUILTIN_POINTING_DEVICE_TYPE.
1747 UINT8 Interface
; ///< The enumeration value from BUILTIN_POINTING_DEVICE_INTERFACE.
1748 UINT8 NumberOfButtons
;
1749 } SMBIOS_TABLE_TYPE21
;
1752 /// Portable Battery - Device Chemistry
1755 PortableBatteryDeviceChemistryOther
= 0x01,
1756 PortableBatteryDeviceChemistryUnknown
= 0x02,
1757 PortableBatteryDeviceChemistryLeadAcid
= 0x03,
1758 PortableBatteryDeviceChemistryNickelCadmium
= 0x04,
1759 PortableBatteryDeviceChemistryNickelMetalHydride
= 0x05,
1760 PortableBatteryDeviceChemistryLithiumIon
= 0x06,
1761 PortableBatteryDeviceChemistryZincAir
= 0x07,
1762 PortableBatteryDeviceChemistryLithiumPolymer
= 0x08
1763 } PORTABLE_BATTERY_DEVICE_CHEMISTRY
;
1766 /// Portable Battery (Type 22).
1768 /// This structure describes the attributes of the portable battery(s) for the system.
1769 /// The structure contains the static attributes for the group. Each structure describes
1770 /// a single battery pack's attributes.
1773 SMBIOS_STRUCTURE Hdr
;
1774 SMBIOS_TABLE_STRING Location
;
1775 SMBIOS_TABLE_STRING Manufacturer
;
1776 SMBIOS_TABLE_STRING ManufactureDate
;
1777 SMBIOS_TABLE_STRING SerialNumber
;
1778 SMBIOS_TABLE_STRING DeviceName
;
1779 UINT8 DeviceChemistry
; ///< The enumeration value from PORTABLE_BATTERY_DEVICE_CHEMISTRY.
1780 UINT16 DeviceCapacity
;
1781 UINT16 DesignVoltage
;
1782 SMBIOS_TABLE_STRING SBDSVersionNumber
;
1783 UINT8 MaximumErrorInBatteryData
;
1784 UINT16 SBDSSerialNumber
;
1785 UINT16 SBDSManufactureDate
;
1786 SMBIOS_TABLE_STRING SBDSDeviceChemistry
;
1787 UINT8 DesignCapacityMultiplier
;
1789 } SMBIOS_TABLE_TYPE22
;
1792 /// System Reset (Type 23)
1794 /// This structure describes whether Automatic System Reset functions enabled (Status).
1795 /// If the system has a watchdog Timer and the timer is not reset (Timer Reset)
1796 /// before the Interval elapses, an automatic system reset will occur. The system will re-boot
1797 /// according to the Boot Option. This function may repeat until the Limit is reached, at which time
1798 /// the system will re-boot according to the Boot Option at Limit.
1801 SMBIOS_STRUCTURE Hdr
;
1805 UINT16 TimerInterval
;
1807 } SMBIOS_TABLE_TYPE23
;
1810 /// Hardware Security (Type 24).
1812 /// This structure describes the system-wide hardware security settings.
1815 SMBIOS_STRUCTURE Hdr
;
1816 UINT8 HardwareSecuritySettings
;
1817 } SMBIOS_TABLE_TYPE24
;
1820 /// System Power Controls (Type 25).
1822 /// This structure describes the attributes for controlling the main power supply to the system.
1823 /// Software that interprets this structure uses the month, day, hour, minute, and second values
1824 /// to determine the number of seconds until the next power-on of the system. The presence of
1825 /// this structure implies that a timed power-on facility is available for the system.
1828 SMBIOS_STRUCTURE Hdr
;
1829 UINT8 NextScheduledPowerOnMonth
;
1830 UINT8 NextScheduledPowerOnDayOfMonth
;
1831 UINT8 NextScheduledPowerOnHour
;
1832 UINT8 NextScheduledPowerOnMinute
;
1833 UINT8 NextScheduledPowerOnSecond
;
1834 } SMBIOS_TABLE_TYPE25
;
1837 /// Voltage Probe - Location and Status.
1840 UINT8 VoltageProbeSite
:5;
1841 UINT8 VoltageProbeStatus
:3;
1842 } MISC_VOLTAGE_PROBE_LOCATION
;
1845 /// Voltage Probe (Type 26)
1847 /// This describes the attributes for a voltage probe in the system.
1848 /// Each structure describes a single voltage probe.
1851 SMBIOS_STRUCTURE Hdr
;
1852 SMBIOS_TABLE_STRING Description
;
1853 MISC_VOLTAGE_PROBE_LOCATION LocationAndStatus
;
1854 UINT16 MaximumValue
;
1855 UINT16 MinimumValue
;
1860 UINT16 NominalValue
;
1861 } SMBIOS_TABLE_TYPE26
;
1864 /// Cooling Device - Device Type and Status.
1867 UINT8 CoolingDevice
:5;
1868 UINT8 CoolingDeviceStatus
:3;
1869 } MISC_COOLING_DEVICE_TYPE
;
1872 /// Cooling Device (Type 27)
1874 /// This structure describes the attributes for a cooling device in the system.
1875 /// Each structure describes a single cooling device.
1878 SMBIOS_STRUCTURE Hdr
;
1879 UINT16 TemperatureProbeHandle
;
1880 MISC_COOLING_DEVICE_TYPE DeviceTypeAndStatus
;
1881 UINT8 CoolingUnitGroup
;
1883 UINT16 NominalSpeed
;
1885 // Add for smbios 2.7
1887 SMBIOS_TABLE_STRING Description
;
1888 } SMBIOS_TABLE_TYPE27
;
1891 /// Temperature Probe - Location and Status.
1894 UINT8 TemperatureProbeSite
:5;
1895 UINT8 TemperatureProbeStatus
:3;
1896 } MISC_TEMPERATURE_PROBE_LOCATION
;
1899 /// Temperature Probe (Type 28).
1901 /// This structure describes the attributes for a temperature probe in the system.
1902 /// Each structure describes a single temperature probe.
1905 SMBIOS_STRUCTURE Hdr
;
1906 SMBIOS_TABLE_STRING Description
;
1907 MISC_TEMPERATURE_PROBE_LOCATION LocationAndStatus
;
1908 UINT16 MaximumValue
;
1909 UINT16 MinimumValue
;
1914 UINT16 NominalValue
;
1915 } SMBIOS_TABLE_TYPE28
;
1918 /// Electrical Current Probe - Location and Status.
1921 UINT8 ElectricalCurrentProbeSite
:5;
1922 UINT8 ElectricalCurrentProbeStatus
:3;
1923 } MISC_ELECTRICAL_CURRENT_PROBE_LOCATION
;
1926 /// Electrical Current Probe (Type 29).
1928 /// This structure describes the attributes for an electrical current probe in the system.
1929 /// Each structure describes a single electrical current probe.
1932 SMBIOS_STRUCTURE Hdr
;
1933 SMBIOS_TABLE_STRING Description
;
1934 MISC_ELECTRICAL_CURRENT_PROBE_LOCATION LocationAndStatus
;
1935 UINT16 MaximumValue
;
1936 UINT16 MinimumValue
;
1941 UINT16 NominalValue
;
1942 } SMBIOS_TABLE_TYPE29
;
1945 /// Out-of-Band Remote Access (Type 30).
1947 /// This structure describes the attributes and policy settings of a hardware facility
1948 /// that may be used to gain remote access to a hardware system when the operating system
1949 /// is not available due to power-down status, hardware failures, or boot failures.
1952 SMBIOS_STRUCTURE Hdr
;
1953 SMBIOS_TABLE_STRING ManufacturerName
;
1955 } SMBIOS_TABLE_TYPE30
;
1958 /// Boot Integrity Services (BIS) Entry Point (Type 31).
1960 /// Structure type 31 (decimal) is reserved for use by the Boot Integrity Services (BIS).
1963 SMBIOS_STRUCTURE Hdr
;
1971 } SMBIOS_TABLE_TYPE31
;
1974 /// System Boot Information - System Boot Status.
1977 BootInformationStatusNoError
= 0x00,
1978 BootInformationStatusNoBootableMedia
= 0x01,
1979 BootInformationStatusNormalOSFailedLoading
= 0x02,
1980 BootInformationStatusFirmwareDetectedFailure
= 0x03,
1981 BootInformationStatusOSDetectedFailure
= 0x04,
1982 BootInformationStatusUserRequestedBoot
= 0x05,
1983 BootInformationStatusSystemSecurityViolation
= 0x06,
1984 BootInformationStatusPreviousRequestedImage
= 0x07,
1985 BootInformationStatusWatchdogTimerExpired
= 0x08,
1986 BootInformationStatusStartReserved
= 0x09,
1987 BootInformationStatusStartOemSpecific
= 0x80,
1988 BootInformationStatusStartProductSpecific
= 0xC0
1989 } MISC_BOOT_INFORMATION_STATUS_DATA_TYPE
;
1992 /// System Boot Information (Type 32).
1994 /// The client system firmware, e.g. BIOS, communicates the System Boot Status to the
1995 /// client's Pre-boot Execution Environment (PXE) boot image or OS-present management
1996 /// application via this structure. When used in the PXE environment, for example,
1997 /// this code identifies the reason the PXE was initiated and can be used by boot-image
1998 /// software to further automate an enterprise's PXE sessions. For example, an enterprise
1999 /// could choose to automatically download a hardware-diagnostic image to a client whose
2000 /// reason code indicated either a firmware- or operating system-detected hardware failure.
2003 SMBIOS_STRUCTURE Hdr
;
2005 UINT8 BootStatus
; ///< The enumeration value from MISC_BOOT_INFORMATION_STATUS_DATA_TYPE.
2006 } SMBIOS_TABLE_TYPE32
;
2009 /// 64-bit Memory Error Information (Type 33).
2011 /// This structure describes an error within a Physical Memory Array,
2012 /// when the error address is above 4G (0xFFFFFFFF).
2015 SMBIOS_STRUCTURE Hdr
;
2016 UINT8 ErrorType
; ///< The enumeration value from MEMORY_ERROR_TYPE.
2017 UINT8 ErrorGranularity
; ///< The enumeration value from MEMORY_ERROR_GRANULARITY.
2018 UINT8 ErrorOperation
; ///< The enumeration value from MEMORY_ERROR_OPERATION.
2019 UINT32 VendorSyndrome
;
2020 UINT64 MemoryArrayErrorAddress
;
2021 UINT64 DeviceErrorAddress
;
2022 UINT32 ErrorResolution
;
2023 } SMBIOS_TABLE_TYPE33
;
2026 /// Management Device - Type.
2029 ManagementDeviceTypeOther
= 0x01,
2030 ManagementDeviceTypeUnknown
= 0x02,
2031 ManagementDeviceTypeLm75
= 0x03,
2032 ManagementDeviceTypeLm78
= 0x04,
2033 ManagementDeviceTypeLm79
= 0x05,
2034 ManagementDeviceTypeLm80
= 0x06,
2035 ManagementDeviceTypeLm81
= 0x07,
2036 ManagementDeviceTypeAdm9240
= 0x08,
2037 ManagementDeviceTypeDs1780
= 0x09,
2038 ManagementDeviceTypeMaxim1617
= 0x0A,
2039 ManagementDeviceTypeGl518Sm
= 0x0B,
2040 ManagementDeviceTypeW83781D
= 0x0C,
2041 ManagementDeviceTypeHt82H791
= 0x0D
2042 } MISC_MANAGEMENT_DEVICE_TYPE
;
2045 /// Management Device - Address Type.
2048 ManagementDeviceAddressTypeOther
= 0x01,
2049 ManagementDeviceAddressTypeUnknown
= 0x02,
2050 ManagementDeviceAddressTypeIOPort
= 0x03,
2051 ManagementDeviceAddressTypeMemory
= 0x04,
2052 ManagementDeviceAddressTypeSmbus
= 0x05
2053 } MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE
;
2056 /// Management Device (Type 34).
2058 /// The information in this structure defines the attributes of a Management Device.
2059 /// A Management Device might control one or more fans or voltage, current, or temperature
2060 /// probes as defined by one or more Management Device Component structures.
2063 SMBIOS_STRUCTURE Hdr
;
2064 SMBIOS_TABLE_STRING Description
;
2065 UINT8 Type
; ///< The enumeration value from MISC_MANAGEMENT_DEVICE_TYPE.
2067 UINT8 AddressType
; ///< The enumeration value from MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE.
2068 } SMBIOS_TABLE_TYPE34
;
2071 /// Management Device Component (Type 35)
2073 /// This structure associates a cooling device or environmental probe with structures
2074 /// that define the controlling hardware device and (optionally) the component's thresholds.
2077 SMBIOS_STRUCTURE Hdr
;
2078 SMBIOS_TABLE_STRING Description
;
2079 UINT16 ManagementDeviceHandle
;
2080 UINT16 ComponentHandle
;
2081 UINT16 ThresholdHandle
;
2082 } SMBIOS_TABLE_TYPE35
;
2085 /// Management Device Threshold Data (Type 36).
2087 /// The information in this structure defines threshold information for
2088 /// a component (probe or cooling-unit) contained within a Management Device.
2091 SMBIOS_STRUCTURE Hdr
;
2092 UINT16 LowerThresholdNonCritical
;
2093 UINT16 UpperThresholdNonCritical
;
2094 UINT16 LowerThresholdCritical
;
2095 UINT16 UpperThresholdCritical
;
2096 UINT16 LowerThresholdNonRecoverable
;
2097 UINT16 UpperThresholdNonRecoverable
;
2098 } SMBIOS_TABLE_TYPE36
;
2101 /// Memory Channel Entry.
2105 UINT16 DeviceHandle
;
2109 /// Memory Channel - Channel Type.
2112 MemoryChannelTypeOther
= 0x01,
2113 MemoryChannelTypeUnknown
= 0x02,
2114 MemoryChannelTypeRambus
= 0x03,
2115 MemoryChannelTypeSyncLink
= 0x04
2116 } MEMORY_CHANNEL_TYPE
;
2119 /// Memory Channel (Type 37)
2121 /// The information in this structure provides the correlation between a Memory Channel
2122 /// and its associated Memory Devices. Each device presents one or more loads to the channel.
2123 /// The sum of all device loads cannot exceed the channel's defined maximum.
2126 SMBIOS_STRUCTURE Hdr
;
2128 UINT8 MaximumChannelLoad
;
2129 UINT8 MemoryDeviceCount
;
2130 MEMORY_DEVICE MemoryDevice
[1];
2131 } SMBIOS_TABLE_TYPE37
;
2134 /// IPMI Device Information - BMC Interface Type
2137 IPMIDeviceInfoInterfaceTypeUnknown
= 0x00,
2138 IPMIDeviceInfoInterfaceTypeKCS
= 0x01, ///< The Keyboard Controller Style.
2139 IPMIDeviceInfoInterfaceTypeSMIC
= 0x02, ///< The Server Management Interface Chip.
2140 IPMIDeviceInfoInterfaceTypeBT
= 0x03, ///< The Block Transfer
2141 IPMIDeviceInfoInterfaceTypeReserved
= 0x04
2142 } BMC_INTERFACE_TYPE
;
2145 /// IPMI Device Information (Type 38).
2147 /// The information in this structure defines the attributes of an
2148 /// Intelligent Platform Management Interface (IPMI) Baseboard Management Controller (BMC).
2150 /// The Type 42 structure can also be used to describe a physical management controller
2151 /// host interface and one or more protocols that share that interface. If IPMI is not
2152 /// shared with other protocols, either the Type 38 or Type 42 structures can be used.
2153 /// Providing Type 38 is recommended for backward compatibility.
2156 SMBIOS_STRUCTURE Hdr
;
2157 UINT8 InterfaceType
; ///< The enumeration value from BMC_INTERFACE_TYPE.
2158 UINT8 IPMISpecificationRevision
;
2159 UINT8 I2CSlaveAddress
;
2160 UINT8 NVStorageDeviceAddress
;
2162 UINT8 BaseAddressModifier_InterruptInfo
;
2163 UINT8 InterruptNumber
;
2164 } SMBIOS_TABLE_TYPE38
;
2167 /// System Power Supply - Power Supply Characteristics.
2170 UINT16 PowerSupplyHotReplaceable
:1;
2171 UINT16 PowerSupplyPresent
:1;
2172 UINT16 PowerSupplyUnplugged
:1;
2173 UINT16 InputVoltageRangeSwitch
:4;
2174 UINT16 PowerSupplyStatus
:3;
2175 UINT16 PowerSupplyType
:4;
2177 } SYS_POWER_SUPPLY_CHARACTERISTICS
;
2180 /// System Power Supply (Type 39).
2182 /// This structure identifies attributes of a system power supply. One instance
2183 /// of this record is present for each possible power supply in a system.
2186 SMBIOS_STRUCTURE Hdr
;
2187 UINT8 PowerUnitGroup
;
2188 SMBIOS_TABLE_STRING Location
;
2189 SMBIOS_TABLE_STRING DeviceName
;
2190 SMBIOS_TABLE_STRING Manufacturer
;
2191 SMBIOS_TABLE_STRING SerialNumber
;
2192 SMBIOS_TABLE_STRING AssetTagNumber
;
2193 SMBIOS_TABLE_STRING ModelPartNumber
;
2194 SMBIOS_TABLE_STRING RevisionLevel
;
2195 UINT16 MaxPowerCapacity
;
2196 SYS_POWER_SUPPLY_CHARACTERISTICS PowerSupplyCharacteristics
;
2197 UINT16 InputVoltageProbeHandle
;
2198 UINT16 CoolingDeviceHandle
;
2199 UINT16 InputCurrentProbeHandle
;
2200 } SMBIOS_TABLE_TYPE39
;
2203 /// Additional Information Entry Format.
2207 UINT16 ReferencedHandle
;
2208 UINT8 ReferencedOffset
;
2209 SMBIOS_TABLE_STRING EntryString
;
2211 }ADDITIONAL_INFORMATION_ENTRY
;
2214 /// Additional Information (Type 40).
2216 /// This structure is intended to provide additional information for handling unspecified
2217 /// enumerated values and interim field updates in another structure.
2220 SMBIOS_STRUCTURE Hdr
;
2221 UINT8 NumberOfAdditionalInformationEntries
;
2222 ADDITIONAL_INFORMATION_ENTRY AdditionalInfoEntries
[1];
2223 } SMBIOS_TABLE_TYPE40
;
2226 /// Onboard Devices Extended Information - Onboard Device Types.
2229 OnBoardDeviceExtendedTypeOther
= 0x01,
2230 OnBoardDeviceExtendedTypeUnknown
= 0x02,
2231 OnBoardDeviceExtendedTypeVideo
= 0x03,
2232 OnBoardDeviceExtendedTypeScsiController
= 0x04,
2233 OnBoardDeviceExtendedTypeEthernet
= 0x05,
2234 OnBoardDeviceExtendedTypeTokenRing
= 0x06,
2235 OnBoardDeviceExtendedTypeSound
= 0x07,
2236 OnBoardDeviceExtendedTypePATAController
= 0x08,
2237 OnBoardDeviceExtendedTypeSATAController
= 0x09,
2238 OnBoardDeviceExtendedTypeSASController
= 0x0A
2239 } ONBOARD_DEVICE_EXTENDED_INFO_TYPE
;
2242 /// Onboard Devices Extended Information (Type 41).
2244 /// The information in this structure defines the attributes of devices that
2245 /// are onboard (soldered onto) a system element, usually the baseboard.
2246 /// In general, an entry in this table implies that the BIOS has some level of
2247 /// control over the enabling of the associated device for use by the system.
2250 SMBIOS_STRUCTURE Hdr
;
2251 SMBIOS_TABLE_STRING ReferenceDesignation
;
2252 UINT8 DeviceType
; ///< The enumeration value from ONBOARD_DEVICE_EXTENDED_INFO_TYPE
2253 UINT8 DeviceTypeInstance
;
2254 UINT16 SegmentGroupNum
;
2257 } SMBIOS_TABLE_TYPE41
;
2260 /// Management Controller Host Interface (Type 42).
2262 /// The information in this structure defines the attributes of a Management
2263 /// Controller Host Interface that is not discoverable by "Plug and Play" mechanisms.
2265 /// Type 42 should be used for management controller host interfaces that use protocols
2266 /// other than IPMI or that use multiple protocols on a single host interface type.
2268 /// This structure should also be provided if IPMI is shared with other protocols
2269 /// over the same interface hardware. If IPMI is not shared with other protocols,
2270 /// either the Type 38 or Type 42 structures can be used. Providing Type 38 is
2271 /// recommended for backward compatibility. The structures are not required to
2272 /// be mutually exclusive. Type 38 and Type 42 structures may be implemented
2273 /// simultaneously to provide backward compatibility with IPMI applications or drivers
2274 /// that do not yet recognize the Type 42 structure.
2277 SMBIOS_STRUCTURE Hdr
;
2278 UINT8 InterfaceType
;
2279 UINT8 MCHostInterfaceData
[1]; ///< This field has a minimum of four bytes
2280 } SMBIOS_TABLE_TYPE42
;
2283 /// Inactive (Type 126)
2286 SMBIOS_STRUCTURE Hdr
;
2287 } SMBIOS_TABLE_TYPE126
;
2290 /// End-of-Table (Type 127)
2293 SMBIOS_STRUCTURE Hdr
;
2294 } SMBIOS_TABLE_TYPE127
;
2297 /// Union of all the possible SMBIOS record types.
2300 SMBIOS_STRUCTURE
*Hdr
;
2301 SMBIOS_TABLE_TYPE0
*Type0
;
2302 SMBIOS_TABLE_TYPE1
*Type1
;
2303 SMBIOS_TABLE_TYPE2
*Type2
;
2304 SMBIOS_TABLE_TYPE3
*Type3
;
2305 SMBIOS_TABLE_TYPE4
*Type4
;
2306 SMBIOS_TABLE_TYPE5
*Type5
;
2307 SMBIOS_TABLE_TYPE6
*Type6
;
2308 SMBIOS_TABLE_TYPE7
*Type7
;
2309 SMBIOS_TABLE_TYPE8
*Type8
;
2310 SMBIOS_TABLE_TYPE9
*Type9
;
2311 SMBIOS_TABLE_TYPE10
*Type10
;
2312 SMBIOS_TABLE_TYPE11
*Type11
;
2313 SMBIOS_TABLE_TYPE12
*Type12
;
2314 SMBIOS_TABLE_TYPE13
*Type13
;
2315 SMBIOS_TABLE_TYPE14
*Type14
;
2316 SMBIOS_TABLE_TYPE15
*Type15
;
2317 SMBIOS_TABLE_TYPE16
*Type16
;
2318 SMBIOS_TABLE_TYPE17
*Type17
;
2319 SMBIOS_TABLE_TYPE18
*Type18
;
2320 SMBIOS_TABLE_TYPE19
*Type19
;
2321 SMBIOS_TABLE_TYPE20
*Type20
;
2322 SMBIOS_TABLE_TYPE21
*Type21
;
2323 SMBIOS_TABLE_TYPE22
*Type22
;
2324 SMBIOS_TABLE_TYPE23
*Type23
;
2325 SMBIOS_TABLE_TYPE24
*Type24
;
2326 SMBIOS_TABLE_TYPE25
*Type25
;
2327 SMBIOS_TABLE_TYPE26
*Type26
;
2328 SMBIOS_TABLE_TYPE27
*Type27
;
2329 SMBIOS_TABLE_TYPE28
*Type28
;
2330 SMBIOS_TABLE_TYPE29
*Type29
;
2331 SMBIOS_TABLE_TYPE30
*Type30
;
2332 SMBIOS_TABLE_TYPE31
*Type31
;
2333 SMBIOS_TABLE_TYPE32
*Type32
;
2334 SMBIOS_TABLE_TYPE33
*Type33
;
2335 SMBIOS_TABLE_TYPE34
*Type34
;
2336 SMBIOS_TABLE_TYPE35
*Type35
;
2337 SMBIOS_TABLE_TYPE36
*Type36
;
2338 SMBIOS_TABLE_TYPE37
*Type37
;
2339 SMBIOS_TABLE_TYPE38
*Type38
;
2340 SMBIOS_TABLE_TYPE39
*Type39
;
2341 SMBIOS_TABLE_TYPE40
*Type40
;
2342 SMBIOS_TABLE_TYPE41
*Type41
;
2343 SMBIOS_TABLE_TYPE42
*Type42
;
2344 SMBIOS_TABLE_TYPE126
*Type126
;
2345 SMBIOS_TABLE_TYPE127
*Type127
;
2347 } SMBIOS_STRUCTURE_POINTER
;