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 7*7f21db6cSLawrence Tang json_object* uniform_struct_to_ir(UINT32* start, int len, const char* names[]); 8*7f21db6cSLawrence Tang json_object* uniform_struct64_to_ir(UINT64* start, int len, const char* names[]); 93c43f743SLawrence Tang json_object* integer_to_readable_pair(int value, int len, int keys[], const char* values[], const char* default_value); 10*7f21db6cSLawrence 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); 113d0e4f24SLawrence Tang json_object* bitfield_to_ir(UINT64 bitfield, int num_fields, const char* names[]); 121b0b00e3SLawrence Tang json_object* revision_to_ir(UINT16 revision); 131b0b00e3SLawrence Tang const char* severity_to_string(UINT8 severity); 141b0b00e3SLawrence Tang void guid_to_string(char* out, EFI_GUID* guid); 151b0b00e3SLawrence Tang int guid_equal(EFI_GUID* a, EFI_GUID* b); 161b0b00e3SLawrence Tang 171b0b00e3SLawrence Tang //The available severity types for CPER. 181b0b00e3SLawrence Tang extern const char* CPER_SEVERITY_TYPES[4]; 191b0b00e3SLawrence Tang 201b0b00e3SLawrence Tang #endif