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