• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_POLICY_JSON_DESERIALIZE_H
7 #define IFAPI_POLICY_JSON_DESERIALIZE_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 
16 TSS2_RC
17 ifapi_json_TPMI_POLICYTYPE_deserialize(json_object *jso, TPMI_POLICYTYPE *out);
18 
19 TSS2_RC
20 ifapi_json_TPMI_POLICYTYPE_deserialize_txt(json_object *jso,
21         TPMI_POLICYTYPE *out);
22 
23 TSS2_RC
24 ifapi_json_TPMS_POLICYSIGNED_deserialize(json_object *jso,
25         TPMS_POLICYSIGNED *out);
26 
27 TSS2_RC
28 ifapi_json_TPMS_POLICYSECRET_deserialize(json_object *jso,
29         TPMS_POLICYSECRET *out);
30 
31 TSS2_RC
32 ifapi_json_TPMS_POLICYLOCALITY_deserialize(json_object *jso,
33         TPMS_POLICYLOCALITY *out);
34 
35 TSS2_RC
36 ifapi_json_TPMS_POLICYNV_deserialize(json_object *jso, TPMS_POLICYNV *out);
37 
38 TSS2_RC
39 ifapi_json_TPMS_POLICYCOUNTERTIMER_deserialize(json_object *jso,
40         TPMS_POLICYCOUNTERTIMER *out);
41 
42 TSS2_RC
43 ifapi_json_TPMS_POLICYCOMMANDCODE_deserialize(json_object *jso,
44         TPMS_POLICYCOMMANDCODE *out);
45 
46 TSS2_RC
47 ifapi_json_TPMS_POLICYPHYSICALPRESENCE_deserialize(json_object *jso,
48         TPMS_POLICYPHYSICALPRESENCE *out);
49 
50 TSS2_RC
51 ifapi_json_TPMS_POLICYCPHASH_deserialize(json_object *jso,
52         TPMS_POLICYCPHASH *out);
53 
54 TSS2_RC
55 ifapi_json_TPMS_POLICYNAMEHASH_deserialize(json_object *jso,
56         TPMS_POLICYNAMEHASH *out);
57 
58 TSS2_RC
59 ifapi_json_TPMS_POLICYDUPLICATIONSELECT_deserialize(json_object *jso,
60         TPMS_POLICYDUPLICATIONSELECT *out);
61 
62 TSS2_RC
63 ifapi_json_TPMS_POLICYAUTHORIZE_deserialize(json_object *jso,
64         TPMS_POLICYAUTHORIZE *out);
65 
66 TSS2_RC
67 ifapi_json_TPMS_POLICYAUTHVALUE_deserialize(json_object *jso,
68         TPMS_POLICYAUTHVALUE *out);
69 
70 TSS2_RC
71 ifapi_json_TPMS_POLICYPASSWORD_deserialize(json_object *jso,
72         TPMS_POLICYPASSWORD *out);
73 
74 TSS2_RC
75 ifapi_json_TPMS_POLICYNVWRITTEN_deserialize(json_object *jso,
76         TPMS_POLICYNVWRITTEN *out);
77 
78 TSS2_RC
79 ifapi_json_TPMS_POLICYTEMPLATE_deserialize(json_object *jso,
80         TPMS_POLICYTEMPLATE *out);
81 
82 TSS2_RC
83 ifapi_json_TPMS_POLICYAUTHORIZENV_deserialize(json_object *jso,
84         TPMS_POLICYAUTHORIZENV *out);
85 
86 TSS2_RC
87 ifapi_json_TPMS_POLICYACTION_deserialize(json_object *jso,
88         TPMS_POLICYACTION *out);
89 
90 TSS2_RC
91 ifapi_json_TPMS_PCRVALUE_deserialize(json_object *jso, TPMS_PCRVALUE *out);
92 
93 TSS2_RC
94 ifapi_json_TPML_PCRVALUES_deserialize(json_object *jso, TPML_PCRVALUES **out);
95 
96 TSS2_RC
97 ifapi_json_TPMS_POLICYPCR_deserialize(json_object *jso, TPMS_POLICYPCR *out);
98 
99 TSS2_RC
100 ifapi_json_TPMS_POLICYAUTHORIZATION_deserialize(json_object *jso,
101         TPMS_POLICYAUTHORIZATION *out);
102 
103 TSS2_RC
104 ifapi_json_TPML_POLICYAUTHORIZATIONS_deserialize(json_object *jso,
105         TPML_POLICYAUTHORIZATIONS **out);
106 
107 TSS2_RC
108 ifapi_json_TPMS_POLICYBRANCH_deserialize(json_object *jso,
109         TPMS_POLICYBRANCH *out);
110 
111 TSS2_RC
112 ifapi_json_TPML_POLICYBRANCHES_deserialize(json_object *jso,
113         TPML_POLICYBRANCHES **out);
114 
115 TSS2_RC
116 ifapi_json_TPMS_POLICYOR_deserialize(json_object *jso, TPMS_POLICYOR *out);
117 
118 TSS2_RC
119 ifapi_json_TPMU_POLICYELEMENT_deserialize(UINT32 selector, json_object *jso,
120         TPMU_POLICYELEMENT *out);
121 
122 TSS2_RC
123 ifapi_json_TPMT_POLICYELEMENT_deserialize(json_object *jso,
124         TPMT_POLICYELEMENT *out);
125 
126 TSS2_RC
127 ifapi_json_TPML_POLICYELEMENTS_deserialize(json_object *jso,
128         TPML_POLICYELEMENTS **out);
129 
130 TSS2_RC
131 ifapi_json_TPMS_POLICY_deserialize(json_object *jso,
132         TPMS_POLICY *out);
133 
134 #endif /* IFAPI_POLICY_JSON_DESERIALIZE_H */
135