9#if defined(__GNUC__) && __GNUC__ < 13
10#define FRU_THREAD_LOCAL __thread
13#define FRU_THREAD_LOCAL thread_local
#define FRU_THREAD_LOCAL
Definition fru_errno.h:13
fru_error_source_t
Describes an offending area, see fru_errno_t.
Definition fru_errno.h:69
void fru_clearerr(void)
Clear the error status of the library.
const char * fru_strerr(fru_errno_t)
Get a description of the given fru_errno value.
fru_error_source_t src
The source of error.
Definition fru_errno.h:87
int index
Index of the offending entity within the source, that is, an index of a field (for FRU_*_INFO) or a r...
Definition fru_errno.h:88
fru_error_code_t
Defines the errors specific to libfru.
Definition fru_errno.h:27
fru_error_code_t code
The error code.
Definition fru_errno.h:86
FRU_THREAD_LOCAL fru_errno_t fru_errno
Numeric code of an error.
@ FERR_LOC_MR
The error is in the multirecord area.
Definition fru_errno.h:74
@ FERR_LOC_BOARD
The error is in the board information area.
Definition fru_errno.h:72
@ FERR_LOC_GENERAL
The error is about FRU file or structure in general, not about any specific area.
Definition fru_errno.h:75
@ FERR_LOC_CHASSIS
The error is in the chassis information area.
Definition fru_errno.h:71
@ FERR_LOC_SYSTEM
The error occurred in a system call.
Definition fru_errno.h:81
@ FERR_LOC_COUNT
The total count of possible error locations.
Definition fru_errno.h:82
@ FERR_LOC_INTERNAL
The error is in the internal use area.
Definition fru_errno.h:70
@ FERR_LOC_PRODUCT
The error is in the product information area.
Definition fru_errno.h:73
@ FERR_LOC_CALLER
The error is in the calling code (bad arguments?)
Definition fru_errno.h:80
@ FETOTALCOUNT
The total count of possible libfru error codes.
Definition fru_errno.h:61
@ FEHDRCKSUM
Bad header checksum.
Definition fru_errno.h:41
@ FEAUTOENC
Unable to auto-detect encoding.
Definition fru_errno.h:35
@ FENONPRINT
Field data contains non-printable bytes.
Definition fru_errno.h:31
@ FE2BIG
Data or file is too big.
Definition fru_errno.h:38
@ FENOTERM
Unterminated area.
Definition fru_errno.h:47
@ FEMREND
End of MR records (not an error)
Definition fru_errno.h:55
@ FEMRNOTSUP
Unsupported record type.
Definition fru_errno.h:54
@ FEAREABADTYPE
Bad area type (A completely wrong value)
Definition fru_errno.h:46
@ FEAPOS
Invalid area position.
Definition fru_errno.h:56
@ FESIZE
Data size mismatch.
Definition fru_errno.h:39
@ FELIB
Internal library error (bug)
Definition fru_errno.h:60
@ FERANGE
Field data exceeds range for the requested encoding.
Definition fru_errno.h:33
@ FEBDATE
Board manufacturing date is out of range.
Definition fru_errno.h:48
@ FEGENERIC
Generic error, check errno.
Definition fru_errno.h:29
@ FEINIT
Uninitialized FRU structure.
Definition fru_errno.h:30
@ FENOFIELD
No such field.
Definition fru_errno.h:49
@ FEAREANOTSUP
Unsupported area type (For a particular operation)
Definition fru_errno.h:45
@ FEAENABLED
Area is (already) enabled.
Definition fru_errno.h:58
@ FENOTEMPTY
List is not empty.
Definition fru_errno.h:57
@ FEBADENC
Invalid encoding for a field.
Definition fru_errno.h:36
@ FEBADDATA
Malformed data.
Definition fru_errno.h:51
@ FENOTEVEN
Not an even number of nibbles.
Definition fru_errno.h:34
@ FENODATA
No data.
Definition fru_errno.h:52
@ FEHDRBADPTR
Area starts/spans beyond the end of file/buffer or overlaps next area.
Definition fru_errno.h:42
@ FEMRMGMTBAD
Bad management record subtype.
Definition fru_errno.h:53
@ FEHDRVER
Bad header version.
Definition fru_errno.h:40
@ FENOREC
No such record.
Definition fru_errno.h:50
@ FEAREADUP
Duplicate area in area order.
Definition fru_errno.h:44
@ FE2SMALL
File is too small.
Definition fru_errno.h:37
@ FEADISABLED
Area is (already) disabled.
Definition fru_errno.h:59
@ FENONE
No libfru error.
Definition fru_errno.h:28
@ FEDATACKSUM
Bad data checksum.
Definition fru_errno.h:43
@ FENONHEX
Input string contains non-hex characters.
Definition fru_errno.h:32
Definition fru_errno.h:85