| /** @file |
| IPMI Platform Management FRU Information Storage Definitions |
| |
| This file contains the definitions for: |
| Common Header Format (Chapter 8) |
| MultiRecord Header (Section 16.1) |
| |
| Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> |
| SPDX-License-Identifier: BSD-2-Clause-Patent |
| |
| @par Revision Reference: |
| - IPMI Platform Management FRU Information Storage Definition v1.0 Revision |
| 1.3, Dated March 24, 2015. |
| 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 |
| **/ |
| |
| #ifndef _IPMI_FRU_INFORMATION_STORAGE_H_ |
| #define _IPMI_FRU_INFORMATION_STORAGE_H_ |
| |
| #pragma pack(1) |
| |
| // |
| // Structure definitions for FRU Common Header |
| // |
| typedef union { |
| /// |
| /// Individual bit fields |
| /// |
| struct { |
| UINT8 FormatVersionNumber:4; |
| UINT8 Reserved:4; |
| } Bits; |
| /// |
| /// All bit fields as a 8-bit value |
| /// |
| UINT8 Uint8; |
| } IPMI_FRU_COMMON_HEADER_FORMAT_VERSION; |
| |
| typedef struct { |
| IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion; |
| UINT8 InternalUseStartingOffset; |
| UINT8 ChassisInfoStartingOffset; |
| UINT8 BoardAreaStartingOffset; |
| UINT8 ProductInfoStartingOffset; |
| UINT8 MultiRecInfoStartingOffset; |
| UINT8 Pad; |
| UINT8 Checksum; |
| } IPMI_FRU_COMMON_HEADER; |
| |
| // |
| // Structure definition for FRU MultiRecord Header |
| // |
| typedef union { |
| /// |
| /// Individual bit fields |
| /// |
| struct { |
| UINT8 RecordFormatVersion:4; |
| UINT8 Reserved:3; |
| UINT8 EndofList:1; |
| } Bits; |
| /// |
| /// All bit fields as a 8-bit value |
| /// |
| UINT8 Uint8; |
| } IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION; |
| |
| typedef struct { |
| UINT8 RecordTypeId; |
| IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion; |
| UINT8 RecordLength; |
| UINT8 RecordChecksum; |
| UINT8 HeaderChecksum; |
| } IPMI_FRU_MULTI_RECORD_HEADER; |
| |
| // |
| // Structure definition for System UUID Subrecord with checksum. |
| // |
| typedef struct { |
| UINT8 RecordCheckSum; |
| UINT8 SubRecordId; |
| EFI_GUID Uuid; |
| } IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM; |
| |
| #pragma pack() |
| #endif |