6#ifndef FAPI_TPM_JSON_DESERIALIZE_H
7#define FAPI_TPM_JSON_DESERIALIZE_H
13#include "fapi_types.h"
14#include "tss2_common.h"
15#include "tss2_tpm2_types.h"
20json_object *ifapi_parse_json(
const char *jstring);
76ifapi_json_TPMA_ACT_deserialize(json_object *jso, TPMA_ACT *out);
145ifapi_json_TPMS_TAGGED_POLICY_deserialize(json_object *jso, TPMS_TAGGED_POLICY *out);
148ifapi_json_TPMS_ACT_DATA_deserialize(json_object *jso, TPMS_ACT_DATA *out);
231 TPMU_SCHEME_KEYEDHASH *out);
274 TPMS_SCHEME_KDF1_SP800_56A *out);
278 TPMS_SCHEME_KDF1_SP800_108 *out);
TSS2_RC ifapi_json_UINT32_deserialize(json_object *jso, UINT32 *out)
Definition tpm_json_deserialize.c:627
TSS2_RC ifapi_json_TPMI_RH_HIERARCHY_deserialize(json_object *jso, TPMI_RH_HIERARCHY *out)
Definition tpm_json_deserialize.c:1429
TSS2_RC ifapi_json_TPM2_PT_PCR_deserialize(json_object *jso, TPM2_PT_PCR *out)
Definition tpm_json_deserialize.c:1052
TSS2_RC ifapi_json_TPMS_ECC_POINT_deserialize(json_object *jso, TPMS_ECC_POINT *out)
Definition tpm_json_deserialize.c:3363
TSS2_RC ifapi_json_TPMU_ASYM_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_ASYM_SCHEME *out)
Definition tpm_json_deserialize.c:3162
TSS2_RC ifapi_json_TPM2_NT_deserialize(json_object *jso, TPM2_NT *out)
Definition tpm_json_deserialize.c:4052
TSS2_RC ifapi_json_TPMA_OBJECT_deserialize(json_object *jso, TPMA_OBJECT *out)
Definition tpm_json_deserialize.c:1125
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDAA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDAA *out)
Definition tpm_json_deserialize.c:3586
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDSA *out)
Definition tpm_json_deserialize.c:2869
TSS2_RC ifapi_json_TPMS_CERTIFY_INFO_deserialize(json_object *jso, TPMS_CERTIFY_INFO *out)
Definition tpm_json_deserialize.c:2064
TSS2_RC ifapi_json_TPMS_KEYEDHASH_PARMS_deserialize(json_object *jso, TPMS_KEYEDHASH_PARMS *out)
Definition tpm_json_deserialize.c:3772
TSS2_RC ifapi_json_TPMU_SIGNATURE_deserialize(UINT32 selector, json_object *jso, TPMU_SIGNATURE *out)
Definition tpm_json_deserialize.c:3630
TSS2_RC ifapi_json_TPM2B_NONCE_deserialize(json_object *jso, TPM2B_NONCE *out)
Definition tpm_json_deserialize.c:1711
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECSCHNORR_deserialize(json_object *jso, TPMS_SIGNATURE_ECSCHNORR *out)
Definition tpm_json_deserialize.c:3614
TSS2_RC ifapi_json_TPMT_SYM_DEF_OBJECT_deserialize(json_object *jso, TPMT_SYM_DEF_OBJECT *out)
Definition tpm_json_deserialize.c:2565
TSS2_RC ifapi_json_TPM2B_NV_PUBLIC_deserialize(json_object *jso, TPM2B_NV_PUBLIC *out)
Definition tpm_json_deserialize.c:4275
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDSA_deserialize(json_object *jso, TPMS_SIGNATURE_ECDSA *out)
Definition tpm_json_deserialize.c:3572
TSS2_RC ifapi_json_TPMS_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SCHEME_ECDAA *out)
Definition tpm_json_deserialize.c:2670
TSS2_RC ifapi_json_TPM2_ALG_ID_deserialize(json_object *jso, TPM2_ALG_ID *out)
Definition tpm_json_deserialize.c:730
TSS2_RC ifapi_json_TPMT_TK_CREATION_deserialize(json_object *jso, TPMT_TK_CREATION *out)
Definition tpm_json_deserialize.c:1815
TSS2_RC ifapi_json_TPMS_ATTEST_deserialize(json_object *jso, TPMS_ATTEST *out)
Definition tpm_json_deserialize.c:2357
TSS2_RC ifapi_json_TPMI_ALG_SYM_deserialize(json_object *jso, TPMI_ALG_SYM *out)
Definition tpm_json_deserialize.c:1487
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_OAEP_deserialize(json_object *jso, TPMS_ENC_SCHEME_OAEP *out)
Definition tpm_json_deserialize.c:3003
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSASSA_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSASSA *out)
Definition tpm_json_deserialize.c:2839
TSS2_RC ifapi_json_TPMT_SIG_SCHEME_deserialize(json_object *jso, TPMT_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:2965
TSS2_RC ifapi_json_UINT8_ARY_deserialize(json_object *jso, UINT8_ARY *out)
Definition tpm_json_deserialize.c:368
TSS2_RC ifapi_json_TPMI_ALG_CIPHER_MODE_deserialize(json_object *jso, TPMI_ALG_CIPHER_MODE *out)
Definition tpm_json_deserialize.c:1526
TSS2_RC ifapi_json_TPMU_SIG_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:2927
TSS2_RC ifapi_json_TPM2B_ENCRYPTED_SECRET_deserialize(json_object *jso, TPM2B_ENCRYPTED_SECRET *out)
Definition tpm_json_deserialize.c:3704
TSS2_RC ifapi_json_TPMI_ST_ATTEST_deserialize(json_object *jso, TPMI_ST_ATTEST *out)
Definition tpm_json_deserialize.c:2304
TSS2_RC ifapi_json_TPMS_RSA_PARMS_deserialize(json_object *jso, TPMS_RSA_PARMS *out)
Definition tpm_json_deserialize.c:3802
TSS2_RC ifapi_json_TPMI_ALG_RSA_DECRYPT_deserialize(json_object *jso, TPMI_ALG_RSA_DECRYPT *out)
Definition tpm_json_deserialize.c:3252
TSS2_RC ifapi_json_TPMS_ECC_PARMS_deserialize(json_object *jso, TPMS_ECC_PARMS *out)
Definition tpm_json_deserialize.c:3853
TSS2_RC ifapi_json_TPMI_RH_NV_INDEX_deserialize(json_object *jso, TPMI_RH_NV_INDEX *out)
Definition tpm_json_deserialize.c:1462
TSS2_RC ifapi_json_TPMT_SYM_DEF_deserialize(json_object *jso, TPMT_SYM_DEF *out)
Definition tpm_json_deserialize.c:2517
TSS2_RC ifapi_json_TPMS_KEY_SCHEME_ECDH_deserialize(json_object *jso, TPMS_KEY_SCHEME_ECDH *out)
Definition tpm_json_deserialize.c:3032
TSS2_RC ifapi_json_TPM2B_DATA_deserialize(json_object *jso, TPM2B_DATA *out)
Definition tpm_json_deserialize.c:1685
TSS2_RC ifapi_json_TPM2B_DIGEST_deserialize(json_object *jso, TPM2B_DIGEST *out)
Definition tpm_json_deserialize.c:1661
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECSCHNORR *out)
Definition tpm_json_deserialize.c:2897
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSA *out)
Definition tpm_json_deserialize.c:3462
TSS2_RC ifapi_json_TPM2B_OPERAND_deserialize(json_object *jso, TPM2B_OPERAND *out)
Definition tpm_json_deserialize.c:1727
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_56A *out)
Definition tpm_json_deserialize.c:3062
TSS2_RC ifapi_json_TPMS_SESSION_AUDIT_INFO_deserialize(json_object *jso, TPMS_SESSION_AUDIT_INFO *out)
Definition tpm_json_deserialize.c:2190
TSS2_RC ifapi_json_BYTE_deserialize(json_object *jso, BYTE *out)
Definition tpm_json_deserialize.c:555
TSS2_RC ifapi_json_TPM2B_CREATION_DATA_deserialize(json_object *jso, TPM2B_CREATION_DATA *out)
Definition tpm_json_deserialize.c:4381
TSS2_RC ifapi_json_TPMI_YES_NO_deserialize(json_object *jso, TPMI_YES_NO *out)
Definition tpm_json_deserialize.c:1396
TSS2_RC ifapi_json_TPMU_SCHEME_KEYEDHASH_deserialize(UINT32 selector, json_object *jso, TPMU_SCHEME_KEYEDHASH *out)
Definition tpm_json_deserialize.c:2771
TSS2_RC ifapi_json_TPMS_CREATION_DATA_deserialize(json_object *jso, TPMS_CREATION_DATA *out)
Definition tpm_json_deserialize.c:4310
TSS2_RC ifapi_json_TPMS_CLOCK_INFO_deserialize(json_object *jso, TPMS_CLOCK_INFO *out)
Definition tpm_json_deserialize.c:1940
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDAA_deserialize(json_object *jso, TPMS_SIG_SCHEME_ECDAA *out)
Definition tpm_json_deserialize.c:2911
TSS2_RC ifapi_json_TPMS_SCHEME_HASH_deserialize(json_object *jso, TPMS_SCHEME_HASH *out)
Definition tpm_json_deserialize.c:2641
TSS2_RC ifapi_json_TPM2B_ECC_PARAMETER_deserialize(json_object *jso, TPM2B_ECC_PARAMETER *out)
Definition tpm_json_deserialize.c:3337
TSS2_RC ifapi_json_TPMI_ALG_PUBLIC_deserialize(json_object *jso, TPMI_ALG_PUBLIC *out)
Definition tpm_json_deserialize.c:3728
TSS2_RC ifapi_json_TPMS_TIME_ATTEST_INFO_deserialize(json_object *jso, TPMS_TIME_ATTEST_INFO *out)
Definition tpm_json_deserialize.c:2027
TSS2_RC ifapi_json_UINT64_deserialize(json_object *jso, UINT64 *out)
Definition tpm_json_deserialize.c:651
TSS2_RC ifapi_hex_to_byte_ary(const char hex[], UINT32 vlen, BYTE val[])
Definition tpm_json_deserialize.c:142
TSS2_RC ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMI_ALG_KEYEDHASH_SCHEME *out)
Definition tpm_json_deserialize.c:2703
TSS2_RC ifapi_json_TPMT_KEYEDHASH_SCHEME_deserialize(json_object *jso, TPMT_KEYEDHASH_SCHEME *out)
Definition tpm_json_deserialize.c:2801
TSS2_RC ifapi_json_TPMI_ALG_SYM_MODE_deserialize(json_object *jso, TPMI_ALG_SYM_MODE *out)
Definition tpm_json_deserialize.c:1513
TSS2_RC ifapi_json_TPMI_AES_KEY_BITS_deserialize(json_object *jso, TPMI_AES_KEY_BITS *out)
Definition tpm_json_deserialize.c:2423
TSS2_RC ifapi_json_TPMT_SIGNATURE_deserialize(json_object *jso, TPMT_SIGNATURE *out)
Definition tpm_json_deserialize.c:3668
TSS2_RC ifapi_json_TPMS_NV_PUBLIC_deserialize(json_object *jso, TPMS_NV_PUBLIC *out)
Definition tpm_json_deserialize.c:4218
TSS2_RC ifapi_json_TPMI_ALG_RSA_SCHEME_deserialize(json_object *jso, TPMI_ALG_RSA_SCHEME *out)
Definition tpm_json_deserialize.c:3201
TSS2_RC ifapi_json_TPMU_SYM_KEY_BITS_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_KEY_BITS *out)
Definition tpm_json_deserialize.c:2457
TSS2_RC ifapi_json_TPMS_PCR_SELECT_deserialize(json_object *jso, TPMS_PCR_SELECT *out)
Definition tpm_json_deserialize.c:393
TSS2_RC ifapi_json_TPMU_PUBLIC_PARMS_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_PARMS *out)
Definition tpm_json_deserialize.c:3903
TSS2_RC ifapi_json_TPMS_SCHEME_MGF1_deserialize(json_object *jso, TPMS_SCHEME_MGF1 *out)
Definition tpm_json_deserialize.c:3048
TSS2_RC ifapi_json_TPMI_ALG_HASH_deserialize(json_object *jso, TPMI_ALG_HASH *out)
Definition tpm_json_deserialize.c:1474
TSS2_RC ifapi_json_TPMS_EMPTY_deserialize(json_object *jso, TPMS_EMPTY *out)
Definition tpm_json_deserialize.c:126
TSS2_RC ifapi_json_TPM2B_PUBLIC_KEY_RSA_deserialize(json_object *jso, TPM2B_PUBLIC_KEY_RSA *out)
Definition tpm_json_deserialize.c:3303
TSS2_RC ifapi_json_TPMT_KDF_SCHEME_deserialize(json_object *jso, TPMT_KDF_SCHEME *out)
Definition tpm_json_deserialize.c:3124
TSS2_RC ifapi_json_TPMS_SIGNATURE_SM2_deserialize(json_object *jso, TPMS_SIGNATURE_SM2 *out)
Definition tpm_json_deserialize.c:3600
bool ifapi_get_sub_object(json_object *jso, char *name, json_object **sub_jso)
Definition tpm_json_deserialize.c:253
TSS2_RC ifapi_json_TPMS_COMMAND_AUDIT_INFO_deserialize(json_object *jso, TPMS_COMMAND_AUDIT_INFO *out)
Definition tpm_json_deserialize.c:2139
TSS2_RC ifapi_json_TPMS_TIME_INFO_deserialize(json_object *jso, TPMS_TIME_INFO *out)
Definition tpm_json_deserialize.c:1990
TSS2_RC ifapi_json_TPM2B_MAX_NV_BUFFER_deserialize(json_object *jso, TPM2B_MAX_NV_BUFFER *out)
Definition tpm_json_deserialize.c:1765
TSS2_RC ifapi_json_TPMU_HA_deserialize(UINT32 selector, json_object *jso, TPMU_HA *out)
Definition tpm_json_deserialize.c:1569
TSS2_RC ifapi_json_TPMS_CREATION_INFO_deserialize(json_object *jso, TPMS_CREATION_INFO *out)
Definition tpm_json_deserialize.c:2227
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSASSA_deserialize(json_object *jso, TPMS_SIGNATURE_RSASSA *out)
Definition tpm_json_deserialize.c:3498
TSS2_RC ifapi_json_TPMU_PUBLIC_ID_deserialize(UINT32 selector, json_object *jso, TPMU_PUBLIC_ID *out)
Definition tpm_json_deserialize.c:3744
TSS2_RC ifapi_json_TPM2_GENERATED_deserialize(json_object *jso, TPM2_GENERATED *out)
Definition tpm_json_deserialize.c:692
TSS2_RC ifapi_json_BYTE_array_deserialize(size_t max, json_object *jso, BYTE *out)
Definition tpm_json_deserialize.c:526
TSS2_RC ifapi_json_TPMU_ATTEST_deserialize(UINT32 selector, json_object *jso, TPMU_ATTEST *out)
Definition tpm_json_deserialize.c:2321
TSS2_RC ifapi_json_TPMT_HA_deserialize(json_object *jso, TPMT_HA *out)
Definition tpm_json_deserialize.c:1626
TSS2_RC ifapi_json_TPM2B_NAME_deserialize(json_object *jso, TPM2B_NAME *out)
Definition tpm_json_deserialize.c:1789
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_RSAES_deserialize(json_object *jso, TPMS_ENC_SCHEME_RSAES *out)
Definition tpm_json_deserialize.c:3016
TSS2_RC ifapi_json_TPMI_ALG_KDF_deserialize(json_object *jso, TPMI_ALG_KDF *out)
Definition tpm_json_deserialize.c:1539
TSS2_RC ifapi_json_TPMS_SCHEME_XOR_deserialize(json_object *jso, TPMS_SCHEME_XOR *out)
Definition tpm_json_deserialize.c:2735
TSS2_RC ifapi_json_TPMS_SYMCIPHER_PARMS_deserialize(json_object *jso, TPMS_SYMCIPHER_PARMS *out)
Definition tpm_json_deserialize.c:2612
TSS2_RC ifapi_json_TPM2_HANDLE_deserialize(json_object *jso, TPM2_HANDLE *out)
Definition tpm_json_deserialize.c:1100
TSS2_RC ifapi_json_TPMU_SYM_MODE_deserialize(UINT32 selector, json_object *jso, TPMU_SYM_MODE *out)
Definition tpm_json_deserialize.c:2489
TSS2_RC ifapi_json_TPML_DIGEST_VALUES_deserialize(json_object *jso, TPML_DIGEST_VALUES *out)
Definition tpm_json_deserialize.c:1859
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_108_deserialize(json_object *jso, TPMS_SCHEME_KDF1_SP800_108 *out)
Definition tpm_json_deserialize.c:3077
TSS2_RC ifapi_json_TPMI_ALG_SYM_OBJECT_deserialize(json_object *jso, TPMI_ALG_SYM_OBJECT *out)
Definition tpm_json_deserialize.c:1500
TSS2_RC ifapi_json_TPM2B_EVENT_deserialize(json_object *jso, TPM2B_EVENT *out)
Definition tpm_json_deserialize.c:1741
TSS2_RC ifapi_json_TPMI_RSA_KEY_BITS_deserialize(json_object *jso, TPMI_RSA_KEY_BITS *out)
Definition tpm_json_deserialize.c:3324
TSS2_RC ifapi_json_TPMU_KDF_SCHEME_deserialize(UINT32 selector, json_object *jso, TPMU_KDF_SCHEME *out)
Definition tpm_json_deserialize.c:3094
TSS2_RC ifapi_json_TPMS_PCR_SELECTION_deserialize(json_object *jso, TPMS_PCR_SELECTION *out)
Definition tpm_json_deserialize.c:410
TSS2_RC ifapi_json_TPM2B_PUBLIC_deserialize(json_object *jso, TPM2B_PUBLIC *out)
Definition tpm_json_deserialize.c:3998
TSS2_RC ifapi_json_UINT16_deserialize(json_object *jso, UINT16 *out)
Definition tpm_json_deserialize.c:603
TSS2_RC ifapi_json_TPMS_SCHEME_HMAC_deserialize(json_object *jso, TPMS_SCHEME_HMAC *out)
Definition tpm_json_deserialize.c:2719
TSS2_RC ifapi_json_TPM2_ST_deserialize(json_object *jso, TPM2_ST *out)
Definition tpm_json_deserialize.c:1004
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECC_deserialize(json_object *jso, TPMS_SIGNATURE_ECC *out)
Definition tpm_json_deserialize.c:3529
TSS2_RC ifapi_json_TPMI_ALG_SIG_SCHEME_deserialize(json_object *jso, TPMI_ALG_SIG_SCHEME *out)
Definition tpm_json_deserialize.c:1552
TSS2_RC ifapi_json_TPMS_NV_CERTIFY_INFO_deserialize(json_object *jso, TPMS_NV_CERTIFY_INFO *out)
Definition tpm_json_deserialize.c:2264
TSS2_RC ifapi_json_TPMI_ECC_CURVE_deserialize(json_object *jso, TPMI_ECC_CURVE *out)
Definition tpm_json_deserialize.c:3407
TSS2_RC ifapi_json_TPMI_ALG_ECC_SCHEME_deserialize(json_object *jso, TPMI_ALG_ECC_SCHEME *out)
Definition tpm_json_deserialize.c:3396
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSAPSS_deserialize(json_object *jso, TPMS_SIGNATURE_RSAPSS *out)
Definition tpm_json_deserialize.c:3512
TSS2_RC ifapi_json_TPMT_RSA_SCHEME_deserialize(json_object *jso, TPMT_RSA_SCHEME *out)
Definition tpm_json_deserialize.c:3217
TSS2_RC ifapi_json_TPM2_ECC_CURVE_deserialize(json_object *jso, TPM2_ECC_CURVE *out)
Definition tpm_json_deserialize.c:779
TSS2_RC ifapi_json_TPM2_CC_deserialize(json_object *jso, TPM2_CC *out)
Definition tpm_json_deserialize.c:815
TSS2_RC ifapi_json_TPMT_ECC_SCHEME_deserialize(json_object *jso, TPMT_ECC_SCHEME *out)
Definition tpm_json_deserialize.c:3424
TSS2_RC ifapi_json_TPM2_EO_deserialize(json_object *jso, TPM2_EO *out)
Definition tpm_json_deserialize.c:961
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_SM2_deserialize(json_object *jso, TPMS_SIG_SCHEME_SM2 *out)
Definition tpm_json_deserialize.c:2883
TSS2_RC ifapi_json_TPMT_PUBLIC_deserialize(json_object *jso, TPMT_PUBLIC *out)
Definition tpm_json_deserialize.c:3935
TSS2_RC ifapi_json_TPM2B_PRIVATE_deserialize(json_object *jso, TPM2B_PRIVATE *out)
Definition tpm_json_deserialize.c:4028
TSS2_RC ifapi_json_TPMA_NV_deserialize(json_object *jso, TPMA_NV *out)
Definition tpm_json_deserialize.c:4087
TSS2_RC ifapi_json_TPML_PCR_SELECTION_deserialize(json_object *jso, TPML_PCR_SELECTION *out)
Definition tpm_json_deserialize.c:1898
TSS2_RC ifapi_json_TPMT_RSA_DECRYPT_deserialize(json_object *jso, TPMT_RSA_DECRYPT *out)
Definition tpm_json_deserialize.c:3267
TSS2_RC ifapi_json_TPMS_QUOTE_INFO_deserialize(json_object *jso, TPMS_QUOTE_INFO *out)
Definition tpm_json_deserialize.c:2101
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSAPSS_deserialize(json_object *jso, TPMS_SIG_SCHEME_RSAPSS *out)
Definition tpm_json_deserialize.c:2853
TSS2_RC ifapi_json_TPMA_LOCALITY_deserialize(json_object *jso, TPMA_LOCALITY *out)
Definition tpm_json_deserialize.c:1216
Definition fapi_types.h:15