1 #ifndef CPER_SECTION_CCIX_PER_H 2 #define CPER_SECTION_CCIX_PER_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <stdio.h> 9 #include <json.h> 10 #include <libcper/Cper.h> 11 12 #define CCIX_PER_ERROR_VALID_BITFIELD_NAMES \ 13 (const char *[]){ "ccixSourceIDValid", "ccixPortIDValid", \ 14 "ccixPERLogValid" } 15 16 /// 17 /// CCIX PER Log Error Section 18 /// 19 typedef struct { 20 UINT32 Length; 21 UINT64 ValidBits; 22 UINT8 CcixSourceId; 23 UINT8 CcixPortId; 24 UINT16 Reserved; 25 } __attribute__((packed, aligned(1))) EFI_CCIX_PER_LOG_DATA; 26 27 json_object *cper_section_ccix_per_to_ir(void *section); 28 void ir_section_ccix_per_to_cper(json_object *section, FILE *out); 29 30 #ifdef __cplusplus 31 } 32 #endif 33 34 #endif 35