xref: /openbmc/libcper/cper-utils.h (revision 3c878352)
11b0b00e3SLawrence Tang #ifndef CPER_UTILS_H
21b0b00e3SLawrence Tang #define CPER_UTILS_H
31b0b00e3SLawrence Tang 
41b0b00e3SLawrence Tang #define GUID_STRING_LENGTH 30
51b0b00e3SLawrence Tang #define TIMESTAMP_LENGTH 24
61b0b00e3SLawrence Tang 
7a0865e38SLawrence Tang json_object* cper_generic_error_status_to_ir(EFI_GENERIC_ERROR_STATUS* error_status);
87f21db6cSLawrence Tang json_object* uniform_struct_to_ir(UINT32* start, int len, const char* names[]);
97f21db6cSLawrence Tang json_object* uniform_struct64_to_ir(UINT64* start, int len, const char* names[]);
10*3c878352SLawrence Tang json_object* integer_to_readable_pair(UINT64 value, int len, int keys[], const char* values[], const char* default_value);
117f21db6cSLawrence Tang json_object* integer_to_readable_pair_with_desc(int value, int len, int keys[], const char* values[], const char* descriptions[], const char* default_value);
123d0e4f24SLawrence Tang json_object* bitfield_to_ir(UINT64 bitfield, int num_fields, const char* names[]);
13e18aaee9SLawrence Tang json_object* uint64_array_to_ir_array(UINT64* array, int len);
141b0b00e3SLawrence Tang json_object* revision_to_ir(UINT16 revision);
151b0b00e3SLawrence Tang const char* severity_to_string(UINT8 severity);
161b0b00e3SLawrence Tang void guid_to_string(char* out, EFI_GUID* guid);
171b0b00e3SLawrence Tang int guid_equal(EFI_GUID* a, EFI_GUID* b);
184dbe3d72SLawrence Tang int bcd_to_int(UINT8 bcd);
191b0b00e3SLawrence Tang 
201b0b00e3SLawrence Tang //The available severity types for CPER.
211b0b00e3SLawrence Tang extern const char* CPER_SEVERITY_TYPES[4];
221b0b00e3SLawrence Tang 
231b0b00e3SLawrence Tang #endif