xref: /openbmc/libcper/sections/cper-section.h (revision 580423fe)
1*580423feSLawrence Tang #ifndef CPER_SECTION_H
2*580423feSLawrence Tang #define CPER_SECTION_H
3*580423feSLawrence Tang 
4*580423feSLawrence Tang #include <json.h>
5*580423feSLawrence Tang #include <stdio.h>
6*580423feSLawrence Tang #include <stdlib.h>
7*580423feSLawrence Tang #include "../edk/Cper.h"
8*580423feSLawrence Tang 
9*580423feSLawrence Tang //Definition structure for a single CPER section type.
10*580423feSLawrence Tang typedef struct {
11*580423feSLawrence Tang     EFI_GUID* Guid;
12*580423feSLawrence Tang     const char* ReadableName;
13*580423feSLawrence Tang     json_object* (*ToIR)(void*, EFI_ERROR_SECTION_DESCRIPTOR*);
14*580423feSLawrence Tang     void (*ToCPER)(json_object*, FILE*);
15*580423feSLawrence Tang } CPER_SECTION_DEFINITION;
16*580423feSLawrence Tang 
17*580423feSLawrence Tang extern CPER_SECTION_DEFINITION section_definitions[];
18*580423feSLawrence Tang extern const size_t section_definitions_len;
19*580423feSLawrence Tang 
20*580423feSLawrence Tang #endif