1c60a243eSLawrence Tang #ifndef CPER_SECTION_FIRMWARE_H
2c60a243eSLawrence Tang #define CPER_SECTION_FIRMWARE_H
3c60a243eSLawrence Tang 
4*255bd81aSKarthik Rajagopalan #ifdef __cplusplus
5*255bd81aSKarthik Rajagopalan extern "C" {
6*255bd81aSKarthik Rajagopalan #endif
7*255bd81aSKarthik Rajagopalan 
85202bbb4SLawrence Tang #include <json.h>
9c60a243eSLawrence Tang #include "../edk/Cper.h"
10c60a243eSLawrence Tang 
11f8fc7052SJohn Chung #define FIRMWARE_ERROR_RECORD_TYPES_KEYS                                       \
12f8fc7052SJohn Chung 	(int[])                                                                \
13f8fc7052SJohn Chung 	{                                                                      \
14f8fc7052SJohn Chung 		0, 1, 2                                                        \
15f8fc7052SJohn Chung 	}
16f8fc7052SJohn Chung #define FIRMWARE_ERROR_RECORD_TYPES_VALUES                                     \
17f8fc7052SJohn Chung 	(const char *[])                                                       \
18f8fc7052SJohn Chung 	{                                                                      \
19f8fc7052SJohn Chung 		"IPF SAL Error Record",                                        \
20f8fc7052SJohn Chung 			"SOC Firmware Error Record (Type1 Legacy)",            \
21f8fc7052SJohn Chung 			"SOC Firmware Error Record (Type2)"                    \
22f8fc7052SJohn Chung 	}
23c60a243eSLawrence Tang 
24f8fc7052SJohn Chung json_object *cper_section_firmware_to_ir(void *section);
25205dd1d7SLawrence Tang void ir_section_firmware_to_cper(json_object *section, FILE *out);
26c60a243eSLawrence Tang 
27*255bd81aSKarthik Rajagopalan #ifdef __cplusplus
28*255bd81aSKarthik Rajagopalan }
29*255bd81aSKarthik Rajagopalan #endif
30*255bd81aSKarthik Rajagopalan 
31c60a243eSLawrence Tang #endif
32