libfru 3.0.2.gb79b203
FRU Manupulation Library
|
MultiRecord area record type. More...
#include <fru.h>
Data Fields | ||
fru_mr_type_t | type | |
Record Type. | ||
union { | ||
struct { | ||
} psu | ||
PSU Information, see IPMI FRU spec section 18.1. More... | ||
struct { | ||
} dco | ||
DC Output, see IPMI FRU spec section 18.2. More... | ||
struct { | ||
} edco | ||
Extended DC Output, see IPMI FRU spec section 18.2a. More... | ||
struct { | ||
} dcl | ||
DC Load, see IPMI FRU spec section 18.3. More... | ||
struct { | ||
} edcl | ||
Extended DC Load, see IPMI FRU spec section 18.3a. More... | ||
struct { | ||
fru_mr_mgmt_type_t subtype | ||
Management Access Record subtype. More... | ||
char data [FRU_MR_MGMT_MAXDATA+1] | ||
Management Access Record data. More... | ||
} mgmt | ||
Management Access Record, see IPMI FRU spec section 18.4. More... | ||
struct { | ||
} bcr | ||
Base Compatibility Record, see IPMI FRU spec section 18.5. More... | ||
struct { | ||
} ecr | ||
Extended Compatibility Record, see IPMI FRU spec section 18.6. More... | ||
struct { | ||
union { | ||
struct { | ||
} smbus | ||
Fixed SMBus Addresses, see section 4.3.1. More... | ||
struct { | ||
} legacy | ||
Legacy-Device Alerts, see section 4.3.2. More... | ||
struct { | ||
} rc | ||
Remote Control, see section 4.3.3. More... | ||
} | ||
} asf | ||
Alert Standard Format records, see ASF spec (DSP0136), revision 2.0. More... | ||
struct { | ||
union { | ||
struct { | ||
fru_nvme_ff_t formfactor | ||
Form-Factor as per NVMe-MI 1.2b Figure 160. More... | ||
uint8_t p1v8_init | ||
uint8_t p1v8_max | ||
uint8_t p3v3_init | ||
uint8_t p3v3_max | ||
uint8_t p3v3_aux_max | ||
uint8_t p5v_init | ||
uint8_t p5v_max | ||
uint8_t p12v_init | ||
uint8_t p12v_max | ||
uint8_t ptherm_max | ||
uint64_t capacity_lo | ||
Total capacity, higher 8 bytes, 13:6 of 13, host-endian. More... | ||
uint32_t capacity_mid | ||
Total capacity, middle 4 bytes, 5:2 of 13, host-endian. More... | ||
uint8_t capacity_hi | ||
Total capacity, middle 4 bytes, 1 of 13. More... | ||
} info | ||
NVMe Record, see section 8.2.3. More... | ||
struct { | ||
} pcie | ||
NVMe PCIe Port Record, see section 8.2.4. More... | ||
struct { | ||
} topology | ||
NVMe Topology Record, see section 8.2.4. More... | ||
} | ||
} nvme | ||
NVMe Records, see NVMe-MI specification revision 1.2b. More... | ||
struct { | ||
uint32_t mfg_id | ||
Manufacturer ID, 24 bits. More... | ||
fru_field_enc_t enc | ||
OEM data encoding. More... | ||
char data [FRU_MRR_OEM_MAXDATA] | ||
OEM data. More... | ||
} oem | ||
OEM Record, see IPMI FRU spec section 18.7. More... | ||
struct { | ||
uint8_t type | ||
The actual record Type. More... | ||
fru_field_enc_t enc | ||
OEM data encoding. More... | ||
char data [FRU_MRR_RAW_MAXDATA] | ||
Raw data. More... | ||
} raw | ||
Custom Raw Record. More... | ||
}; | ||
MultiRecord area record type.
Describes a record of any supported multirecord area record type in decoded form. Comprises a number of type-specific structs combined in a union. You only need to fill in the fields of the struct that correspond to the selected record type.
All byte arrays are stored as hex strings in this structure. All integer types are stored as host-endian integers. All string types are stored as C-strings.
Example
union { ... } fru_mr_rec_t |
struct { ... } fru_mr_rec_t::asf |
Alert Standard Format records, see ASF spec (DSP0136), revision 2.0.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::bcr |
Base Compatibility Record, see IPMI FRU spec section 18.5.
TODO: Not yet implemented
uint8_t fru_mr_rec_t::capacity_hi |
Total capacity, middle 4 bytes, 1 of 13.
uint64_t fru_mr_rec_t::capacity_lo |
Total capacity, higher 8 bytes, 13:6 of 13, host-endian.
uint32_t fru_mr_rec_t::capacity_mid |
Total capacity, middle 4 bytes, 5:2 of 13, host-endian.
char fru_mr_rec_t::data[FRU_MRR_RAW_MAXDATA] |
Management Access Record data.
Raw data.
OEM data.
Most data in this type of record are just plain text strings. The "System GUID" (UUID) subtype data is binary, but as usual for libfru, a hex string representation is expected/stored here.
struct { ... } fru_mr_rec_t::dcl |
DC Load, see IPMI FRU spec section 18.3.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::dco |
DC Output, see IPMI FRU spec section 18.2.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::ecr |
Extended Compatibility Record, see IPMI FRU spec section 18.6.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::edcl |
Extended DC Load, see IPMI FRU spec section 18.3a.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::edco |
Extended DC Output, see IPMI FRU spec section 18.2a.
TODO: Not yet implemented
fru_field_enc_t fru_mr_rec_t::enc |
OEM data encoding.
Supported are:
Functions fru_load_file() and fru_load_buffer() always autodetect the encoding of OEM records, and set the type field accordingly.
Supported are:
Functions fru_load_file() and fru_load_buffer() always load the otherwise unsupported records as raw
and always autodetect the encoding of such records, seting enc field accordingly.
fru_nvme_ff_t fru_mr_rec_t::formfactor |
Form-Factor as per NVMe-MI 1.2b Figure 160.
struct { ... } fru_mr_rec_t::info |
NVMe Record, see section 8.2.3.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::legacy |
Legacy-Device Alerts, see section 4.3.2.
TODO: Not yet implemented
uint32_t fru_mr_rec_t::mfg_id |
Manufacturer ID, 24 bits.
struct { ... } fru_mr_rec_t::mgmt |
Management Access Record, see IPMI FRU spec section 18.4.
struct { ... } fru_mr_rec_t::nvme |
NVMe Records, see NVMe-MI specification revision 1.2b.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::oem |
OEM Record, see IPMI FRU spec section 18.7.
TODO: Not yet implemented
uint8_t fru_mr_rec_t::p12v_init |
uint8_t fru_mr_rec_t::p12v_max |
uint8_t fru_mr_rec_t::p1v8_init |
uint8_t fru_mr_rec_t::p1v8_max |
uint8_t fru_mr_rec_t::p3v3_aux_max |
uint8_t fru_mr_rec_t::p3v3_init |
uint8_t fru_mr_rec_t::p3v3_max |
uint8_t fru_mr_rec_t::p5v_init |
uint8_t fru_mr_rec_t::p5v_max |
struct { ... } fru_mr_rec_t::pcie |
NVMe PCIe Port Record, see section 8.2.4.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::psu |
PSU Information, see IPMI FRU spec section 18.1.
TODO: Not yet implemented
uint8_t fru_mr_rec_t::ptherm_max |
struct { ... } fru_mr_rec_t::raw |
Custom Raw Record.
Use for unsupported types.
This entry is for adding any raw data, even if a specific type is not supported by libfru yet. TODO: Not yet implemented
struct { ... } fru_mr_rec_t::rc |
Remote Control, see section 4.3.3.
TODO: Not yet implemented
struct { ... } fru_mr_rec_t::smbus |
Fixed SMBus Addresses, see section 4.3.1.
TODO: Not yet implemented
fru_mr_mgmt_type_t fru_mr_rec_t::subtype |
Management Access Record subtype.
struct { ... } fru_mr_rec_t::topology |
NVMe Topology Record, see section 8.2.4.
TODO: Not yet implemented
fru_mr_type_t fru_mr_rec_t::type |
Record Type.
uint8_t fru_mr_rec_t::type |
The actual record Type.