1 #ifndef GEN_SECTIONS_H 2 #define GEN_SECTIONS_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <stdlib.h> 9 #include "../../edk/Cper.h" 10 11 //Section generator function predefinitions. 12 size_t generate_section_generic(void **location); 13 size_t generate_section_ia32x64(void **location); 14 size_t generate_section_arm(void **location); 15 size_t generate_section_memory(void **location); 16 size_t generate_section_memory2(void **location); 17 size_t generate_section_pcie(void **location); 18 size_t generate_section_pci_bus(void **location); 19 size_t generate_section_pci_dev(void **location); 20 size_t generate_section_firmware(void **location); 21 size_t generate_section_dmar_generic(void **location); 22 size_t generate_section_dmar_vtd(void **location); 23 size_t generate_section_dmar_iommu(void **location); 24 size_t generate_section_ccix_per(void **location); 25 size_t generate_section_cxl_protocol(void **location); 26 size_t generate_section_cxl_component(void **location); 27 size_t generate_section_nvidia(void **location); 28 29 //Definition structure for a single CPER section generator. 30 typedef struct { 31 EFI_GUID *Guid; 32 const char *ShortName; 33 size_t (*Generate)(void **); 34 } CPER_GENERATOR_DEFINITION; 35 36 extern CPER_GENERATOR_DEFINITION generator_definitions[]; 37 extern const size_t generator_definitions_len; 38 39 #ifdef __cplusplus 40 } 41 #endif 42 43 #endif 44