1 #ifndef CPER_SECTION_PCIE_H
2 #define CPER_SECTION_PCIE_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <json.h>
9 #include <libcper/Cper.h>
10 
11 #define PCIE_ERROR_VALID_BITFIELD_NAMES                                        \
12 	(const char *[])                                                       \
13 	{                                                                      \
14 		"portTypeValid", "versionValid", "commandStatusValid",         \
15 			"deviceIDValid", "deviceSerialNumberValid",            \
16 			"bridgeControlStatusValid",                            \
17 			"capabilityStructureStatusValid", "aerInfoValid"       \
18 	}
19 #define PCIE_ERROR_PORT_TYPES_KEYS                                             \
20 	(int[])                                                                \
21 	{                                                                      \
22 		0, 1, 4, 5, 6, 7, 8, 9, 10                                     \
23 	}
24 #define PCIE_ERROR_PORT_TYPES_VALUES                                           \
25 	(const char *[])                                                       \
26 	{                                                                      \
27 		"PCI Express End Point", "Legacy PCI End Point Device",        \
28 			"Root Port", "Upstream Switch Port",                   \
29 			"Downstream Switch Port",                              \
30 			"PCI Express to PCI/PCI-X Bridge",                     \
31 			"PCI/PCI-X Bridge to PCI Express Bridge",              \
32 			"Root Complex Integrated Endpoint Device",             \
33 			"Root Complex Event Collector"                         \
34 	}
35 
36 json_object *cper_section_pcie_to_ir(void *section);
37 void ir_section_pcie_to_cper(json_object *section, FILE *out);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif
44