xref: /openbmc/libcper/include/libcper/sections/cper-section.h (revision 1a6485695938acfe66a0985d20d079c16019dcd9)
1 #ifndef CPER_SECTION_H
2 #define CPER_SECTION_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <json.h>
9 #include <stdio.h>
10 #include <stdlib.h>
11 #include <libcper/Cper.h>
12 
13 //Definition structure for a single CPER section type.
14 typedef struct {
15 	EFI_GUID *Guid;
16 	const char *ReadableName;
17 	const char *ShortName;
18 	json_object *(*ToIR)(const UINT8 *, UINT32);
19 	void (*ToCPER)(json_object *, FILE *);
20 } CPER_SECTION_DEFINITION;
21 
22 extern CPER_SECTION_DEFINITION section_definitions[];
23 extern const size_t section_definitions_len;
24 
25 CPER_SECTION_DEFINITION *select_section_by_guid(EFI_GUID *guid);
26 
27 #ifdef __cplusplus
28 }
29 #endif
30 
31 #endif
32