1 | /** @file
|
---|
2 | IPMI Platform Management FRU Information Storage Definitions
|
---|
3 |
|
---|
4 | This file contains the definitions for:
|
---|
5 | Common Header Format (Chapter 8)
|
---|
6 | MultiRecord Header (Section 16.1)
|
---|
7 |
|
---|
8 | Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
|
---|
9 | SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
10 |
|
---|
11 | @par Revision Reference:
|
---|
12 | - IPMI Platform Management FRU Information Storage Definition v1.0 Revision
|
---|
13 | 1.3, Dated March 24, 2015.
|
---|
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
|
---|
15 | **/
|
---|
16 |
|
---|
17 | #ifndef _IPMI_FRU_INFORMATION_STORAGE_H_
|
---|
18 | #define _IPMI_FRU_INFORMATION_STORAGE_H_
|
---|
19 |
|
---|
20 | #pragma pack(1)
|
---|
21 |
|
---|
22 | //
|
---|
23 | // Structure definitions for FRU Common Header
|
---|
24 | //
|
---|
25 | typedef union {
|
---|
26 | ///
|
---|
27 | /// Individual bit fields
|
---|
28 | ///
|
---|
29 | struct {
|
---|
30 | UINT8 FormatVersionNumber : 4;
|
---|
31 | UINT8 Reserved : 4;
|
---|
32 | } Bits;
|
---|
33 | ///
|
---|
34 | /// All bit fields as a 8-bit value
|
---|
35 | ///
|
---|
36 | UINT8 Uint8;
|
---|
37 | } IPMI_FRU_COMMON_HEADER_FORMAT_VERSION;
|
---|
38 |
|
---|
39 | typedef struct {
|
---|
40 | IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion;
|
---|
41 | UINT8 InternalUseStartingOffset;
|
---|
42 | UINT8 ChassisInfoStartingOffset;
|
---|
43 | UINT8 BoardAreaStartingOffset;
|
---|
44 | UINT8 ProductInfoStartingOffset;
|
---|
45 | UINT8 MultiRecInfoStartingOffset;
|
---|
46 | UINT8 Pad;
|
---|
47 | UINT8 Checksum;
|
---|
48 | } IPMI_FRU_COMMON_HEADER;
|
---|
49 |
|
---|
50 | //
|
---|
51 | // Structure definition for FRU MultiRecord Header
|
---|
52 | //
|
---|
53 | typedef union {
|
---|
54 | ///
|
---|
55 | /// Individual bit fields
|
---|
56 | ///
|
---|
57 | struct {
|
---|
58 | UINT8 RecordFormatVersion : 4;
|
---|
59 | UINT8 Reserved : 3;
|
---|
60 | UINT8 EndofList : 1;
|
---|
61 | } Bits;
|
---|
62 | ///
|
---|
63 | /// All bit fields as a 8-bit value
|
---|
64 | ///
|
---|
65 | UINT8 Uint8;
|
---|
66 | } IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION;
|
---|
67 |
|
---|
68 | typedef struct {
|
---|
69 | UINT8 RecordTypeId;
|
---|
70 | IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion;
|
---|
71 | UINT8 RecordLength;
|
---|
72 | UINT8 RecordChecksum;
|
---|
73 | UINT8 HeaderChecksum;
|
---|
74 | } IPMI_FRU_MULTI_RECORD_HEADER;
|
---|
75 |
|
---|
76 | //
|
---|
77 | // Structure definition for System UUID Subrecord with checksum.
|
---|
78 | //
|
---|
79 | typedef struct {
|
---|
80 | UINT8 RecordCheckSum;
|
---|
81 | UINT8 SubRecordId;
|
---|
82 | EFI_GUID Uuid;
|
---|
83 | } IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM;
|
---|
84 |
|
---|
85 | #pragma pack()
|
---|
86 | #endif
|
---|