1 #ifndef CPER_SECTION_PCI_BUS_H
2 #define CPER_SECTION_PCI_BUS_H
3 
4 #include <json.h>
5 #include "../edk/Cper.h"
6 
7 #define PCI_BUS_ERROR_VALID_BITFIELD_NAMES (const char*[]) {"errorStatusValid", "errorTypeValid", \
8     "busIDValid", "busAddressValid", "busDataValid", "commandValid", "requestorIDValid", "completerIDValid", \
9     "targetIDValid"}
10 #define PCI_BUS_ERROR_TYPES_KEYS (int []){0, 1, 2, 3, 4, 5, 6, 7}
11 #define PCI_BUS_ERROR_TYPES_VALUES (const char*[]){"Unknown/OEM Specific Error", "Data Parity Error", \
12     "System Error", "Master Abort", "Bus Timeout/No Device Present (No DEVSEL#)", \
13     "Master Data Parity Error", "Address Parity Error", "Command Parity Error"}
14 
15 json_object* cper_section_pci_bus_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
16 void ir_section_pci_bus_to_cper(json_object* section, FILE* out);
17 
18 #endif