Home | History | Annotate | Download | only in IndustryStandard
      1 /** @file
      2   Intel Firmware Version Info (FVI) related definitions.
      3 
      4   @todo update document/spec reference
      5 
      6   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
      7   This program and the accompanying materials
      8   are licensed and made available under the terms and conditions of the BSD License
      9   which accompanies this distribution.  The full text of the license may be found at
     10   http://opensource.org/licenses/bsd-license.php
     11 
     12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 @par Specification Reference:
     16   System Management BIOS (SMBIOS) Reference Specification v3.0.0 dated 2015-Feb-12
     17   http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf
     18 
     19 **/
     20 
     21 #ifndef __FIRMWARE_VERSION_INFO_H__
     22 #define __FIRMWARE_VERSION_INFO_H__
     23 
     24 #include <IndustryStandard/SmBios.h>
     25 
     26 #define INTEL_FIRMWARE_VERSION_INFO_GROUP_NAME    "Firmware Version Info"
     27 
     28 #pragma pack(1)
     29 
     30 ///
     31 /// Firmware Version Structure
     32 ///
     33 typedef struct {
     34   UINT8                       MajorVersion;
     35   UINT8                       MinorVersion;
     36   UINT8                       Revision;
     37   UINT16                      BuildNumber;
     38 } INTEL_FIRMWARE_VERSION;
     39 
     40 ///
     41 /// Firmware Version Info (FVI) Structure
     42 ///
     43 typedef struct {
     44   SMBIOS_TABLE_STRING         ComponentName;  ///< String Index of Component Name
     45   SMBIOS_TABLE_STRING         VersionString;  ///< String Index of Version String
     46   INTEL_FIRMWARE_VERSION      Version;        ///< Firmware version
     47 } INTEL_FIRMWARE_VERSION_INFO;
     48 
     49 ///
     50 /// SMBIOS OEM Type Intel Firmware Version Info (FVI) Structure
     51 ///
     52 typedef struct {
     53   SMBIOS_STRUCTURE            Header;         ///< SMBIOS structure header
     54   UINT8                       Count;          ///< Number of FVI entries in this structure
     55   INTEL_FIRMWARE_VERSION_INFO Fvi[1];         ///< FVI structure(s)
     56 } SMBIOS_TABLE_TYPE_OEM_INTEL_FVI;
     57 
     58 #pragma pack()
     59 
     60 #endif
     61