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