3 Copyright (c) 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20 #ifndef _SMBIOS_TABLE_H_
21 #define _SMBIOS_TABLE_H_
27 typedef UINT8 SMBIOS_TABLE_STRING
;
30 UINT8 AnchorString
[4];
31 UINT8 EntryPointStructureChecksum
;
32 UINT8 EntryPointLength
;
35 UINT16 MaxStructureSize
;
36 UINT8 EntryPointRevision
;
37 UINT8 FormattedArea
[5];
38 UINT8 IntermediateAnchorString
[5];
39 UINT8 IntermediateChecksum
;
42 UINT16 NumberOfSmbiosStructures
;
43 UINT8 SmbiosBcdRevision
;
44 } SMBIOS_TABLE_STRUCTURE
;
50 } SMBIOS_TABLE_HEADER
;
53 SMBIOS_TABLE_HEADER Hdr
;
54 SMBIOS_TABLE_STRING Vendor
;
55 SMBIOS_TABLE_STRING BiosVersion
;
57 SMBIOS_TABLE_STRING BiosReleaseDate
;
59 UINT64 BiosCharacteristics
;
60 UINT8 BIOSCharacteristicsExtensionBytes
[2];
61 UINT8 SystemBiosMajorRelease
;
62 UINT8 SystemBiosMinorRelease
;
63 UINT8 EmbeddedControllerFirmwareMajorRelease
;
64 UINT8 EmbeddedControllerFirmwareMinorRelease
;
68 SMBIOS_TABLE_HEADER Hdr
;
69 SMBIOS_TABLE_STRING Manufacturer
;
70 SMBIOS_TABLE_STRING ProductName
;
71 SMBIOS_TABLE_STRING Version
;
72 SMBIOS_TABLE_STRING SerialNumber
;
75 SMBIOS_TABLE_STRING SKUNumber
;
76 SMBIOS_TABLE_STRING Family
;
80 SMBIOS_TABLE_HEADER Hdr
;
81 SMBIOS_TABLE_STRING Manufacturer
;
82 SMBIOS_TABLE_STRING ProductName
;
83 SMBIOS_TABLE_STRING Version
;
84 SMBIOS_TABLE_STRING SerialNumber
;
85 SMBIOS_TABLE_STRING AssetTag
;
87 SMBIOS_TABLE_STRING LocationInChassis
;
90 UINT8 NumberOfContainedObjectHandles
;
91 UINT16 ContainedObjectHandles
[1];
95 UINT8 ContainedElementType
;
96 UINT8 ContainedElementMinimum
;
97 UINT8 ContainedElementMaximum
;
101 SMBIOS_TABLE_HEADER Hdr
;
102 SMBIOS_TABLE_STRING Manufacturer
;
104 SMBIOS_TABLE_STRING Version
;
105 SMBIOS_TABLE_STRING SerialNumber
;
106 SMBIOS_TABLE_STRING AssetTag
;
108 UINT8 PowerSupplyState
;
110 UINT8 SecurityStatus
;
113 UINT8 NumberofPowerCords
;
114 UINT8 ContainedElementCount
;
115 UINT8 ContainedElementRecordLength
;
116 CONTAINED_ELEMENT ContainedElements
[1];
117 } SMBIOS_TABLE_TYPE3
;
120 SMBIOS_TABLE_HEADER Hdr
;
123 UINT8 ProcessorFamily
;
124 SMBIOS_TABLE_STRING ProcessorManufacture
;
125 UINT8 ProcessorId
[8];
126 SMBIOS_TABLE_STRING ProcessorVersion
;
128 UINT16 ExternalClock
;
132 UINT8 ProcessorUpgrade
;
133 UINT16 L1CacheHandle
;
134 UINT16 L2CacheHandle
;
135 UINT16 L3CacheHandle
;
136 SMBIOS_TABLE_STRING SerialNumber
;
137 SMBIOS_TABLE_STRING AssetTag
;
138 SMBIOS_TABLE_STRING PartNumber
;
139 } SMBIOS_TABLE_TYPE4
;
142 SMBIOS_TABLE_HEADER Hdr
;
143 UINT8 ErrDetectMethod
;
144 UINT8 ErrCorrectCapability
;
145 UINT8 SupportInterleave
;
146 UINT8 CurrentInterleave
;
147 UINT8 MaxMemoryModuleSize
;
149 UINT16 SupportMemoryType
;
150 UINT8 MemoryModuleVoltage
;
151 UINT8 AssociatedMemorySlotNum
;
152 UINT16 MemoryModuleConfigHandles
[1];
153 // UINT8 EnableErrCorrectCapabilities;
154 } SMBIOS_TABLE_TYPE5
;
157 SMBIOS_TABLE_HEADER Hdr
;
158 SMBIOS_TABLE_STRING SocketDesignation
;
159 UINT8 BankConnections
;
161 UINT16 CurrentMemoryType
;
165 } SMBIOS_TABLE_TYPE6
;
168 SMBIOS_TABLE_HEADER Hdr
;
169 SMBIOS_TABLE_STRING SocketDesignation
;
170 UINT16 CacheConfiguration
;
171 UINT16 MaximumCacheSize
;
172 UINT16 InstalledSize
;
173 UINT16 SupportedSRAMType
;
174 UINT16 CurrentSRAMType
;
176 UINT8 ErrorCorrectionType
;
177 UINT8 SystemCacheType
;
179 } SMBIOS_TABLE_TYPE7
;
182 SMBIOS_TABLE_HEADER Hdr
;
183 SMBIOS_TABLE_STRING InternalReferenceDesignator
;
184 UINT8 InternalConnectorType
;
185 SMBIOS_TABLE_STRING ExternalReferenceDesignator
;
186 UINT8 ExternalConnectorType
;
188 } SMBIOS_TABLE_TYPE8
;
191 SMBIOS_TABLE_HEADER Hdr
;
192 SMBIOS_TABLE_STRING SlotDesignation
;
194 UINT8 SlotDataBusWidth
;
198 UINT8 SlotCharacteristics1
;
199 UINT8 SlotCharacteristics2
;
200 } SMBIOS_TABLE_TYPE9
;
204 SMBIOS_TABLE_STRING DescriptionString
;
208 SMBIOS_TABLE_HEADER Hdr
;
209 DEVICE_STRUCT Device
[1];
210 } SMBIOS_TABLE_TYPE10
;
213 SMBIOS_TABLE_HEADER Hdr
;
215 } SMBIOS_TABLE_TYPE11
;
218 SMBIOS_TABLE_HEADER Hdr
;
220 } SMBIOS_TABLE_TYPE12
;
223 SMBIOS_TABLE_HEADER Hdr
;
224 UINT8 InstallableLanguages
;
227 SMBIOS_TABLE_STRING CurrentLanguages
;
228 } SMBIOS_TABLE_TYPE13
;
236 SMBIOS_TABLE_HEADER Hdr
;
237 SMBIOS_TABLE_STRING GroupName
;
238 GROUP_STRUCT Group
[1];
239 } SMBIOS_TABLE_TYPE14
;
243 UINT8 DataFormatType
;
247 SMBIOS_TABLE_HEADER Hdr
;
248 UINT16 LogAreaLength
;
249 UINT16 LogHeaderStartOffset
;
250 UINT16 LogDataStartOffset
;
253 UINT32 LogChangeToken
;
254 UINT32 AccessMethodAddress
;
255 UINT8 LogHeaderFormat
;
256 UINT8 NumberOfSupportedLogTypeDescriptors
;
257 UINT8 LengthOfLogTypeDescriptor
;
258 EVENT_LOG_TYPE EventLogTypeDescriptors
[1];
259 } SMBIOS_TABLE_TYPE15
;
262 SMBIOS_TABLE_HEADER Hdr
;
265 UINT8 MemoryErrorCorrection
;
266 UINT32 MaximumCapacity
;
267 UINT16 MemoryErrorInformationHandle
;
268 UINT16 NumberOfMemoryDevices
;
269 } SMBIOS_TABLE_TYPE16
;
272 SMBIOS_TABLE_HEADER Hdr
;
273 UINT16 MemoryArrayHandle
;
274 UINT16 MemoryErrorInformationHandle
;
280 SMBIOS_TABLE_STRING DeviceLocator
;
281 SMBIOS_TABLE_STRING BankLocator
;
285 SMBIOS_TABLE_STRING Manufacturer
;
286 SMBIOS_TABLE_STRING SerialNumber
;
287 SMBIOS_TABLE_STRING AssetTag
;
288 SMBIOS_TABLE_STRING PartNumber
;
289 } SMBIOS_TABLE_TYPE17
;
292 SMBIOS_TABLE_HEADER Hdr
;
294 UINT8 ErrorGranularity
;
295 UINT8 ErrorOperation
;
296 UINT32 VendorSyndrome
;
297 UINT32 MemoryArrayErrorAddress
;
298 UINT32 DeviceErrorAddress
;
299 UINT32 ErrorResolution
;
300 } SMBIOS_TABLE_TYPE18
;
303 SMBIOS_TABLE_HEADER Hdr
;
304 UINT32 StartingAddress
;
305 UINT32 EndingAddress
;
306 UINT16 MemoryArrayHandle
;
307 UINT8 PartitionWidth
;
308 } SMBIOS_TABLE_TYPE19
;
311 SMBIOS_TABLE_HEADER Hdr
;
312 UINT32 StartingAddress
;
313 UINT32 EndingAddress
;
314 UINT16 MemoryDeviceHandle
;
315 UINT16 MemoryArrayMappedAddressHandle
;
316 UINT8 PartitionRowPosition
;
317 UINT8 InterleavePosition
;
318 UINT8 InterleavedDataDepth
;
319 } SMBIOS_TABLE_TYPE20
;
322 SMBIOS_TABLE_HEADER Hdr
;
325 UINT8 NumberOfButtons
;
326 } SMBIOS_TABLE_TYPE21
;
329 SMBIOS_TABLE_HEADER Hdr
;
330 SMBIOS_TABLE_STRING Location
;
331 SMBIOS_TABLE_STRING Manufacturer
;
332 SMBIOS_TABLE_STRING ManufactureDate
;
333 SMBIOS_TABLE_STRING SerialNumber
;
334 SMBIOS_TABLE_STRING DeviceName
;
335 UINT8 DeviceChemistry
;
336 UINT16 DeviceCapacity
;
337 UINT16 DesignVoltage
;
338 SMBIOS_TABLE_STRING SBDSVersionNumber
;
339 UINT8 MaximumErrorInBatteryData
;
340 UINT16 SBDSSerialNumber
;
341 UINT16 SBDSManufactureDate
;
342 SMBIOS_TABLE_STRING SBDSDeviceChemistry
;
343 UINT8 DesignCapacityMultiplier
;
345 } SMBIOS_TABLE_TYPE22
;
348 SMBIOS_TABLE_HEADER Hdr
;
352 UINT16 TimerInterval
;
354 } SMBIOS_TABLE_TYPE23
;
357 SMBIOS_TABLE_HEADER Hdr
;
358 UINT8 HardwareSecuritySettings
;
359 } SMBIOS_TABLE_TYPE24
;
362 SMBIOS_TABLE_HEADER Hdr
;
363 UINT8 NextScheduledPowerOnMonth
;
364 UINT8 NextScheduledPowerOnDayOfMonth
;
365 UINT8 NextScheduledPowerOnHour
;
366 UINT8 NextScheduledPowerOnMinute
;
367 UINT8 NextScheduledPowerOnSecond
;
368 } SMBIOS_TABLE_TYPE25
;
371 SMBIOS_TABLE_HEADER Hdr
;
372 SMBIOS_TABLE_STRING Description
;
373 UINT8 LocationAndStatus
;
381 } SMBIOS_TABLE_TYPE26
;
384 SMBIOS_TABLE_HEADER Hdr
;
385 UINT16 TemperatureProbeHandle
;
386 UINT8 DeviceTypeAndStatus
;
387 UINT8 CoolingUnitGroup
;
390 } SMBIOS_TABLE_TYPE27
;
393 SMBIOS_TABLE_HEADER Hdr
;
394 SMBIOS_TABLE_STRING Description
;
395 UINT8 LocationAndStatus
;
403 } SMBIOS_TABLE_TYPE28
;
406 SMBIOS_TABLE_HEADER Hdr
;
407 SMBIOS_TABLE_STRING Description
;
408 UINT8 LocationAndStatus
;
416 } SMBIOS_TABLE_TYPE29
;
419 SMBIOS_TABLE_HEADER Hdr
;
420 SMBIOS_TABLE_STRING ManufacturerName
;
422 } SMBIOS_TABLE_TYPE30
;
425 SMBIOS_TABLE_HEADER Hdr
;
433 } SMBIOS_TABLE_TYPE31
;
436 SMBIOS_TABLE_HEADER Hdr
;
439 } SMBIOS_TABLE_TYPE32
;
442 SMBIOS_TABLE_HEADER Hdr
;
444 UINT8 ErrorGranularity
;
445 UINT8 ErrorOperation
;
446 UINT32 VendorSyndrome
;
447 UINT64 MemoryArrayErrorAddress
;
448 UINT64 DeviceErrorAddress
;
449 UINT32 ErrorResolution
;
450 } SMBIOS_TABLE_TYPE33
;
453 SMBIOS_TABLE_HEADER Hdr
;
454 SMBIOS_TABLE_STRING Description
;
458 } SMBIOS_TABLE_TYPE34
;
461 SMBIOS_TABLE_HEADER Hdr
;
462 SMBIOS_TABLE_STRING Description
;
463 UINT16 ManagementDeviceHandle
;
464 UINT16 ComponentHandle
;
465 UINT16 ThresholdHandle
;
466 } SMBIOS_TABLE_TYPE35
;
469 SMBIOS_TABLE_HEADER Hdr
;
470 UINT16 LowerThresholdNonCritical
;
471 UINT16 UpperThresholdNonCritical
;
472 UINT16 LowerThresholdCritical
;
473 UINT16 UpperThresholdCritical
;
474 UINT16 LowerThresholdNonRecoverable
;
475 UINT16 UpperThresholdNonRecoverable
;
476 } SMBIOS_TABLE_TYPE36
;
484 SMBIOS_TABLE_HEADER Hdr
;
486 UINT8 MaximumChannelLoad
;
487 UINT8 MemoryDeviceCount
;
488 MEMORY_DEVICE MemoryDevice
[1];
489 } SMBIOS_TABLE_TYPE37
;
492 SMBIOS_TABLE_HEADER Hdr
;
494 UINT8 IPMISpecificationRevision
;
495 UINT8 I2CSlaveAddress
;
496 UINT8 NVStorageDeviceAddress
;
498 UINT8 BaseAddressModifier_InterruptInfo
;
499 UINT8 InterruptNumber
;
500 } SMBIOS_TABLE_TYPE38
;
503 SMBIOS_TABLE_HEADER Hdr
;
504 UINT8 PowerUnitGroup
;
505 SMBIOS_TABLE_STRING Location
;
506 SMBIOS_TABLE_STRING DeviceName
;
507 SMBIOS_TABLE_STRING Manufacturer
;
508 SMBIOS_TABLE_STRING SerialNumber
;
509 SMBIOS_TABLE_STRING AssetTagNumber
;
510 SMBIOS_TABLE_STRING ModelPartNumber
;
511 SMBIOS_TABLE_STRING RevisionLevel
;
512 UINT16 MaxPowerCapacity
;
513 UINT16 PowerSupplyCharacteristics
;
514 UINT16 InputVoltageProbeHandle
;
515 UINT16 CoolingDeviceHandle
;
516 UINT16 InputCurrentProbeHandle
;
517 } SMBIOS_TABLE_TYPE39
;
520 SMBIOS_TABLE_HEADER Hdr
;
521 } SMBIOS_TABLE_TYPE126
;
524 SMBIOS_TABLE_HEADER Hdr
;
525 } SMBIOS_TABLE_TYPE127
;
528 SMBIOS_TABLE_HEADER
*Hdr
;
529 SMBIOS_TABLE_TYPE0
*Type0
;
530 SMBIOS_TABLE_TYPE1
*Type1
;
531 SMBIOS_TABLE_TYPE2
*Type2
;
532 SMBIOS_TABLE_TYPE3
*Type3
;
533 SMBIOS_TABLE_TYPE4
*Type4
;
534 SMBIOS_TABLE_TYPE5
*Type5
;
535 SMBIOS_TABLE_TYPE6
*Type6
;
536 SMBIOS_TABLE_TYPE7
*Type7
;
537 SMBIOS_TABLE_TYPE8
*Type8
;
538 SMBIOS_TABLE_TYPE9
*Type9
;
539 SMBIOS_TABLE_TYPE10
*Type10
;
540 SMBIOS_TABLE_TYPE11
*Type11
;
541 SMBIOS_TABLE_TYPE12
*Type12
;
542 SMBIOS_TABLE_TYPE13
*Type13
;
543 SMBIOS_TABLE_TYPE14
*Type14
;
544 SMBIOS_TABLE_TYPE15
*Type15
;
545 SMBIOS_TABLE_TYPE16
*Type16
;
546 SMBIOS_TABLE_TYPE17
*Type17
;
547 SMBIOS_TABLE_TYPE18
*Type18
;
548 SMBIOS_TABLE_TYPE19
*Type19
;
549 SMBIOS_TABLE_TYPE20
*Type20
;
550 SMBIOS_TABLE_TYPE21
*Type21
;
551 SMBIOS_TABLE_TYPE22
*Type22
;
552 SMBIOS_TABLE_TYPE23
*Type23
;
553 SMBIOS_TABLE_TYPE24
*Type24
;
554 SMBIOS_TABLE_TYPE25
*Type25
;
555 SMBIOS_TABLE_TYPE26
*Type26
;
556 SMBIOS_TABLE_TYPE27
*Type27
;
557 SMBIOS_TABLE_TYPE28
*Type28
;
558 SMBIOS_TABLE_TYPE29
*Type29
;
559 SMBIOS_TABLE_TYPE30
*Type30
;
560 SMBIOS_TABLE_TYPE31
*Type31
;
561 SMBIOS_TABLE_TYPE32
*Type32
;
562 SMBIOS_TABLE_TYPE33
*Type33
;
563 SMBIOS_TABLE_TYPE34
*Type34
;
564 SMBIOS_TABLE_TYPE35
*Type35
;
565 SMBIOS_TABLE_TYPE36
*Type36
;
566 SMBIOS_TABLE_TYPE37
*Type37
;
567 SMBIOS_TABLE_TYPE38
*Type38
;
568 SMBIOS_TABLE_TYPE39
*Type39
;
569 SMBIOS_TABLE_TYPE126
*Type126
;
570 SMBIOS_TABLE_TYPE127
*Type127
;
572 } SMBIOS_STRUCTURE_POINTER
;