blob: 4ccc1784b38ff4f645652d6c8bec0991f5504242 [file] [log] [blame]
Lawrence Tang580423f2022-08-24 09:37:53 +01001#ifndef CPER_SECTION_H
2#define CPER_SECTION_H
3
Karthik Rajagopalan255bd812024-09-06 14:36:34 -07004#ifdef __cplusplus
5extern "C" {
6#endif
7
Lawrence Tang580423f2022-08-24 09:37:53 +01008#include <json.h>
9#include <stdio.h>
10#include <stdlib.h>
11#include "../edk/Cper.h"
12
13//Definition structure for a single CPER section type.
14typedef struct {
John Chungf8fc7052024-05-03 20:05:29 +080015 EFI_GUID *Guid;
16 const char *ReadableName;
Ed Tanousb07061a2024-09-22 10:33:29 -070017 const char *ShortName;
John Chungf8fc7052024-05-03 20:05:29 +080018 json_object *(*ToIR)(void *);
19 void (*ToCPER)(json_object *, FILE *);
Lawrence Tang580423f2022-08-24 09:37:53 +010020} CPER_SECTION_DEFINITION;
21
22extern CPER_SECTION_DEFINITION section_definitions[];
23extern const size_t section_definitions_len;
24
Karthik Rajagopalan255bd812024-09-06 14:36:34 -070025#ifdef __cplusplus
26}
27#endif
28
John Chungf8fc7052024-05-03 20:05:29 +080029#endif