]>
Commit | Line | Data |
---|---|---|
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 | |
9 | This program and the accompanying materials\r | |
10 | are licensed and made available under the terms and conditions of the BSD License\r | |
11 | which accompanies this distribution. The full text of the license may be found at\r | |
12 | http://opensource.org/licenses/bsd-license.php\r | |
13 | \r | |
14 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
15 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
16 | \r | |
17 | @par Revision Reference:\r | |
18 | - IPMI Platform Management FRU Information Storage Definition v1.0 Revision\r | |
19 | 1.3, Dated March 24, 2015.\r | |
20 | 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 | |
21 | **/\r | |
22 | \r | |
23 | #ifndef _IPMI_FRU_INFORMATION_STORAGE_H_\r | |
24 | #define _IPMI_FRU_INFORMATION_STORAGE_H_\r | |
25 | \r | |
26 | #pragma pack(1)\r | |
27 | \r | |
28 | //\r | |
aeb6f576 | 29 | // Structure definitions for FRU Common Header\r |
25517f7c | 30 | //\r |
aeb6f576 HW |
31 | typedef union {\r |
32 | ///\r | |
33 | /// Individual bit fields\r | |
34 | ///\r | |
35 | struct {\r | |
36 | UINT8 FormatVersionNumber:4;\r | |
37 | UINT8 Reserved:4;\r | |
38 | } Bits;\r | |
39 | ///\r | |
40 | /// All bit fields as a 8-bit value\r | |
41 | ///\r | |
42 | UINT8 Uint8;\r | |
43 | } IPMI_FRU_COMMON_HEADER_FORMAT_VERSION;\r | |
44 | \r | |
25517f7c | 45 | typedef struct {\r |
aeb6f576 HW |
46 | IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion;\r |
47 | UINT8 InternalUseStartingOffset;\r | |
48 | UINT8 ChassisInfoStartingOffset;\r | |
49 | UINT8 BoardAreaStartingOffset;\r | |
50 | UINT8 ProductInfoStartingOffset;\r | |
51 | UINT8 MultiRecInfoStartingOffset;\r | |
52 | UINT8 Pad;\r | |
53 | UINT8 Checksum;\r | |
25517f7c HW |
54 | } IPMI_FRU_COMMON_HEADER;\r |
55 | \r | |
56 | //\r | |
57 | // Structure definition for FRU MultiRecord Header\r | |
58 | //\r | |
aeb6f576 HW |
59 | typedef union {\r |
60 | ///\r | |
61 | /// Individual bit fields\r | |
62 | ///\r | |
63 | struct {\r | |
64 | UINT8 RecordFormatVersion:4;\r | |
65 | UINT8 Reserved:3;\r | |
66 | UINT8 EndofList:1;\r | |
67 | } Bits;\r | |
68 | ///\r | |
69 | /// All bit fields as a 8-bit value\r | |
70 | ///\r | |
71 | UINT8 Uint8;\r | |
72 | } IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION;\r | |
73 | \r | |
25517f7c | 74 | typedef struct {\r |
aeb6f576 HW |
75 | UINT8 RecordTypeId;\r |
76 | IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion;\r | |
77 | UINT8 RecordLength;\r | |
78 | UINT8 RecordChecksum;\r | |
79 | UINT8 HeaderChecksum;\r | |
25517f7c HW |
80 | } IPMI_FRU_MULTI_RECORD_HEADER;\r |
81 | \r | |
82 | //\r | |
83 | // Structure definition for System UUID Subrecord with checksum.\r | |
84 | //\r | |
85 | typedef struct {\r | |
86 | UINT8 RecordCheckSum;\r | |
87 | UINT8 SubRecordId;\r | |
88 | EFI_GUID Uuid;\r | |
89 | } IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM;\r | |
90 | \r | |
91 | #pragma pack()\r | |
92 | #endif\r |