forked from openbmc/libcper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cper-utils.h
53 lines (46 loc) · 1.83 KB
/
cper-utils.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef CPER_UTILS_H
#define CPER_UTILS_H
#define GUID_STRING_LENGTH 48
#define TIMESTAMP_LENGTH 24
#ifdef __cplusplus
extern "C" {
#endif
#include "common-utils.h"
#include <json.h>
json_object *
cper_generic_error_status_to_ir(EFI_GENERIC_ERROR_STATUS *error_status);
void ir_generic_error_status_to_cper(
json_object *error_status, EFI_GENERIC_ERROR_STATUS *error_status_cper);
json_object *uniform_struct_to_ir(UINT32 *start, int len, const char *names[]);
json_object *uniform_struct64_to_ir(UINT64 *start, int len,
const char *names[]);
void ir_to_uniform_struct(json_object *ir, UINT32 *start, int len,
const char *names[]);
void ir_to_uniform_struct64(json_object *ir, UINT64 *start, int len,
const char *names[]);
json_object *integer_to_readable_pair(UINT64 value, int len, const int keys[],
const char *values[],
const char *default_value);
json_object *integer_to_readable_pair_with_desc(int value, int len,
const int keys[],
const char *values[],
const char *descriptions[],
const char *default_value);
UINT64 readable_pair_to_integer(json_object *pair);
json_object *bitfield_to_ir(UINT64 bitfield, int num_fields,
const char *names[]);
UINT64 ir_to_bitfield(json_object *ir, int num_fields, const char *names[]);
json_object *uint64_array_to_ir_array(UINT64 *array, int len);
json_object *revision_to_ir(UINT16 revision);
const char *severity_to_string(UINT32 severity);
void timestamp_to_string(char *out, EFI_ERROR_TIME_STAMP *timestamp);
void string_to_timestamp(EFI_ERROR_TIME_STAMP *out, const char *timestamp);
void guid_to_string(char *out, EFI_GUID *guid);
void string_to_guid(EFI_GUID *out, const char *guid);
int guid_equal(EFI_GUID *a, EFI_GUID *b);
//The available severity types for CPER.
extern const char *CPER_SEVERITY_TYPES[4];
#ifdef __cplusplus
}
#endif
#endif