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