libfru 3.0.2.gb79b203
FRU Manupulation Library
Loading...
Searching...
No Matches
fru_t Struct Reference

Exploded/decoded FRU data structure. More...

#include <fru.h>

Collaboration diagram for fru_t:

Data Fields

bool present [FRU_TOTAL_AREAS]
 Area presence flags.
 
fru_area_type_t order [FRU_TOTAL_AREAS]
 Order of the areas in the original binary fru file, or the order in which to save the structure into a file/buffer.
 
char * internal
 Internal use area as a hex string.
 
fru_chassis_t chassis
 The chassis information structure.
 
fru_board_t board
 The board information structure.
 
fru_product_t product
 The product information structure.
 
fru_mr_t mr
 The multi-record area descriptor.
 

Detailed Description

Exploded/decoded FRU data structure.

Describes an 'exploded' or 'decoded' FRU file, where each area is a set of text strings, easy for human comprehension and manipulation.

This is the main type that all library API functions operate on.

Please make sure you call fru_init(), fru_loadfile() or fru_loadbuffer() on a static or an automatic variable of this type before you use it. Otherwise the correct behavior of the library is not guaranteed.

Best of all is to never allocate structures of this type statically or autimatically. Allocate them dynamically with a call to any of the functions named above.

Field Documentation

◆ board

fru_board_t fru_t::board

The board information structure.

◆ chassis

fru_chassis_t fru_t::chassis

The chassis information structure.

◆ internal

char* fru_t::internal

Internal use area as a hex string.

◆ mr

fru_mr_t fru_t::mr

The multi-record area descriptor.

Operate on it using fru_add_mr(), fru_find_mr(), fru_replace_mr(), and fru_delete_mr()

◆ order

Order of the areas in the original binary fru file, or the order in which to save the structure into a file/buffer.

Only present areas will be encoded on save, in the order given by this array. On load, non-present areas will be listed first.

Please avoid direct modification. If you need tho change the area order, please prefer using fru_move_area().

◆ present

bool fru_t::present[FRU_TOTAL_AREAS]

Area presence flags.

             Please avoid direct modification,
             prefer fru_enable_area(), fru_disable_area(),

             Some functions such as fru_set_internal_hexstring(),
             fru_add_mr(), fru_add_custom(), and fru_setfield()
             will automatically enable the relevant area by
             calling fru_enable_area() internally upon success.

◆ product

fru_product_t fru_t::product

The product information structure.


The documentation for this struct was generated from the following file: