xref: /openbmc/libcper/include/libcper/sections/cper-section-ccix-per.h (revision c97c041e571841f0ce67292208e083f6d858cf5c)
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