/** @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 |