• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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