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                                    \
8 	(const char *[])                                                       \
9 	{                                                                      \
10 		"ccixSourceIDValid", "ccixPortIDValid", "ccixPERLogValid"      \
11 	}
12 
13 ///
14 /// CCIX PER Log Error Section
15 ///
16 typedef struct {
17 	UINT32 Length;
18 	UINT64 ValidBits;
19 	UINT8 CcixSourceId;
20 	UINT8 CcixPortId;
21 	UINT16 Reserved;
22 } __attribute__((packed, aligned(1))) EFI_CCIX_PER_LOG_DATA;
23 
24 json_object *cper_section_ccix_per_to_ir(void *section);
25 void ir_section_ccix_per_to_cper(json_object *section, FILE *out);
26 
27 #endif
28