b982d79fd176f89ebead96fd8c5adae770b5c98d
[mirror_edk2.git] / IntelSiliconPkg / Include / IndustryStandard / FirmwareVersionInfo.h
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