Loading...
Searching...
No Matches
fru_t Struct Reference
Common

Exploded/decoded FRU data structure. More...

`#include <fru.h>`

Collaboration diagram for fru_t:
[legend]

## 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

fru_area_type_t fru_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.

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:

- fru.h