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