blob: 4a9053c551f20e2d5abab52aa432c1542bcc9154 [file] [log] [blame]
Saurabh Mishra997e9f72022-11-22 13:15:10 +05301/** @file
2 Header file for Firmware Version Information
3
4 @copyright
5 Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR>
6
7 This program and the accompanying materials are licensed and made available under
8 the terms and conditions of the BSD License which accompanies this distribution.
9 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"
Kilari Raasib1207582023-03-20 12:19:23 +053027#define INTEL_FVI_SMBIOS_TYPE 0xDD
Saurabh Mishra997e9f72022-11-22 13:15:10 +053028
29#pragma pack(1)
30
31///
32/// Firmware Version Structure
33///
34typedef struct {
35 UINT8 MajorVersion;
36 UINT8 MinorVersion;
37 UINT8 Revision;
38 UINT16 BuildNumber;
39} INTEL_FIRMWARE_VERSION;
40
41///
42/// Firmware Version Info (FVI) Structure
43///
44typedef struct {
45 SMBIOS_TABLE_STRING ComponentName; ///< String Index of Component Name
46 SMBIOS_TABLE_STRING VersionString; ///< String Index of Version String
47 INTEL_FIRMWARE_VERSION Version; ///< Firmware version
48} INTEL_FIRMWARE_VERSION_INFO;
49
50///
51/// SMBIOS OEM Type Intel Firmware Version Info (FVI) Structure
52///
53typedef struct {
54 SMBIOS_STRUCTURE Header; ///< SMBIOS structure header
55 UINT8 Count; ///< Number of FVI entries in this structure
56 INTEL_FIRMWARE_VERSION_INFO Fvi[1]; ///< FVI structure(s)
57} SMBIOS_TABLE_TYPE_OEM_INTEL_FVI;
58
59#pragma pack()
60
61#endif