1 #ifndef CPER_PARSE_H 2 #define CPER_PARSE_H 3 #include <json.h> 4 5 #define CPER_HEADER_VALID_BITFIELD_NAMES (const char*[]) {"platformIDValid", "timestampValid", "partitionIDValid"} 6 #define CPER_SECTION_DESCRIPTOR_VALID_BITFIELD_NAMES (const char*[]) {"fruIDValid", "fruStringValid"} 7 #define CPER_SECTION_DESCRIPTOR_FLAGS_BITFIELD_NAMES (const char*[]) \ 8 {"primary", "containmentWarning", "reset", "errorThresholdExceeded", "resourceNotAccessible", "latentError", \ 9 "propagated", "overflow"} 10 #define CPER_HEADER_FLAG_TYPES_KEYS (int []){1, 2, 4} 11 #define CPER_HEADER_FLAG_TYPES_VALUES (const char*[]){"HW_ERROR_FLAGS_RECOVERED", "HW_ERROR_FLAGS_PREVERR", "HW_ERROR_FLAGS_SIMULATED"} 12 13 json_object* cper_to_ir(FILE* cper_file); 14 json_object* cper_single_section_to_ir(FILE* cper_section_file); 15 void ir_to_cper(json_object* ir, FILE* out); 16 void ir_single_section_to_cper(json_object* ir, FILE* out); 17 18 #endif