]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/IpmiFruInformationStorage.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / IpmiFruInformationStorage.h
CommitLineData
25517f7c
HW
1/** @file\r
2 IPMI Platform Management FRU Information Storage Definitions\r
3\r
4 This file contains the definitions for:\r
5 Common Header Format (Chapter 8)\r
6 MultiRecord Header (Section 16.1)\r
7\r
8 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 9 SPDX-License-Identifier: BSD-2-Clause-Patent\r
25517f7c
HW
10\r
11 @par Revision Reference:\r
12 - IPMI Platform Management FRU Information Storage Definition v1.0 Revision\r
13 1.3, Dated March 24, 2015.\r
14 https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-platform-mgt-fru-info-storage-def-v1-0-rev-1-3-spec-update.pdf\r
15**/\r
16\r
17#ifndef _IPMI_FRU_INFORMATION_STORAGE_H_\r
18#define _IPMI_FRU_INFORMATION_STORAGE_H_\r
19\r
20#pragma pack(1)\r
21\r
22//\r
aeb6f576 23// Structure definitions for FRU Common Header\r
25517f7c 24//\r
aeb6f576
HW
25typedef union {\r
26 ///\r
27 /// Individual bit fields\r
28 ///\r
29 struct {\r
30 UINT8 FormatVersionNumber:4;\r
31 UINT8 Reserved:4;\r
32 } Bits;\r
33 ///\r
34 /// All bit fields as a 8-bit value\r
35 ///\r
36 UINT8 Uint8;\r
37} IPMI_FRU_COMMON_HEADER_FORMAT_VERSION;\r
38\r
25517f7c 39typedef struct {\r
aeb6f576
HW
40 IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion;\r
41 UINT8 InternalUseStartingOffset;\r
42 UINT8 ChassisInfoStartingOffset;\r
43 UINT8 BoardAreaStartingOffset;\r
44 UINT8 ProductInfoStartingOffset;\r
45 UINT8 MultiRecInfoStartingOffset;\r
46 UINT8 Pad;\r
47 UINT8 Checksum;\r
25517f7c
HW
48} IPMI_FRU_COMMON_HEADER;\r
49\r
50//\r
51// Structure definition for FRU MultiRecord Header\r
52//\r
aeb6f576
HW
53typedef union {\r
54 ///\r
55 /// Individual bit fields\r
56 ///\r
57 struct {\r
58 UINT8 RecordFormatVersion:4;\r
59 UINT8 Reserved:3;\r
60 UINT8 EndofList:1;\r
61 } Bits;\r
62 ///\r
63 /// All bit fields as a 8-bit value\r
64 ///\r
65 UINT8 Uint8;\r
66} IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION;\r
67\r
25517f7c 68typedef struct {\r
aeb6f576
HW
69 UINT8 RecordTypeId;\r
70 IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion;\r
71 UINT8 RecordLength;\r
72 UINT8 RecordChecksum;\r
73 UINT8 HeaderChecksum;\r
25517f7c
HW
74} IPMI_FRU_MULTI_RECORD_HEADER;\r
75\r
76//\r
77// Structure definition for System UUID Subrecord with checksum.\r
78//\r
79typedef struct {\r
80 UINT8 RecordCheckSum;\r
81 UINT8 SubRecordId;\r
82 EFI_GUID Uuid;\r
83} IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM;\r
84\r
85#pragma pack()\r
86#endif\r