xref: /aosp_15_r20/external/tpm2-tss/src/tss2-fapi/ifapi_json_serialize.h (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*******************************************************************************
3  * Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG
4  * All rights reserved.
5  ******************************************************************************/
6 #ifndef IFAPI_JSON_SERIALIZE_H
7 #define IFAPI_JSON_SERIALIZE_H
8 
9 #include <stdbool.h>
10 #include <json-c/json.h>
11 #include <json-c/json_util.h>
12 
13 #include "tss2_tpm2_types.h"
14 #include "fapi_int.h"
15 #include "ifapi_keystore.h"
16 
17 #define YES 1
18 #define NO 0
19 
20 TSS2_RC
21 ifapi_json_UINT8_ARY_serialize(const UINT8_ARY *in, json_object **jso);
22 
23 TSS2_RC
24 ifapi_json_IFAPI_OBJECT_TYPE_CONSTANT_serialize(const IFAPI_OBJECT_TYPE_CONSTANT
25         in, json_object **jso);
26 
27 TSS2_RC
28 ifapi_json_IFAPI_KEY_serialize(const IFAPI_KEY *in, json_object **jso);
29 
30 TSS2_RC
31 ifapi_json_IFAPI_EXT_PUB_KEY_serialize(const IFAPI_EXT_PUB_KEY *in,
32                                        json_object **jso);
33 
34 TSS2_RC
35 ifapi_json_IFAPI_NV_serialize(const IFAPI_NV *in, json_object **jso);
36 
37 TSS2_RC
38 ifapi_json_IFAPI_HIERARCHY_serialize(const IFAPI_HIERARCHY *in, json_object **jso);
39 
40 TSS2_RC
41 ifapi_json_IFAPI_OBJECT_serialize(const IFAPI_OBJECT *in,
42                                   json_object **jso);
43 
44 TSS2_RC
45 ifapi_json_FAPI_QUOTE_INFO_serialize(const FAPI_QUOTE_INFO *in,
46                                      json_object **jso);
47 
48 TSS2_RC
49 ifapi_json_IFAPI_DUPLICATE_serialize(const IFAPI_DUPLICATE *in,
50                                      json_object **jso);
51 TSS2_RC
52 ifapi_json_IFAPI_CAP_INFO_serialize(const IFAPI_CAP_INFO *in, json_object **jso);
53 
54 TSS2_RC
55 ifapi_json_IFAPI_INFO_serialize(const IFAPI_INFO *in, json_object **jso);
56 
57 TSS2_RC
58 ifapi_json_IFAPI_EVENT_TYPE_serialize(const IFAPI_EVENT_TYPE in,
59                                       json_object **jso);
60 
61 TSS2_RC
62 ifapi_json_IFAPI_EVENT_TYPE_serialize_txt(const IFAPI_EVENT_TYPE in,
63         json_object **jso);
64 
65 TSS2_RC
66 ifapi_json_IFAPI_TSS_EVENT_serialize(const IFAPI_TSS_EVENT *in,
67                                      json_object **jso);
68 
69 TSS2_RC
70 ifapi_json_IFAPI_IMA_EVENT_serialize(const IFAPI_IMA_EVENT *in,
71                                      json_object **jso);
72 
73 TSS2_RC
74 ifapi_json_IFAPI_EVENT_UNION_serialize(const IFAPI_EVENT_UNION *in,
75                                        UINT32 selector, json_object **jso);
76 
77 TSS2_RC
78 ifapi_json_IFAPI_EVENT_serialize(const IFAPI_EVENT *in, json_object **jso);
79 
80 #endif /* IFAPI_JSON_SERIALIZE_H */
81