1 #ifndef CPER_SECTION_CCIX_PER_H
2 #define CPER_SECTION_CCIX_PER_H
3 
4 #include <json.h>
5 #include "../edk/Cper.h"
6 
7 #define CCIX_PER_ERROR_VALID_BITFIELD_NAMES (const char*[]) {"ccixSourceIDValid", "ccixPortIDValid", "ccixPERLogValid"}
8 
9 ///
10 /// CCIX PER Log Error Section
11 ///
12 typedef struct {
13     UINT32 Length;
14     UINT64 ValidBits;
15     UINT8 CcixSourceId;
16     UINT8 CcixPortId;
17     UINT16 Reserved;
18 } __attribute__((packed, aligned(1))) EFI_CCIX_PER_LOG_DATA;
19 
20 json_object* cper_section_ccix_per_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
21 void ir_section_ccix_per_to_cper(json_object* section, FILE* out);
22 
23 #endif