1 /*++ 2 3 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR> 4 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 8 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. 11 12 Module Name: 13 14 Smbios.h 15 16 Abstract: 17 18 --*/ 19 20 #ifndef _SMBIOS_TABLE_H_ 21 #define _SMBIOS_TABLE_H_ 22 23 #include "Tiano.h" 24 25 // 26 // Reference SMBIOS 2.6, chapter 3.1.2. 27 // For v2.1 and later, handle values in the range 0FF00h to 0FFFFh are reserved for 28 // use by this specification. 29 // 30 #define SMBIOS_HANDLE_RESERVED_BEGIN 0xFF00 31 32 // 33 // Reference SMBIOS 2.6, chapter 3.1.3 34 // Each text string is limited to 64 significant characters due to system MIF limitations 35 // 36 #define SMBIOS_STRING_MAX_LENGTH 64 37 38 // 39 // Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.43. 40 // Upper-level software that interprets the SMBIOS structure-table should bypass an 41 // Inactive structure just like a structure type that the software does not recognize. 42 // 43 #define SMBIOS_TYPE_INACTIVE 0x007E 44 45 // 46 // End-of-table type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter 3.3.44. 47 // The end-of-table indicator is used in the last physical structure in a table 48 // 49 #define SMBIOS_TYPE_END_OF_TABLE 0x007F 50 51 #pragma pack(1) 52 53 typedef UINT8 SMBIOS_TABLE_STRING; 54 55 typedef struct { 56 UINT8 AnchorString[4]; 57 UINT8 EntryPointStructureChecksum; 58 UINT8 EntryPointLength; 59 UINT8 MajorVersion; 60 UINT8 MinorVersion; 61 UINT16 MaxStructureSize; 62 UINT8 EntryPointRevision; 63 UINT8 FormattedArea[5]; 64 UINT8 IntermediateAnchorString[5]; 65 UINT8 IntermediateChecksum; 66 UINT16 TableLength; 67 UINT32 TableAddress; 68 UINT16 NumberOfSmbiosStructures; 69 UINT8 SmbiosBcdRevision; 70 } SMBIOS_TABLE_STRUCTURE; 71 72 typedef struct { 73 UINT8 Type; 74 UINT8 Length; 75 UINT16 Handle; 76 } SMBIOS_TABLE_HEADER; 77 78 typedef struct { 79 SMBIOS_TABLE_HEADER Hdr; 80 SMBIOS_TABLE_STRING Vendor; 81 SMBIOS_TABLE_STRING BiosVersion; 82 UINT16 BiosSegment; 83 SMBIOS_TABLE_STRING BiosReleaseDate; 84 UINT8 BiosSize; 85 UINT64 BiosCharacteristics; 86 UINT8 BIOSCharacteristicsExtensionBytes[2]; 87 UINT8 SystemBiosMajorRelease; 88 UINT8 SystemBiosMinorRelease; 89 UINT8 EmbeddedControllerFirmwareMajorRelease; 90 UINT8 EmbeddedControllerFirmwareMinorRelease; 91 } SMBIOS_TABLE_TYPE0; 92 93 typedef struct { 94 SMBIOS_TABLE_HEADER Hdr; 95 SMBIOS_TABLE_STRING Manufacturer; 96 SMBIOS_TABLE_STRING ProductName; 97 SMBIOS_TABLE_STRING Version; 98 SMBIOS_TABLE_STRING SerialNumber; 99 EFI_GUID Uuid; 100 UINT8 WakeUpType; 101 SMBIOS_TABLE_STRING SKUNumber; 102 SMBIOS_TABLE_STRING Family; 103 } SMBIOS_TABLE_TYPE1; 104 105 typedef struct { 106 SMBIOS_TABLE_HEADER Hdr; 107 SMBIOS_TABLE_STRING Manufacturer; 108 SMBIOS_TABLE_STRING ProductName; 109 SMBIOS_TABLE_STRING Version; 110 SMBIOS_TABLE_STRING SerialNumber; 111 SMBIOS_TABLE_STRING AssetTag; 112 UINT8 FeatureFlag; 113 SMBIOS_TABLE_STRING LocationInChassis; 114 UINT16 ChassisHandle; 115 UINT8 BoardType; 116 UINT8 NumberOfContainedObjectHandles; 117 UINT16 ContainedObjectHandles[1]; 118 } SMBIOS_TABLE_TYPE2; 119 120 typedef struct { 121 UINT8 ContainedElementType; 122 UINT8 ContainedElementMinimum; 123 UINT8 ContainedElementMaximum; 124 } CONTAINED_ELEMENT; 125 126 typedef struct { 127 SMBIOS_TABLE_HEADER Hdr; 128 SMBIOS_TABLE_STRING Manufacturer; 129 UINT8 Type; 130 SMBIOS_TABLE_STRING Version; 131 SMBIOS_TABLE_STRING SerialNumber; 132 SMBIOS_TABLE_STRING AssetTag; 133 UINT8 BootupState; 134 UINT8 PowerSupplyState; 135 UINT8 ThermalState; 136 UINT8 SecurityStatus; 137 UINT8 OemDefined[4]; 138 UINT8 Height; 139 UINT8 NumberofPowerCords; 140 UINT8 ContainedElementCount; 141 UINT8 ContainedElementRecordLength; 142 CONTAINED_ELEMENT ContainedElements[1]; 143 } SMBIOS_TABLE_TYPE3; 144 145 typedef struct { 146 SMBIOS_TABLE_HEADER Hdr; 147 UINT8 Socket; 148 UINT8 ProcessorType; 149 UINT8 ProcessorFamily; 150 SMBIOS_TABLE_STRING ProcessorManufacture; 151 UINT8 ProcessorId[8]; 152 SMBIOS_TABLE_STRING ProcessorVersion; 153 UINT8 Voltage; 154 UINT16 ExternalClock; 155 UINT16 MaxSpeed; 156 UINT16 CurrentSpeed; 157 UINT8 Status; 158 UINT8 ProcessorUpgrade; 159 UINT16 L1CacheHandle; 160 UINT16 L2CacheHandle; 161 UINT16 L3CacheHandle; 162 SMBIOS_TABLE_STRING SerialNumber; 163 SMBIOS_TABLE_STRING AssetTag; 164 SMBIOS_TABLE_STRING PartNumber; 165 // 166 // Add for smbios 2.5 167 // 168 UINT8 CoreCount; 169 UINT8 EnabledCoreCount; 170 UINT8 ThreadCount; 171 UINT16 ProcessorCharacteristics; 172 // 173 // Add for smbios 2.6 174 // 175 UINT16 ProcessorFamily2; 176 } SMBIOS_TABLE_TYPE4; 177 178 typedef struct { 179 SMBIOS_TABLE_HEADER Hdr; 180 UINT8 ErrDetectMethod; 181 UINT8 ErrCorrectCapability; 182 UINT8 SupportInterleave; 183 UINT8 CurrentInterleave; 184 UINT8 MaxMemoryModuleSize; 185 UINT16 SupportSpeed; 186 UINT16 SupportMemoryType; 187 UINT8 MemoryModuleVoltage; 188 UINT8 AssociatedMemorySlotNum; 189 UINT16 MemoryModuleConfigHandles[1]; 190 // UINT8 EnableErrCorrectCapabilities; 191 } SMBIOS_TABLE_TYPE5; 192 193 typedef struct { 194 SMBIOS_TABLE_HEADER Hdr; 195 SMBIOS_TABLE_STRING SocketDesignation; 196 UINT8 BankConnections; 197 UINT8 CurrentSpeed; 198 UINT16 CurrentMemoryType; 199 UINT8 InstalledSize; 200 UINT8 EnabledSize; 201 UINT8 ErrorStatus; 202 } SMBIOS_TABLE_TYPE6; 203 204 typedef struct { 205 SMBIOS_TABLE_HEADER Hdr; 206 SMBIOS_TABLE_STRING SocketDesignation; 207 UINT16 CacheConfiguration; 208 UINT16 MaximumCacheSize; 209 UINT16 InstalledSize; 210 UINT16 SupportedSRAMType; 211 UINT16 CurrentSRAMType; 212 UINT8 CacheSpeed; 213 UINT8 ErrorCorrectionType; 214 UINT8 SystemCacheType; 215 UINT8 Associativity; 216 } SMBIOS_TABLE_TYPE7; 217 218 typedef struct { 219 SMBIOS_TABLE_HEADER Hdr; 220 SMBIOS_TABLE_STRING InternalReferenceDesignator; 221 UINT8 InternalConnectorType; 222 SMBIOS_TABLE_STRING ExternalReferenceDesignator; 223 UINT8 ExternalConnectorType; 224 UINT8 PortType; 225 } SMBIOS_TABLE_TYPE8; 226 227 typedef struct { 228 SMBIOS_TABLE_HEADER Hdr; 229 SMBIOS_TABLE_STRING SlotDesignation; 230 UINT8 SlotType; 231 UINT8 SlotDataBusWidth; 232 UINT8 CurrentUsage; 233 UINT8 SlotLength; 234 UINT16 SlotID; 235 UINT8 SlotCharacteristics1; 236 UINT8 SlotCharacteristics2; 237 // 238 // Add for smbios 2.6 239 // 240 UINT16 SegmentGroupNum; 241 UINT8 BusNum; 242 UINT8 DevFuncNum; 243 } SMBIOS_TABLE_TYPE9; 244 245 typedef struct { 246 UINT8 DeviceType; 247 SMBIOS_TABLE_STRING DescriptionString; 248 } DEVICE_STRUCT; 249 250 typedef struct { 251 SMBIOS_TABLE_HEADER Hdr; 252 DEVICE_STRUCT Device[1]; 253 } SMBIOS_TABLE_TYPE10; 254 255 typedef struct { 256 SMBIOS_TABLE_HEADER Hdr; 257 UINT8 StringCount; 258 } SMBIOS_TABLE_TYPE11; 259 260 typedef struct { 261 SMBIOS_TABLE_HEADER Hdr; 262 UINT8 StringCount; 263 } SMBIOS_TABLE_TYPE12; 264 265 typedef struct { 266 SMBIOS_TABLE_HEADER Hdr; 267 UINT8 InstallableLanguages; 268 UINT8 Flags; 269 UINT8 reserved[15]; 270 SMBIOS_TABLE_STRING CurrentLanguages; 271 } SMBIOS_TABLE_TYPE13; 272 273 typedef struct { 274 UINT8 ItemType; 275 UINT16 ItemHandle; 276 } GROUP_STRUCT; 277 278 typedef struct { 279 SMBIOS_TABLE_HEADER Hdr; 280 SMBIOS_TABLE_STRING GroupName; 281 GROUP_STRUCT Group[1]; 282 } SMBIOS_TABLE_TYPE14; 283 284 typedef struct { 285 UINT8 LogType; 286 UINT8 DataFormatType; 287 } EVENT_LOG_TYPE; 288 289 typedef struct { 290 SMBIOS_TABLE_HEADER Hdr; 291 UINT16 LogAreaLength; 292 UINT16 LogHeaderStartOffset; 293 UINT16 LogDataStartOffset; 294 UINT8 AccessMethod; 295 UINT8 LogStatus; 296 UINT32 LogChangeToken; 297 UINT32 AccessMethodAddress; 298 UINT8 LogHeaderFormat; 299 UINT8 NumberOfSupportedLogTypeDescriptors; 300 UINT8 LengthOfLogTypeDescriptor; 301 EVENT_LOG_TYPE EventLogTypeDescriptors[1]; 302 } SMBIOS_TABLE_TYPE15; 303 304 typedef struct { 305 SMBIOS_TABLE_HEADER Hdr; 306 UINT8 Location; 307 UINT8 Use; 308 UINT8 MemoryErrorCorrection; 309 UINT32 MaximumCapacity; 310 UINT16 MemoryErrorInformationHandle; 311 UINT16 NumberOfMemoryDevices; 312 } SMBIOS_TABLE_TYPE16; 313 314 typedef struct { 315 SMBIOS_TABLE_HEADER Hdr; 316 UINT16 MemoryArrayHandle; 317 UINT16 MemoryErrorInformationHandle; 318 UINT16 TotalWidth; 319 UINT16 DataWidth; 320 UINT16 Size; 321 UINT8 FormFactor; 322 UINT8 DeviceSet; 323 SMBIOS_TABLE_STRING DeviceLocator; 324 SMBIOS_TABLE_STRING BankLocator; 325 UINT8 MemoryType; 326 UINT16 TypeDetail; 327 UINT16 Speed; 328 SMBIOS_TABLE_STRING Manufacturer; 329 SMBIOS_TABLE_STRING SerialNumber; 330 SMBIOS_TABLE_STRING AssetTag; 331 SMBIOS_TABLE_STRING PartNumber; 332 // 333 // Add for smbios 2.6 334 // 335 UINT8 Attributes; 336 } SMBIOS_TABLE_TYPE17; 337 338 typedef struct { 339 SMBIOS_TABLE_HEADER Hdr; 340 UINT8 ErrorType; 341 UINT8 ErrorGranularity; 342 UINT8 ErrorOperation; 343 UINT32 VendorSyndrome; 344 UINT32 MemoryArrayErrorAddress; 345 UINT32 DeviceErrorAddress; 346 UINT32 ErrorResolution; 347 } SMBIOS_TABLE_TYPE18; 348 349 typedef struct { 350 SMBIOS_TABLE_HEADER Hdr; 351 UINT32 StartingAddress; 352 UINT32 EndingAddress; 353 UINT16 MemoryArrayHandle; 354 UINT8 PartitionWidth; 355 } SMBIOS_TABLE_TYPE19; 356 357 typedef struct { 358 SMBIOS_TABLE_HEADER Hdr; 359 UINT32 StartingAddress; 360 UINT32 EndingAddress; 361 UINT16 MemoryDeviceHandle; 362 UINT16 MemoryArrayMappedAddressHandle; 363 UINT8 PartitionRowPosition; 364 UINT8 InterleavePosition; 365 UINT8 InterleavedDataDepth; 366 } SMBIOS_TABLE_TYPE20; 367 368 typedef struct { 369 SMBIOS_TABLE_HEADER Hdr; 370 UINT8 Type; 371 UINT8 Interface; 372 UINT8 NumberOfButtons; 373 } SMBIOS_TABLE_TYPE21; 374 375 typedef struct { 376 SMBIOS_TABLE_HEADER Hdr; 377 SMBIOS_TABLE_STRING Location; 378 SMBIOS_TABLE_STRING Manufacturer; 379 SMBIOS_TABLE_STRING ManufactureDate; 380 SMBIOS_TABLE_STRING SerialNumber; 381 SMBIOS_TABLE_STRING DeviceName; 382 UINT8 DeviceChemistry; 383 UINT16 DeviceCapacity; 384 UINT16 DesignVoltage; 385 SMBIOS_TABLE_STRING SBDSVersionNumber; 386 UINT8 MaximumErrorInBatteryData; 387 UINT16 SBDSSerialNumber; 388 UINT16 SBDSManufactureDate; 389 SMBIOS_TABLE_STRING SBDSDeviceChemistry; 390 UINT8 DesignCapacityMultiplier; 391 UINT32 OEMSpecific; 392 } SMBIOS_TABLE_TYPE22; 393 394 typedef struct { 395 SMBIOS_TABLE_HEADER Hdr; 396 UINT8 Capabilities; 397 UINT16 ResetCount; 398 UINT16 ResetLimit; 399 UINT16 TimerInterval; 400 UINT16 Timeout; 401 } SMBIOS_TABLE_TYPE23; 402 403 typedef struct { 404 SMBIOS_TABLE_HEADER Hdr; 405 UINT8 HardwareSecuritySettings; 406 } SMBIOS_TABLE_TYPE24; 407 408 typedef struct { 409 SMBIOS_TABLE_HEADER Hdr; 410 UINT8 NextScheduledPowerOnMonth; 411 UINT8 NextScheduledPowerOnDayOfMonth; 412 UINT8 NextScheduledPowerOnHour; 413 UINT8 NextScheduledPowerOnMinute; 414 UINT8 NextScheduledPowerOnSecond; 415 } SMBIOS_TABLE_TYPE25; 416 417 typedef struct { 418 SMBIOS_TABLE_HEADER Hdr; 419 SMBIOS_TABLE_STRING Description; 420 UINT8 LocationAndStatus; 421 UINT16 MaximumValue; 422 UINT16 MinimumValue; 423 UINT16 Resolution; 424 UINT16 Tolerance; 425 UINT16 Accuracy; 426 UINT32 OEMDefined; 427 UINT16 NominalValue; 428 } SMBIOS_TABLE_TYPE26; 429 430 typedef struct { 431 SMBIOS_TABLE_HEADER Hdr; 432 UINT16 TemperatureProbeHandle; 433 UINT8 DeviceTypeAndStatus; 434 UINT8 CoolingUnitGroup; 435 UINT32 OEMDefined; 436 UINT16 NominalSpeed; 437 } SMBIOS_TABLE_TYPE27; 438 439 typedef struct { 440 SMBIOS_TABLE_HEADER Hdr; 441 SMBIOS_TABLE_STRING Description; 442 UINT8 LocationAndStatus; 443 UINT16 MaximumValue; 444 UINT16 MinimumValue; 445 UINT16 Resolution; 446 UINT16 Tolerance; 447 UINT16 Accuracy; 448 UINT32 OEMDefined; 449 UINT16 NominalValue; 450 } SMBIOS_TABLE_TYPE28; 451 452 typedef struct { 453 SMBIOS_TABLE_HEADER Hdr; 454 SMBIOS_TABLE_STRING Description; 455 UINT8 LocationAndStatus; 456 UINT16 MaximumValue; 457 UINT16 MinimumValue; 458 UINT16 Resolution; 459 UINT16 Tolerance; 460 UINT16 Accuracy; 461 UINT32 OEMDefined; 462 UINT16 NominalValue; 463 } SMBIOS_TABLE_TYPE29; 464 465 typedef struct { 466 SMBIOS_TABLE_HEADER Hdr; 467 SMBIOS_TABLE_STRING ManufacturerName; 468 UINT8 Connections; 469 } SMBIOS_TABLE_TYPE30; 470 471 typedef struct { 472 SMBIOS_TABLE_HEADER Hdr; 473 UINT8 Checksum; 474 UINT8 Reserved1; 475 UINT16 Reserved2; 476 UINT32 BisEntry16; 477 UINT32 BisEntry32; 478 UINT64 Reserved3; 479 UINT32 Reserved4; 480 } SMBIOS_TABLE_TYPE31; 481 482 typedef struct { 483 SMBIOS_TABLE_HEADER Hdr; 484 UINT8 Reserved[6]; 485 UINT8 BootStatus[1]; 486 } SMBIOS_TABLE_TYPE32; 487 488 typedef struct { 489 SMBIOS_TABLE_HEADER Hdr; 490 UINT8 ErrorType; 491 UINT8 ErrorGranularity; 492 UINT8 ErrorOperation; 493 UINT32 VendorSyndrome; 494 UINT64 MemoryArrayErrorAddress; 495 UINT64 DeviceErrorAddress; 496 UINT32 ErrorResolution; 497 } SMBIOS_TABLE_TYPE33; 498 499 typedef struct { 500 SMBIOS_TABLE_HEADER Hdr; 501 SMBIOS_TABLE_STRING Description; 502 UINT8 Type; 503 UINT32 Address; 504 UINT8 AddressType; 505 } SMBIOS_TABLE_TYPE34; 506 507 typedef struct { 508 SMBIOS_TABLE_HEADER Hdr; 509 SMBIOS_TABLE_STRING Description; 510 UINT16 ManagementDeviceHandle; 511 UINT16 ComponentHandle; 512 UINT16 ThresholdHandle; 513 } SMBIOS_TABLE_TYPE35; 514 515 typedef struct { 516 SMBIOS_TABLE_HEADER Hdr; 517 UINT16 LowerThresholdNonCritical; 518 UINT16 UpperThresholdNonCritical; 519 UINT16 LowerThresholdCritical; 520 UINT16 UpperThresholdCritical; 521 UINT16 LowerThresholdNonRecoverable; 522 UINT16 UpperThresholdNonRecoverable; 523 } SMBIOS_TABLE_TYPE36; 524 525 typedef struct { 526 UINT8 DeviceLoad; 527 UINT16 DeviceHandle; 528 } MEMORY_DEVICE; 529 530 typedef struct { 531 SMBIOS_TABLE_HEADER Hdr; 532 UINT8 ChannelType; 533 UINT8 MaximumChannelLoad; 534 UINT8 MemoryDeviceCount; 535 MEMORY_DEVICE MemoryDevice[1]; 536 } SMBIOS_TABLE_TYPE37; 537 538 typedef struct { 539 SMBIOS_TABLE_HEADER Hdr; 540 UINT8 InterfaceType; 541 UINT8 IPMISpecificationRevision; 542 UINT8 I2CSlaveAddress; 543 UINT8 NVStorageDeviceAddress; 544 UINT64 BaseAddress; 545 UINT8 BaseAddressModifier_InterruptInfo; 546 UINT8 InterruptNumber; 547 } SMBIOS_TABLE_TYPE38; 548 549 typedef struct { 550 SMBIOS_TABLE_HEADER Hdr; 551 UINT8 PowerUnitGroup; 552 SMBIOS_TABLE_STRING Location; 553 SMBIOS_TABLE_STRING DeviceName; 554 SMBIOS_TABLE_STRING Manufacturer; 555 SMBIOS_TABLE_STRING SerialNumber; 556 SMBIOS_TABLE_STRING AssetTagNumber; 557 SMBIOS_TABLE_STRING ModelPartNumber; 558 SMBIOS_TABLE_STRING RevisionLevel; 559 UINT16 MaxPowerCapacity; 560 UINT16 PowerSupplyCharacteristics; 561 UINT16 InputVoltageProbeHandle; 562 UINT16 CoolingDeviceHandle; 563 UINT16 InputCurrentProbeHandle; 564 } SMBIOS_TABLE_TYPE39; 565 566 // 567 // Add type 40 and type 41 for smbios 2.6 568 // 569 typedef struct { 570 UINT8 EntryLength; 571 UINT16 ReferencedHandle; 572 UINT8 ReferencedOffset; 573 SMBIOS_TABLE_STRING EntryString; 574 UINT8 Value[1]; 575 }ADDITIONAL_INFORMATION_ENTRY; 576 577 typedef struct { 578 SMBIOS_TABLE_HEADER Hdr; 579 UINT8 NumberOfAdditionalInformationEntries; 580 ADDITIONAL_INFORMATION_ENTRY AdditionalInfoEntries[1]; 581 } SMBIOS_TABLE_TYPE40; 582 583 typedef struct { 584 SMBIOS_TABLE_HEADER Hdr; 585 SMBIOS_TABLE_STRING ReferenceDesignation; 586 UINT8 DeviceType; 587 UINT8 DeviceTypeInstance; 588 UINT16 SegmentGroupNum; 589 UINT8 BusNum; 590 UINT8 DevFuncNum; 591 } SMBIOS_TABLE_TYPE41; 592 593 typedef struct { 594 SMBIOS_TABLE_HEADER Hdr; 595 } SMBIOS_TABLE_TYPE126; 596 597 typedef struct { 598 SMBIOS_TABLE_HEADER Hdr; 599 } SMBIOS_TABLE_TYPE127; 600 601 typedef union { 602 SMBIOS_TABLE_HEADER *Hdr; 603 SMBIOS_TABLE_TYPE0 *Type0; 604 SMBIOS_TABLE_TYPE1 *Type1; 605 SMBIOS_TABLE_TYPE2 *Type2; 606 SMBIOS_TABLE_TYPE3 *Type3; 607 SMBIOS_TABLE_TYPE4 *Type4; 608 SMBIOS_TABLE_TYPE5 *Type5; 609 SMBIOS_TABLE_TYPE6 *Type6; 610 SMBIOS_TABLE_TYPE7 *Type7; 611 SMBIOS_TABLE_TYPE8 *Type8; 612 SMBIOS_TABLE_TYPE9 *Type9; 613 SMBIOS_TABLE_TYPE10 *Type10; 614 SMBIOS_TABLE_TYPE11 *Type11; 615 SMBIOS_TABLE_TYPE12 *Type12; 616 SMBIOS_TABLE_TYPE13 *Type13; 617 SMBIOS_TABLE_TYPE14 *Type14; 618 SMBIOS_TABLE_TYPE15 *Type15; 619 SMBIOS_TABLE_TYPE16 *Type16; 620 SMBIOS_TABLE_TYPE17 *Type17; 621 SMBIOS_TABLE_TYPE18 *Type18; 622 SMBIOS_TABLE_TYPE19 *Type19; 623 SMBIOS_TABLE_TYPE20 *Type20; 624 SMBIOS_TABLE_TYPE21 *Type21; 625 SMBIOS_TABLE_TYPE22 *Type22; 626 SMBIOS_TABLE_TYPE23 *Type23; 627 SMBIOS_TABLE_TYPE24 *Type24; 628 SMBIOS_TABLE_TYPE25 *Type25; 629 SMBIOS_TABLE_TYPE26 *Type26; 630 SMBIOS_TABLE_TYPE27 *Type27; 631 SMBIOS_TABLE_TYPE28 *Type28; 632 SMBIOS_TABLE_TYPE29 *Type29; 633 SMBIOS_TABLE_TYPE30 *Type30; 634 SMBIOS_TABLE_TYPE31 *Type31; 635 SMBIOS_TABLE_TYPE32 *Type32; 636 SMBIOS_TABLE_TYPE33 *Type33; 637 SMBIOS_TABLE_TYPE34 *Type34; 638 SMBIOS_TABLE_TYPE35 *Type35; 639 SMBIOS_TABLE_TYPE36 *Type36; 640 SMBIOS_TABLE_TYPE37 *Type37; 641 SMBIOS_TABLE_TYPE38 *Type38; 642 SMBIOS_TABLE_TYPE39 *Type39; 643 SMBIOS_TABLE_TYPE40 *Type40; 644 SMBIOS_TABLE_TYPE41 *Type41; 645 SMBIOS_TABLE_TYPE126 *Type126; 646 SMBIOS_TABLE_TYPE127 *Type127; 647 UINT8 *Raw; 648 } SMBIOS_STRUCTURE_POINTER; 649 650 #pragma pack() 651 652 #endif 653