1*758e9fbaSOystein Eftevaag /* SPDX-License-Identifier: BSD-2-Clause */ 2*758e9fbaSOystein Eftevaag /******************************************************************************* 3*758e9fbaSOystein Eftevaag * Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG 4*758e9fbaSOystein Eftevaag * All rights reserved. 5*758e9fbaSOystein Eftevaag ******************************************************************************/ 6*758e9fbaSOystein Eftevaag #ifndef FAPI_TPM_JSON_SERIALIZE_H 7*758e9fbaSOystein Eftevaag #define FAPI_TPM_JSON_SERIALIZE_H 8*758e9fbaSOystein Eftevaag 9*758e9fbaSOystein Eftevaag #include <stdbool.h> 10*758e9fbaSOystein Eftevaag #include <json-c/json.h> 11*758e9fbaSOystein Eftevaag #include <json-c/json_util.h> 12*758e9fbaSOystein Eftevaag 13*758e9fbaSOystein Eftevaag #include "tss2_tpm2_types.h" 14*758e9fbaSOystein Eftevaag #include "fapi_int.h" 15*758e9fbaSOystein Eftevaag 16*758e9fbaSOystein Eftevaag #define YES 1 17*758e9fbaSOystein Eftevaag #define NO 0 18*758e9fbaSOystein Eftevaag 19*758e9fbaSOystein Eftevaag TSS2_RC 20*758e9fbaSOystein Eftevaag ifapi_json_TPM2_HANDLE_serialize(const TPM2_HANDLE in, json_object **jso); 21*758e9fbaSOystein Eftevaag 22*758e9fbaSOystein Eftevaag TSS2_RC 23*758e9fbaSOystein Eftevaag ifapi_json_UINT16_serialize(const UINT16 in, json_object **jso); 24*758e9fbaSOystein Eftevaag 25*758e9fbaSOystein Eftevaag TSS2_RC 26*758e9fbaSOystein Eftevaag ifapi_json_UINT32_serialize(const UINT32 in, json_object **jso); 27*758e9fbaSOystein Eftevaag 28*758e9fbaSOystein Eftevaag TSS2_RC 29*758e9fbaSOystein Eftevaag ifapi_json_INT32_serialize(const INT32 in, json_object **jso); 30*758e9fbaSOystein Eftevaag 31*758e9fbaSOystein Eftevaag TSS2_RC 32*758e9fbaSOystein Eftevaag ifapi_json_UINT64_serialize(const UINT64 in, json_object **jso); 33*758e9fbaSOystein Eftevaag 34*758e9fbaSOystein Eftevaag TSS2_RC 35*758e9fbaSOystein Eftevaag ifapi_json_TPM2_GENERATED_serialize(const TPM2_GENERATED in, json_object **jso); 36*758e9fbaSOystein Eftevaag 37*758e9fbaSOystein Eftevaag TSS2_RC 38*758e9fbaSOystein Eftevaag ifapi_json_TPM2_ALG_ID_serialize(const TPM2_ALG_ID in, json_object **jso); 39*758e9fbaSOystein Eftevaag 40*758e9fbaSOystein Eftevaag TSS2_RC 41*758e9fbaSOystein Eftevaag ifapi_json_TPM2_ECC_CURVE_serialize(const TPM2_ECC_CURVE in, json_object **jso); 42*758e9fbaSOystein Eftevaag 43*758e9fbaSOystein Eftevaag TSS2_RC 44*758e9fbaSOystein Eftevaag ifapi_json_TPM2_CC_serialize(const TPM2_CC in, json_object **jso); 45*758e9fbaSOystein Eftevaag 46*758e9fbaSOystein Eftevaag TSS2_RC 47*758e9fbaSOystein Eftevaag ifapi_json_TPM2_EO_serialize(const TPM2_EO in, json_object **jso); 48*758e9fbaSOystein Eftevaag 49*758e9fbaSOystein Eftevaag TSS2_RC 50*758e9fbaSOystein Eftevaag ifapi_json_TPM2_ST_serialize(const TPM2_ST in, json_object **jso); 51*758e9fbaSOystein Eftevaag 52*758e9fbaSOystein Eftevaag TSS2_RC 53*758e9fbaSOystein Eftevaag ifapi_json_TPM2_CAP_serialize(const TPM2_CAP in, json_object **jso); 54*758e9fbaSOystein Eftevaag 55*758e9fbaSOystein Eftevaag TSS2_RC 56*758e9fbaSOystein Eftevaag ifapi_json_TPM2_PT_serialize(const TPM2_PT in, json_object **jso); 57*758e9fbaSOystein Eftevaag 58*758e9fbaSOystein Eftevaag TSS2_RC 59*758e9fbaSOystein Eftevaag ifapi_json_TPM2_PT_PCR_serialize(const TPM2_PT_PCR in, json_object **jso); 60*758e9fbaSOystein Eftevaag 61*758e9fbaSOystein Eftevaag TSS2_RC 62*758e9fbaSOystein Eftevaag ifapi_json_TPMA_ALGORITHM_serialize(const TPMA_ALGORITHM in, json_object **jso); 63*758e9fbaSOystein Eftevaag 64*758e9fbaSOystein Eftevaag TSS2_RC 65*758e9fbaSOystein Eftevaag ifapi_json_TPMA_OBJECT_serialize(const TPMA_OBJECT in, json_object **jso); 66*758e9fbaSOystein Eftevaag 67*758e9fbaSOystein Eftevaag TSS2_RC 68*758e9fbaSOystein Eftevaag ifapi_json_TPMA_LOCALITY_serialize(const TPMA_LOCALITY in, json_object **jso); 69*758e9fbaSOystein Eftevaag 70*758e9fbaSOystein Eftevaag TSS2_RC 71*758e9fbaSOystein Eftevaag ifapi_json_TPMA_CC_serialize(const TPMA_CC in, json_object **jso); 72*758e9fbaSOystein Eftevaag 73*758e9fbaSOystein Eftevaag TSS2_RC 74*758e9fbaSOystein Eftevaag ifapi_json_TPMI_YES_NO_serialize(const TPMI_YES_NO in, json_object **jso); 75*758e9fbaSOystein Eftevaag 76*758e9fbaSOystein Eftevaag TSS2_RC 77*758e9fbaSOystein Eftevaag ifapi_json_TPMI_RH_HIERARCHY_serialize(const TPMI_RH_HIERARCHY in, 78*758e9fbaSOystein Eftevaag json_object **jso); 79*758e9fbaSOystein Eftevaag 80*758e9fbaSOystein Eftevaag TSS2_RC 81*758e9fbaSOystein Eftevaag ifapi_json_TPMI_RH_NV_INDEX_serialize(const TPMI_RH_NV_INDEX in, 82*758e9fbaSOystein Eftevaag json_object **jso); 83*758e9fbaSOystein Eftevaag 84*758e9fbaSOystein Eftevaag TSS2_RC 85*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_HASH_serialize(const TPMI_ALG_HASH in, json_object **jso); 86*758e9fbaSOystein Eftevaag 87*758e9fbaSOystein Eftevaag TSS2_RC 88*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_SYM_OBJECT_serialize(const TPMI_ALG_SYM_OBJECT in, 89*758e9fbaSOystein Eftevaag json_object **jso); 90*758e9fbaSOystein Eftevaag 91*758e9fbaSOystein Eftevaag TSS2_RC 92*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_SYM_MODE_serialize(const TPMI_ALG_SYM_MODE in, 93*758e9fbaSOystein Eftevaag json_object **jso); 94*758e9fbaSOystein Eftevaag 95*758e9fbaSOystein Eftevaag TSS2_RC 96*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_KDF_serialize(const TPMI_ALG_KDF in, json_object **jso); 97*758e9fbaSOystein Eftevaag 98*758e9fbaSOystein Eftevaag TSS2_RC 99*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_SIG_SCHEME_serialize(const TPMI_ALG_SIG_SCHEME in, 100*758e9fbaSOystein Eftevaag json_object **jso); 101*758e9fbaSOystein Eftevaag 102*758e9fbaSOystein Eftevaag TSS2_RC 103*758e9fbaSOystein Eftevaag ifapi_json_TPMS_EMPTY_serialize(const TPMS_EMPTY *in, json_object **jso); 104*758e9fbaSOystein Eftevaag 105*758e9fbaSOystein Eftevaag TSS2_RC 106*758e9fbaSOystein Eftevaag ifapi_json_TPMU_HA_serialize(const TPMU_HA *in, UINT32 selector, 107*758e9fbaSOystein Eftevaag json_object **jso); 108*758e9fbaSOystein Eftevaag 109*758e9fbaSOystein Eftevaag TSS2_RC 110*758e9fbaSOystein Eftevaag ifapi_json_TPMT_HA_serialize(const TPMT_HA *in, json_object **jso); 111*758e9fbaSOystein Eftevaag 112*758e9fbaSOystein Eftevaag TSS2_RC 113*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_DIGEST_serialize(const TPM2B_DIGEST *in, json_object **jso); 114*758e9fbaSOystein Eftevaag 115*758e9fbaSOystein Eftevaag TSS2_RC 116*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_DATA_serialize(const TPM2B_DATA *in, json_object **jso); 117*758e9fbaSOystein Eftevaag 118*758e9fbaSOystein Eftevaag TSS2_RC 119*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_NONCE_serialize(const TPM2B_NONCE *in, json_object **jso); 120*758e9fbaSOystein Eftevaag 121*758e9fbaSOystein Eftevaag TSS2_RC 122*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_OPERAND_serialize(const TPM2B_OPERAND *in, json_object **jso); 123*758e9fbaSOystein Eftevaag 124*758e9fbaSOystein Eftevaag TSS2_RC 125*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_EVENT_serialize(const TPM2B_EVENT *in, json_object **jso); 126*758e9fbaSOystein Eftevaag 127*758e9fbaSOystein Eftevaag TSS2_RC 128*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_MAX_NV_BUFFER_serialize(const TPM2B_MAX_NV_BUFFER *in, 129*758e9fbaSOystein Eftevaag json_object **jso); 130*758e9fbaSOystein Eftevaag 131*758e9fbaSOystein Eftevaag TSS2_RC 132*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_NAME_serialize(const TPM2B_NAME *in, json_object **jso); 133*758e9fbaSOystein Eftevaag 134*758e9fbaSOystein Eftevaag TSS2_RC 135*758e9fbaSOystein Eftevaag ifapi_json_TPMS_PCR_SELECT_serialize(const TPMS_PCR_SELECT *in, 136*758e9fbaSOystein Eftevaag json_object **jso); 137*758e9fbaSOystein Eftevaag 138*758e9fbaSOystein Eftevaag TSS2_RC 139*758e9fbaSOystein Eftevaag ifapi_json_TPMS_PCR_SELECTION_serialize(const TPMS_PCR_SELECTION *in, 140*758e9fbaSOystein Eftevaag json_object **jso); 141*758e9fbaSOystein Eftevaag 142*758e9fbaSOystein Eftevaag TSS2_RC 143*758e9fbaSOystein Eftevaag ifapi_json_TPMT_TK_CREATION_serialize(const TPMT_TK_CREATION *in, 144*758e9fbaSOystein Eftevaag json_object **jso); 145*758e9fbaSOystein Eftevaag 146*758e9fbaSOystein Eftevaag TSS2_RC 147*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ALG_PROPERTY_serialize(const TPMS_ALG_PROPERTY *in, 148*758e9fbaSOystein Eftevaag json_object **jso); 149*758e9fbaSOystein Eftevaag 150*758e9fbaSOystein Eftevaag TSS2_RC 151*758e9fbaSOystein Eftevaag ifapi_json_TPMS_TAGGED_PROPERTY_serialize(const TPMS_TAGGED_PROPERTY *in, 152*758e9fbaSOystein Eftevaag json_object **jso); 153*758e9fbaSOystein Eftevaag 154*758e9fbaSOystein Eftevaag TSS2_RC 155*758e9fbaSOystein Eftevaag ifapi_json_TPMS_TAGGED_PCR_SELECT_serialize(const TPMS_TAGGED_PCR_SELECT *in, 156*758e9fbaSOystein Eftevaag json_object **jso); 157*758e9fbaSOystein Eftevaag 158*758e9fbaSOystein Eftevaag TSS2_RC 159*758e9fbaSOystein Eftevaag ifapi_json_TPML_CC_serialize(const TPML_CC *in, json_object **jso); 160*758e9fbaSOystein Eftevaag 161*758e9fbaSOystein Eftevaag TSS2_RC 162*758e9fbaSOystein Eftevaag ifapi_json_TPML_CCA_serialize(const TPML_CCA *in, json_object **jso); 163*758e9fbaSOystein Eftevaag 164*758e9fbaSOystein Eftevaag TSS2_RC 165*758e9fbaSOystein Eftevaag ifapi_json_TPML_HANDLE_serialize(const TPML_HANDLE *in, json_object **jso); 166*758e9fbaSOystein Eftevaag 167*758e9fbaSOystein Eftevaag TSS2_RC 168*758e9fbaSOystein Eftevaag ifapi_json_TPML_DIGEST_VALUES_serialize(const TPML_DIGEST_VALUES *in, 169*758e9fbaSOystein Eftevaag json_object **jso); 170*758e9fbaSOystein Eftevaag 171*758e9fbaSOystein Eftevaag TSS2_RC 172*758e9fbaSOystein Eftevaag ifapi_json_TPML_PCR_SELECTION_serialize(const TPML_PCR_SELECTION *in, 173*758e9fbaSOystein Eftevaag json_object **jso); 174*758e9fbaSOystein Eftevaag 175*758e9fbaSOystein Eftevaag TSS2_RC 176*758e9fbaSOystein Eftevaag ifapi_json_TPML_ALG_PROPERTY_serialize(const TPML_ALG_PROPERTY *in, 177*758e9fbaSOystein Eftevaag json_object **jso); 178*758e9fbaSOystein Eftevaag 179*758e9fbaSOystein Eftevaag TSS2_RC 180*758e9fbaSOystein Eftevaag ifapi_json_TPML_TAGGED_TPM_PROPERTY_serialize(const TPML_TAGGED_TPM_PROPERTY 181*758e9fbaSOystein Eftevaag *in, json_object **jso); 182*758e9fbaSOystein Eftevaag 183*758e9fbaSOystein Eftevaag TSS2_RC 184*758e9fbaSOystein Eftevaag ifapi_json_TPML_TAGGED_PCR_PROPERTY_serialize(const TPML_TAGGED_PCR_PROPERTY 185*758e9fbaSOystein Eftevaag *in, json_object **jso); 186*758e9fbaSOystein Eftevaag 187*758e9fbaSOystein Eftevaag TSS2_RC 188*758e9fbaSOystein Eftevaag ifapi_json_TPML_ECC_CURVE_serialize(const TPML_ECC_CURVE *in, 189*758e9fbaSOystein Eftevaag json_object **jso); 190*758e9fbaSOystein Eftevaag 191*758e9fbaSOystein Eftevaag TSS2_RC 192*758e9fbaSOystein Eftevaag ifapi_json_TPMU_CAPABILITIES_serialize(const TPMU_CAPABILITIES *in, 193*758e9fbaSOystein Eftevaag UINT32 selector, json_object **jso); 194*758e9fbaSOystein Eftevaag 195*758e9fbaSOystein Eftevaag TSS2_RC 196*758e9fbaSOystein Eftevaag ifapi_json_TPMS_CAPABILITY_DATA_serialize(const TPMS_CAPABILITY_DATA *in, 197*758e9fbaSOystein Eftevaag json_object **jso); 198*758e9fbaSOystein Eftevaag 199*758e9fbaSOystein Eftevaag TSS2_RC 200*758e9fbaSOystein Eftevaag ifapi_json_TPMS_CLOCK_INFO_serialize(const TPMS_CLOCK_INFO *in, 201*758e9fbaSOystein Eftevaag json_object **jso); 202*758e9fbaSOystein Eftevaag 203*758e9fbaSOystein Eftevaag TSS2_RC 204*758e9fbaSOystein Eftevaag ifapi_json_TPMS_TIME_INFO_serialize(const TPMS_TIME_INFO *in, 205*758e9fbaSOystein Eftevaag json_object **jso); 206*758e9fbaSOystein Eftevaag 207*758e9fbaSOystein Eftevaag TSS2_RC 208*758e9fbaSOystein Eftevaag ifapi_json_TPMS_TIME_ATTEST_INFO_serialize(const TPMS_TIME_ATTEST_INFO *in, 209*758e9fbaSOystein Eftevaag json_object **jso); 210*758e9fbaSOystein Eftevaag 211*758e9fbaSOystein Eftevaag TSS2_RC 212*758e9fbaSOystein Eftevaag ifapi_json_TPMS_CERTIFY_INFO_serialize(const TPMS_CERTIFY_INFO *in, 213*758e9fbaSOystein Eftevaag json_object **jso); 214*758e9fbaSOystein Eftevaag 215*758e9fbaSOystein Eftevaag TSS2_RC 216*758e9fbaSOystein Eftevaag ifapi_json_TPMS_QUOTE_INFO_serialize(const TPMS_QUOTE_INFO *in, 217*758e9fbaSOystein Eftevaag json_object **jso); 218*758e9fbaSOystein Eftevaag 219*758e9fbaSOystein Eftevaag TSS2_RC 220*758e9fbaSOystein Eftevaag ifapi_json_TPMS_COMMAND_AUDIT_INFO_serialize(const TPMS_COMMAND_AUDIT_INFO *in, 221*758e9fbaSOystein Eftevaag json_object **jso); 222*758e9fbaSOystein Eftevaag 223*758e9fbaSOystein Eftevaag TSS2_RC 224*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SESSION_AUDIT_INFO_serialize(const TPMS_SESSION_AUDIT_INFO *in, 225*758e9fbaSOystein Eftevaag json_object **jso); 226*758e9fbaSOystein Eftevaag 227*758e9fbaSOystein Eftevaag TSS2_RC 228*758e9fbaSOystein Eftevaag ifapi_json_TPMS_CREATION_INFO_serialize(const TPMS_CREATION_INFO *in, 229*758e9fbaSOystein Eftevaag json_object **jso); 230*758e9fbaSOystein Eftevaag 231*758e9fbaSOystein Eftevaag TSS2_RC 232*758e9fbaSOystein Eftevaag ifapi_json_TPMS_NV_CERTIFY_INFO_serialize(const TPMS_NV_CERTIFY_INFO *in, 233*758e9fbaSOystein Eftevaag json_object **jso); 234*758e9fbaSOystein Eftevaag 235*758e9fbaSOystein Eftevaag TSS2_RC 236*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ST_ATTEST_serialize(const TPMI_ST_ATTEST in, json_object **jso); 237*758e9fbaSOystein Eftevaag 238*758e9fbaSOystein Eftevaag TSS2_RC 239*758e9fbaSOystein Eftevaag ifapi_json_TPMU_ATTEST_serialize(const TPMU_ATTEST *in, UINT32 selector, 240*758e9fbaSOystein Eftevaag json_object **jso); 241*758e9fbaSOystein Eftevaag 242*758e9fbaSOystein Eftevaag TSS2_RC 243*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ATTEST_serialize(const TPMS_ATTEST *in, json_object **jso); 244*758e9fbaSOystein Eftevaag 245*758e9fbaSOystein Eftevaag TSS2_RC 246*758e9fbaSOystein Eftevaag ifapi_json_TPMI_AES_KEY_BITS_serialize(const TPMI_AES_KEY_BITS in, 247*758e9fbaSOystein Eftevaag json_object **jso); 248*758e9fbaSOystein Eftevaag 249*758e9fbaSOystein Eftevaag TSS2_RC 250*758e9fbaSOystein Eftevaag ifapi_json_TPMU_SYM_KEY_BITS_serialize(const TPMU_SYM_KEY_BITS *in, 251*758e9fbaSOystein Eftevaag UINT32 selector, json_object **jso); 252*758e9fbaSOystein Eftevaag 253*758e9fbaSOystein Eftevaag TSS2_RC 254*758e9fbaSOystein Eftevaag ifapi_json_TPMU_SYM_MODE_serialize(const TPMU_SYM_MODE *in, UINT32 selector, 255*758e9fbaSOystein Eftevaag json_object **jso); 256*758e9fbaSOystein Eftevaag 257*758e9fbaSOystein Eftevaag TSS2_RC 258*758e9fbaSOystein Eftevaag ifapi_json_TPMT_SYM_DEF_OBJECT_serialize(const TPMT_SYM_DEF_OBJECT *in, 259*758e9fbaSOystein Eftevaag json_object **jso); 260*758e9fbaSOystein Eftevaag 261*758e9fbaSOystein Eftevaag TSS2_RC 262*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SYMCIPHER_PARMS_serialize(const TPMS_SYMCIPHER_PARMS *in, 263*758e9fbaSOystein Eftevaag json_object **jso); 264*758e9fbaSOystein Eftevaag 265*758e9fbaSOystein Eftevaag TSS2_RC 266*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_HASH_serialize(const TPMS_SCHEME_HASH *in, 267*758e9fbaSOystein Eftevaag json_object **jso); 268*758e9fbaSOystein Eftevaag 269*758e9fbaSOystein Eftevaag TSS2_RC 270*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_ECDAA_serialize(const TPMS_SCHEME_ECDAA *in, 271*758e9fbaSOystein Eftevaag json_object **jso); 272*758e9fbaSOystein Eftevaag 273*758e9fbaSOystein Eftevaag TSS2_RC 274*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_serialize(const TPMI_ALG_KEYEDHASH_SCHEME 275*758e9fbaSOystein Eftevaag in, json_object **jso); 276*758e9fbaSOystein Eftevaag 277*758e9fbaSOystein Eftevaag TSS2_RC 278*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_HMAC_serialize(const TPMS_SCHEME_HMAC *in, 279*758e9fbaSOystein Eftevaag json_object **jso); 280*758e9fbaSOystein Eftevaag 281*758e9fbaSOystein Eftevaag TSS2_RC 282*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_XOR_serialize(const TPMS_SCHEME_XOR *in, 283*758e9fbaSOystein Eftevaag json_object **jso); 284*758e9fbaSOystein Eftevaag 285*758e9fbaSOystein Eftevaag TSS2_RC 286*758e9fbaSOystein Eftevaag ifapi_json_TPMU_SCHEME_KEYEDHASH_serialize(const TPMU_SCHEME_KEYEDHASH *in, 287*758e9fbaSOystein Eftevaag UINT32 selector, json_object **jso); 288*758e9fbaSOystein Eftevaag 289*758e9fbaSOystein Eftevaag TSS2_RC 290*758e9fbaSOystein Eftevaag ifapi_json_TPMT_KEYEDHASH_SCHEME_serialize(const TPMT_KEYEDHASH_SCHEME *in, 291*758e9fbaSOystein Eftevaag json_object **jso); 292*758e9fbaSOystein Eftevaag 293*758e9fbaSOystein Eftevaag TSS2_RC 294*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_RSASSA_serialize(const TPMS_SIG_SCHEME_RSASSA *in, 295*758e9fbaSOystein Eftevaag json_object **jso); 296*758e9fbaSOystein Eftevaag 297*758e9fbaSOystein Eftevaag TSS2_RC 298*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_RSAPSS_serialize(const TPMS_SIG_SCHEME_RSAPSS *in, 299*758e9fbaSOystein Eftevaag json_object **jso); 300*758e9fbaSOystein Eftevaag 301*758e9fbaSOystein Eftevaag TSS2_RC 302*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_ECDSA_serialize(const TPMS_SIG_SCHEME_ECDSA *in, 303*758e9fbaSOystein Eftevaag json_object **jso); 304*758e9fbaSOystein Eftevaag 305*758e9fbaSOystein Eftevaag TSS2_RC 306*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_SM2_serialize(const TPMS_SIG_SCHEME_SM2 *in, 307*758e9fbaSOystein Eftevaag json_object **jso); 308*758e9fbaSOystein Eftevaag 309*758e9fbaSOystein Eftevaag TSS2_RC 310*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_serialize(const TPMS_SIG_SCHEME_ECSCHNORR 311*758e9fbaSOystein Eftevaag *in, json_object **jso); 312*758e9fbaSOystein Eftevaag 313*758e9fbaSOystein Eftevaag TSS2_RC 314*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIG_SCHEME_ECDAA_serialize(const TPMS_SIG_SCHEME_ECDAA *in, 315*758e9fbaSOystein Eftevaag json_object **jso); 316*758e9fbaSOystein Eftevaag 317*758e9fbaSOystein Eftevaag TSS2_RC 318*758e9fbaSOystein Eftevaag ifapi_json_TPMU_SIG_SCHEME_serialize(const TPMU_SIG_SCHEME *in, UINT32 selector, 319*758e9fbaSOystein Eftevaag json_object **jso); 320*758e9fbaSOystein Eftevaag 321*758e9fbaSOystein Eftevaag TSS2_RC 322*758e9fbaSOystein Eftevaag ifapi_json_TPMT_SIG_SCHEME_serialize(const TPMT_SIG_SCHEME *in, 323*758e9fbaSOystein Eftevaag json_object **jso); 324*758e9fbaSOystein Eftevaag 325*758e9fbaSOystein Eftevaag TSS2_RC 326*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ENC_SCHEME_OAEP_serialize(const TPMS_ENC_SCHEME_OAEP *in, 327*758e9fbaSOystein Eftevaag json_object **jso); 328*758e9fbaSOystein Eftevaag 329*758e9fbaSOystein Eftevaag TSS2_RC 330*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ENC_SCHEME_RSAES_serialize(const TPMS_ENC_SCHEME_RSAES *in, 331*758e9fbaSOystein Eftevaag json_object **jso); 332*758e9fbaSOystein Eftevaag 333*758e9fbaSOystein Eftevaag TSS2_RC 334*758e9fbaSOystein Eftevaag ifapi_json_TPMS_KEY_SCHEME_ECDH_serialize(const TPMS_KEY_SCHEME_ECDH *in, 335*758e9fbaSOystein Eftevaag json_object **jso); 336*758e9fbaSOystein Eftevaag 337*758e9fbaSOystein Eftevaag TSS2_RC 338*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_MGF1_serialize(const TPMS_SCHEME_MGF1 *in, 339*758e9fbaSOystein Eftevaag json_object **jso); 340*758e9fbaSOystein Eftevaag 341*758e9fbaSOystein Eftevaag TSS2_RC 342*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_serialize(const TPMS_SCHEME_KDF1_SP800_56A 343*758e9fbaSOystein Eftevaag *in, json_object **jso); 344*758e9fbaSOystein Eftevaag 345*758e9fbaSOystein Eftevaag TSS2_RC 346*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SCHEME_KDF1_SP800_108_serialize(const TPMS_SCHEME_KDF1_SP800_108 347*758e9fbaSOystein Eftevaag *in, json_object **jso); 348*758e9fbaSOystein Eftevaag 349*758e9fbaSOystein Eftevaag TSS2_RC 350*758e9fbaSOystein Eftevaag ifapi_json_TPMU_KDF_SCHEME_serialize(const TPMU_KDF_SCHEME *in, UINT32 selector, 351*758e9fbaSOystein Eftevaag json_object **jso); 352*758e9fbaSOystein Eftevaag 353*758e9fbaSOystein Eftevaag TSS2_RC 354*758e9fbaSOystein Eftevaag ifapi_json_TPMT_KDF_SCHEME_serialize(const TPMT_KDF_SCHEME *in, 355*758e9fbaSOystein Eftevaag json_object **jso); 356*758e9fbaSOystein Eftevaag 357*758e9fbaSOystein Eftevaag TSS2_RC 358*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_ASYM_SCHEME_serialize(const TPMI_ALG_ASYM_SCHEME in, 359*758e9fbaSOystein Eftevaag json_object **jso); 360*758e9fbaSOystein Eftevaag 361*758e9fbaSOystein Eftevaag TSS2_RC 362*758e9fbaSOystein Eftevaag ifapi_json_TPMU_ASYM_SCHEME_serialize(const TPMU_ASYM_SCHEME *in, 363*758e9fbaSOystein Eftevaag UINT32 selector, json_object **jso); 364*758e9fbaSOystein Eftevaag 365*758e9fbaSOystein Eftevaag TSS2_RC 366*758e9fbaSOystein Eftevaag ifapi_json_TPMT_ASYM_SCHEME_serialize(const TPMT_ASYM_SCHEME *in, 367*758e9fbaSOystein Eftevaag json_object **jso); 368*758e9fbaSOystein Eftevaag 369*758e9fbaSOystein Eftevaag TSS2_RC 370*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_RSA_SCHEME_serialize(const TPMI_ALG_RSA_SCHEME in, 371*758e9fbaSOystein Eftevaag json_object **jso); 372*758e9fbaSOystein Eftevaag 373*758e9fbaSOystein Eftevaag TSS2_RC 374*758e9fbaSOystein Eftevaag ifapi_json_TPMT_RSA_SCHEME_serialize(const TPMT_RSA_SCHEME *in, 375*758e9fbaSOystein Eftevaag json_object **jso); 376*758e9fbaSOystein Eftevaag 377*758e9fbaSOystein Eftevaag TSS2_RC 378*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_PUBLIC_KEY_RSA_serialize(const TPM2B_PUBLIC_KEY_RSA *in, 379*758e9fbaSOystein Eftevaag json_object **jso); 380*758e9fbaSOystein Eftevaag 381*758e9fbaSOystein Eftevaag TSS2_RC 382*758e9fbaSOystein Eftevaag ifapi_json_TPMI_RSA_KEY_BITS_serialize(const TPMI_RSA_KEY_BITS in, 383*758e9fbaSOystein Eftevaag json_object **jso); 384*758e9fbaSOystein Eftevaag 385*758e9fbaSOystein Eftevaag TSS2_RC 386*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_ECC_PARAMETER_serialize(const TPM2B_ECC_PARAMETER *in, 387*758e9fbaSOystein Eftevaag json_object **jso); 388*758e9fbaSOystein Eftevaag 389*758e9fbaSOystein Eftevaag TSS2_RC 390*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ECC_POINT_serialize(const TPMS_ECC_POINT *in, 391*758e9fbaSOystein Eftevaag json_object **jso); 392*758e9fbaSOystein Eftevaag 393*758e9fbaSOystein Eftevaag TSS2_RC 394*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_ECC_SCHEME_serialize(const TPMI_ALG_ECC_SCHEME in, 395*758e9fbaSOystein Eftevaag json_object **jso); 396*758e9fbaSOystein Eftevaag 397*758e9fbaSOystein Eftevaag TSS2_RC 398*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ECC_CURVE_serialize(const TPMI_ECC_CURVE in, json_object **jso); 399*758e9fbaSOystein Eftevaag 400*758e9fbaSOystein Eftevaag TSS2_RC 401*758e9fbaSOystein Eftevaag ifapi_json_TPMT_ECC_SCHEME_serialize(const TPMT_ECC_SCHEME *in, 402*758e9fbaSOystein Eftevaag json_object **jso); 403*758e9fbaSOystein Eftevaag 404*758e9fbaSOystein Eftevaag TSS2_RC 405*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_RSA_serialize(const TPMS_SIGNATURE_RSA *in, 406*758e9fbaSOystein Eftevaag json_object **jso); 407*758e9fbaSOystein Eftevaag 408*758e9fbaSOystein Eftevaag TSS2_RC 409*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_RSASSA_serialize(const TPMS_SIGNATURE_RSASSA *in, 410*758e9fbaSOystein Eftevaag json_object **jso); 411*758e9fbaSOystein Eftevaag 412*758e9fbaSOystein Eftevaag TSS2_RC 413*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_RSAPSS_serialize(const TPMS_SIGNATURE_RSAPSS *in, 414*758e9fbaSOystein Eftevaag json_object **jso); 415*758e9fbaSOystein Eftevaag 416*758e9fbaSOystein Eftevaag TSS2_RC 417*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_ECC_serialize(const TPMS_SIGNATURE_ECC *in, 418*758e9fbaSOystein Eftevaag json_object **jso); 419*758e9fbaSOystein Eftevaag 420*758e9fbaSOystein Eftevaag TSS2_RC 421*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_ECDSA_serialize(const TPMS_SIGNATURE_ECDSA *in, 422*758e9fbaSOystein Eftevaag json_object **jso); 423*758e9fbaSOystein Eftevaag 424*758e9fbaSOystein Eftevaag TSS2_RC 425*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_ECDAA_serialize(const TPMS_SIGNATURE_ECDAA *in, 426*758e9fbaSOystein Eftevaag json_object **jso); 427*758e9fbaSOystein Eftevaag 428*758e9fbaSOystein Eftevaag TSS2_RC 429*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_SM2_serialize(const TPMS_SIGNATURE_SM2 *in, 430*758e9fbaSOystein Eftevaag json_object **jso); 431*758e9fbaSOystein Eftevaag 432*758e9fbaSOystein Eftevaag TSS2_RC 433*758e9fbaSOystein Eftevaag ifapi_json_TPMS_SIGNATURE_ECSCHNORR_serialize(const TPMS_SIGNATURE_ECSCHNORR 434*758e9fbaSOystein Eftevaag *in, json_object **jso); 435*758e9fbaSOystein Eftevaag 436*758e9fbaSOystein Eftevaag TSS2_RC 437*758e9fbaSOystein Eftevaag ifapi_json_TPMU_SIGNATURE_serialize(const TPMU_SIGNATURE *in, UINT32 selector, 438*758e9fbaSOystein Eftevaag json_object **jso); 439*758e9fbaSOystein Eftevaag 440*758e9fbaSOystein Eftevaag TSS2_RC 441*758e9fbaSOystein Eftevaag ifapi_json_TPMT_SIGNATURE_serialize(const TPMT_SIGNATURE *in, 442*758e9fbaSOystein Eftevaag json_object **jso); 443*758e9fbaSOystein Eftevaag 444*758e9fbaSOystein Eftevaag TSS2_RC 445*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_ENCRYPTED_SECRET_serialize(const TPM2B_ENCRYPTED_SECRET *in, 446*758e9fbaSOystein Eftevaag json_object **jso); 447*758e9fbaSOystein Eftevaag 448*758e9fbaSOystein Eftevaag TSS2_RC 449*758e9fbaSOystein Eftevaag ifapi_json_TPMI_ALG_PUBLIC_serialize(const TPMI_ALG_PUBLIC in, 450*758e9fbaSOystein Eftevaag json_object **jso); 451*758e9fbaSOystein Eftevaag 452*758e9fbaSOystein Eftevaag TSS2_RC 453*758e9fbaSOystein Eftevaag ifapi_json_TPMU_PUBLIC_ID_serialize(const TPMU_PUBLIC_ID *in, UINT32 selector, 454*758e9fbaSOystein Eftevaag json_object **jso); 455*758e9fbaSOystein Eftevaag 456*758e9fbaSOystein Eftevaag TSS2_RC 457*758e9fbaSOystein Eftevaag ifapi_json_TPMS_KEYEDHASH_PARMS_serialize(const TPMS_KEYEDHASH_PARMS *in, 458*758e9fbaSOystein Eftevaag json_object **jso); 459*758e9fbaSOystein Eftevaag 460*758e9fbaSOystein Eftevaag TSS2_RC 461*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ASYM_PARMS_serialize(const TPMS_ASYM_PARMS *in, 462*758e9fbaSOystein Eftevaag json_object **jso); 463*758e9fbaSOystein Eftevaag 464*758e9fbaSOystein Eftevaag TSS2_RC 465*758e9fbaSOystein Eftevaag ifapi_json_TPMS_RSA_PARMS_serialize(const TPMS_RSA_PARMS *in, 466*758e9fbaSOystein Eftevaag json_object **jso); 467*758e9fbaSOystein Eftevaag 468*758e9fbaSOystein Eftevaag TSS2_RC 469*758e9fbaSOystein Eftevaag ifapi_json_TPMS_ECC_PARMS_serialize(const TPMS_ECC_PARMS *in, 470*758e9fbaSOystein Eftevaag json_object **jso); 471*758e9fbaSOystein Eftevaag 472*758e9fbaSOystein Eftevaag TSS2_RC 473*758e9fbaSOystein Eftevaag ifapi_json_TPMU_PUBLIC_PARMS_serialize(const TPMU_PUBLIC_PARMS *in, 474*758e9fbaSOystein Eftevaag UINT32 selector, json_object **jso); 475*758e9fbaSOystein Eftevaag 476*758e9fbaSOystein Eftevaag TSS2_RC 477*758e9fbaSOystein Eftevaag ifapi_json_TPMT_PUBLIC_serialize(const TPMT_PUBLIC *in, json_object **jso); 478*758e9fbaSOystein Eftevaag 479*758e9fbaSOystein Eftevaag TSS2_RC 480*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_PUBLIC_serialize(const TPM2B_PUBLIC *in, json_object **jso); 481*758e9fbaSOystein Eftevaag 482*758e9fbaSOystein Eftevaag TSS2_RC 483*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_PRIVATE_serialize(const TPM2B_PRIVATE *in, json_object **jso); 484*758e9fbaSOystein Eftevaag 485*758e9fbaSOystein Eftevaag TSS2_RC 486*758e9fbaSOystein Eftevaag ifapi_json_TPM2_NT_serialize(const TPM2_NT in, json_object **jso); 487*758e9fbaSOystein Eftevaag 488*758e9fbaSOystein Eftevaag TSS2_RC 489*758e9fbaSOystein Eftevaag ifapi_json_TPMA_NV_serialize(const TPMA_NV in, json_object **jso); 490*758e9fbaSOystein Eftevaag 491*758e9fbaSOystein Eftevaag TSS2_RC 492*758e9fbaSOystein Eftevaag ifapi_json_TPMS_NV_PUBLIC_serialize(const TPMS_NV_PUBLIC *in, 493*758e9fbaSOystein Eftevaag json_object **jso); 494*758e9fbaSOystein Eftevaag 495*758e9fbaSOystein Eftevaag TSS2_RC 496*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_NV_PUBLIC_serialize(const TPM2B_NV_PUBLIC *in, 497*758e9fbaSOystein Eftevaag json_object **jso); 498*758e9fbaSOystein Eftevaag 499*758e9fbaSOystein Eftevaag TSS2_RC 500*758e9fbaSOystein Eftevaag ifapi_json_TPMS_CREATION_DATA_serialize(const TPMS_CREATION_DATA *in, 501*758e9fbaSOystein Eftevaag json_object **jso); 502*758e9fbaSOystein Eftevaag 503*758e9fbaSOystein Eftevaag TSS2_RC 504*758e9fbaSOystein Eftevaag ifapi_json_TPM2B_CREATION_DATA_serialize(const TPM2B_CREATION_DATA *in, 505*758e9fbaSOystein Eftevaag json_object **jso); 506*758e9fbaSOystein Eftevaag 507*758e9fbaSOystein Eftevaag #endif /* FAPI_TPM_JSON_SERIALIZE_H */ 508