tpm2-tss 4.1.3
TPM Software stack 2.0 TCG spec compliant implementation
tpm_json_serialize.h
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 FAPI_TPM_JSON_SERIALIZE_H
7#define FAPI_TPM_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
16#define YES 1
17#define NO 0
18
19#define CHECK_IN_LIST(type, needle, ...) \
20 type tab[] = { __VA_ARGS__ }; \
21 size_t i; \
22 for(i = 0; i < sizeof(tab) / sizeof(tab[0]); i++) \
23 if (needle == tab[i]) \
24 break; \
25 if (i == sizeof(tab) / sizeof(tab[0])) { \
26 LOG_ERROR("Bad value"); \
27 return TSS2_FAPI_RC_BAD_VALUE; \
28 }
29
30#define JSON_CLEAR(jso) \
31 if (jso) { \
32 json_object_put(jso); \
33 }
34
35#define return_if_jso_error(r,msg, jso) \
36 if (r != TSS2_RC_SUCCESS) { \
37 LOG_ERROR("%s " TPM2_ERROR_FORMAT, msg, TPM2_ERROR_TEXT(r)); \
38 if (jso) { \
39 json_object_put(jso); \
40 } \
41 return r; \
42 }
43
44TSS2_RC
45ifapi_json_TPM2_HANDLE_serialize(const TPM2_HANDLE in, json_object **jso);
46
47TSS2_RC
48ifapi_json_UINT16_serialize(const UINT16 in, json_object **jso);
49
50TSS2_RC
51ifapi_json_UINT32_serialize(const UINT32 in, json_object **jso);
52
53TSS2_RC
54ifapi_json_INT32_serialize(const INT32 in, json_object **jso);
55
56TSS2_RC
57ifapi_json_UINT64_serialize(const UINT64 in, json_object **jso);
58
59TSS2_RC
60ifapi_json_TPM2_GENERATED_serialize(const TPM2_GENERATED in, json_object **jso);
61
62TSS2_RC
63ifapi_json_TPM2_ALG_ID_serialize(const TPM2_ALG_ID in, json_object **jso);
64
65TSS2_RC
66ifapi_json_TPM2_ECC_CURVE_serialize(const TPM2_ECC_CURVE in, json_object **jso);
67
68TSS2_RC
69ifapi_json_TPM2_CC_serialize(const TPM2_CC in, json_object **jso);
70
71TSS2_RC
72ifapi_json_TPM2_EO_serialize(const TPM2_EO in, json_object **jso);
73
74TSS2_RC
75ifapi_json_TPM2_ST_serialize(const TPM2_ST in, json_object **jso);
76
77TSS2_RC
78ifapi_json_TPM2_CAP_serialize(const TPM2_CAP in, json_object **jso);
79
80TSS2_RC
81ifapi_json_TPM2_PT_serialize(const TPM2_PT in, json_object **jso);
82
83TSS2_RC
84ifapi_json_TPM2_PT_PCR_serialize(const TPM2_PT_PCR in, json_object **jso);
85
86TSS2_RC
87ifapi_json_TPMA_ALGORITHM_serialize(const TPMA_ALGORITHM in, json_object **jso);
88
89TSS2_RC
90ifapi_json_TPMA_OBJECT_serialize(const TPMA_OBJECT in, json_object **jso);
91
92TSS2_RC
93ifapi_json_TPMA_LOCALITY_serialize(const TPMA_LOCALITY in, json_object **jso);
94
95TSS2_RC
96ifapi_json_TPMA_CC_serialize(const TPMA_CC in, json_object **jso);
97
98TSS2_RC
99ifapi_json_TPMA_ACT_serialize(const TPMA_ACT in, json_object **jso);
100
101TSS2_RC
102ifapi_json_TPMI_YES_NO_serialize(const TPMI_YES_NO in, json_object **jso);
103
104TSS2_RC
105ifapi_json_TPMI_RH_HIERARCHY_serialize(const TPMI_RH_HIERARCHY in,
106 json_object **jso);
107
108TSS2_RC
109ifapi_json_TPMI_RH_NV_INDEX_serialize(const TPMI_RH_NV_INDEX in,
110 json_object **jso);
111
112TSS2_RC
113ifapi_json_TPMI_ALG_HASH_serialize(const TPMI_ALG_HASH in, json_object **jso);
114
115TSS2_RC
116ifapi_json_TPMI_ALG_SYM_OBJECT_serialize(const TPMI_ALG_SYM_OBJECT in,
117 json_object **jso);
118
119TSS2_RC
120ifapi_json_TPMI_ALG_SYM_MODE_serialize(const TPMI_ALG_SYM_MODE in,
121 json_object **jso);
122
123TSS2_RC
124ifapi_json_TPMI_ALG_CIPHER_MODE_serialize(const TPMI_ALG_CIPHER_MODE in,
125 json_object **jso);
126
127TSS2_RC
128ifapi_json_TPMI_ALG_KDF_serialize(const TPMI_ALG_KDF in, json_object **jso);
129
130TSS2_RC
131ifapi_json_TPMI_ALG_SIG_SCHEME_serialize(const TPMI_ALG_SIG_SCHEME in,
132 json_object **jso);
133
134TSS2_RC
135ifapi_json_TPMS_EMPTY_serialize(const TPMS_EMPTY *in, json_object **jso);
136
137TSS2_RC
138ifapi_json_TPMU_HA_serialize(const TPMU_HA *in, UINT32 selector,
139 json_object **jso);
140
141TSS2_RC
142ifapi_json_TPMT_HA_serialize(const TPMT_HA *in, json_object **jso);
143
144TSS2_RC
145ifapi_json_TPM2B_DIGEST_serialize(const TPM2B_DIGEST *in, json_object **jso);
146
147TSS2_RC
148ifapi_json_TPM2B_DATA_serialize(const TPM2B_DATA *in, json_object **jso);
149
150TSS2_RC
151ifapi_json_TPM2B_NONCE_serialize(const TPM2B_NONCE *in, json_object **jso);
152
153TSS2_RC
154ifapi_json_TPM2B_OPERAND_serialize(const TPM2B_OPERAND *in, json_object **jso);
155
156TSS2_RC
157ifapi_json_TPM2B_EVENT_serialize(const TPM2B_EVENT *in, json_object **jso);
158
159TSS2_RC
160ifapi_json_TPM2B_MAX_NV_BUFFER_serialize(const TPM2B_MAX_NV_BUFFER *in,
161 json_object **jso);
162
163TSS2_RC
164ifapi_json_TPM2B_NAME_serialize(const TPM2B_NAME *in, json_object **jso);
165
166TSS2_RC
167ifapi_json_TPMS_PCR_SELECT_serialize(const TPMS_PCR_SELECT *in,
168 json_object **jso);
169
170TSS2_RC
171ifapi_json_TPMS_PCR_SELECTION_serialize(const TPMS_PCR_SELECTION *in,
172 json_object **jso);
173
174TSS2_RC
175ifapi_json_TPMT_TK_CREATION_serialize(const TPMT_TK_CREATION *in,
176 json_object **jso);
177
178TSS2_RC
179ifapi_json_TPMS_ALG_PROPERTY_serialize(const TPMS_ALG_PROPERTY *in,
180 json_object **jso);
181
182TSS2_RC
183ifapi_json_TPMS_TAGGED_PROPERTY_serialize(const TPMS_TAGGED_PROPERTY *in,
184 json_object **jso);
185
186TSS2_RC
187ifapi_json_TPMS_TAGGED_PCR_SELECT_serialize(const TPMS_TAGGED_PCR_SELECT *in,
188 json_object **jso);
189
190TSS2_RC
191ifapi_json_TPMS_TAGGED_POLICY_serialize(const TPMS_TAGGED_POLICY *in,
192 json_object **jso);
193
194TSS2_RC
195ifapi_json_TPMS_ACT_DATA_serialize(const TPMS_ACT_DATA *in, json_object **jso);
196
197TSS2_RC
198ifapi_json_TPML_CC_serialize(const TPML_CC *in, json_object **jso);
199
200TSS2_RC
201ifapi_json_TPML_CCA_serialize(const TPML_CCA *in, json_object **jso);
202
203TSS2_RC
204ifapi_json_TPML_HANDLE_serialize(const TPML_HANDLE *in, json_object **jso);
205
206TSS2_RC
207ifapi_json_TPML_DIGEST_VALUES_serialize(const TPML_DIGEST_VALUES *in,
208 json_object **jso);
209
210TSS2_RC
211ifapi_json_TPML_PCR_SELECTION_serialize(const TPML_PCR_SELECTION *in,
212 json_object **jso);
213
214TSS2_RC
215ifapi_json_TPML_ALG_PROPERTY_serialize(const TPML_ALG_PROPERTY *in,
216 json_object **jso);
217
218TSS2_RC
219ifapi_json_TPML_TAGGED_TPM_PROPERTY_serialize(const TPML_TAGGED_TPM_PROPERTY
220 *in, json_object **jso);
221
222TSS2_RC
223ifapi_json_TPML_TAGGED_PCR_PROPERTY_serialize(const TPML_TAGGED_PCR_PROPERTY
224 *in, json_object **jso);
225
226TSS2_RC
227ifapi_json_TPML_ECC_CURVE_serialize(const TPML_ECC_CURVE *in,
228 json_object **jso);
229
230TSS2_RC
231ifapi_json_TPML_TAGGED_POLICY_serialize(const TPML_TAGGED_POLICY *in,
232 json_object **jso);
233
234TSS2_RC
235ifapi_json_TPML_ACT_DATA_serialize(const TPML_ACT_DATA *in, json_object **jso);
236
237TSS2_RC
238ifapi_json_TPMU_CAPABILITIES_serialize(const TPMU_CAPABILITIES *in,
239 UINT32 selector, json_object **jso);
240
241TSS2_RC
242ifapi_json_TPMS_CAPABILITY_DATA_serialize(const TPMS_CAPABILITY_DATA *in,
243 json_object **jso);
244
245TSS2_RC
246ifapi_json_TPMS_CLOCK_INFO_serialize(const TPMS_CLOCK_INFO *in,
247 json_object **jso);
248
249TSS2_RC
250ifapi_json_TPMS_TIME_INFO_serialize(const TPMS_TIME_INFO *in,
251 json_object **jso);
252
253TSS2_RC
254ifapi_json_TPMS_TIME_ATTEST_INFO_serialize(const TPMS_TIME_ATTEST_INFO *in,
255 json_object **jso);
256
257TSS2_RC
258ifapi_json_TPMS_CERTIFY_INFO_serialize(const TPMS_CERTIFY_INFO *in,
259 json_object **jso);
260
261TSS2_RC
262ifapi_json_TPMS_QUOTE_INFO_serialize(const TPMS_QUOTE_INFO *in,
263 json_object **jso);
264
265TSS2_RC
266ifapi_json_TPMS_COMMAND_AUDIT_INFO_serialize(const TPMS_COMMAND_AUDIT_INFO *in,
267 json_object **jso);
268
269TSS2_RC
270ifapi_json_TPMS_SESSION_AUDIT_INFO_serialize(const TPMS_SESSION_AUDIT_INFO *in,
271 json_object **jso);
272
273TSS2_RC
274ifapi_json_TPMS_CREATION_INFO_serialize(const TPMS_CREATION_INFO *in,
275 json_object **jso);
276
277TSS2_RC
278ifapi_json_TPMS_NV_CERTIFY_INFO_serialize(const TPMS_NV_CERTIFY_INFO *in,
279 json_object **jso);
280
281TSS2_RC
282ifapi_json_TPMI_ST_ATTEST_serialize(const TPMI_ST_ATTEST in, json_object **jso);
283
284TSS2_RC
285ifapi_json_TPMU_ATTEST_serialize(const TPMU_ATTEST *in, UINT32 selector,
286 json_object **jso);
287
288TSS2_RC
289ifapi_json_TPMS_ATTEST_serialize(const TPMS_ATTEST *in, json_object **jso);
290
291TSS2_RC
292ifapi_json_TPMI_AES_KEY_BITS_serialize(const TPMI_AES_KEY_BITS in,
293 json_object **jso);
294
295TSS2_RC
296ifapi_json_TPMU_SYM_KEY_BITS_serialize(const TPMU_SYM_KEY_BITS *in,
297 UINT32 selector, json_object **jso);
298
299TSS2_RC
300ifapi_json_TPMU_SYM_MODE_serialize(const TPMU_SYM_MODE *in, UINT32 selector,
301 json_object **jso);
302
303TSS2_RC
304ifapi_json_TPMT_SYM_DEF_OBJECT_serialize(const TPMT_SYM_DEF_OBJECT *in,
305 json_object **jso);
306
307TSS2_RC
308ifapi_json_TPMS_SYMCIPHER_PARMS_serialize(const TPMS_SYMCIPHER_PARMS *in,
309 json_object **jso);
310
311TSS2_RC
312ifapi_json_TPMS_SCHEME_HASH_serialize(const TPMS_SCHEME_HASH *in,
313 json_object **jso);
314
315TSS2_RC
316ifapi_json_TPMS_SCHEME_ECDAA_serialize(const TPMS_SCHEME_ECDAA *in,
317 json_object **jso);
318
319TSS2_RC
320ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_serialize(const TPMI_ALG_KEYEDHASH_SCHEME
321 in, json_object **jso);
322
323TSS2_RC
324ifapi_json_TPMS_SCHEME_HMAC_serialize(const TPMS_SCHEME_HMAC *in,
325 json_object **jso);
326
327TSS2_RC
328ifapi_json_TPMS_SCHEME_XOR_serialize(const TPMS_SCHEME_XOR *in,
329 json_object **jso);
330
331TSS2_RC
332ifapi_json_TPMU_SCHEME_KEYEDHASH_serialize(const TPMU_SCHEME_KEYEDHASH *in,
333 UINT32 selector, json_object **jso);
334
335TSS2_RC
336ifapi_json_TPMT_KEYEDHASH_SCHEME_serialize(const TPMT_KEYEDHASH_SCHEME *in,
337 json_object **jso);
338
339TSS2_RC
340ifapi_json_TPMS_SIG_SCHEME_RSASSA_serialize(const TPMS_SIG_SCHEME_RSASSA *in,
341 json_object **jso);
342
343TSS2_RC
344ifapi_json_TPMS_SIG_SCHEME_RSAPSS_serialize(const TPMS_SIG_SCHEME_RSAPSS *in,
345 json_object **jso);
346
347TSS2_RC
348ifapi_json_TPMS_SIG_SCHEME_ECDSA_serialize(const TPMS_SIG_SCHEME_ECDSA *in,
349 json_object **jso);
350
351TSS2_RC
352ifapi_json_TPMS_SIG_SCHEME_SM2_serialize(const TPMS_SIG_SCHEME_SM2 *in,
353 json_object **jso);
354
355TSS2_RC
356ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_serialize(const TPMS_SIG_SCHEME_ECSCHNORR
357 *in, json_object **jso);
358
359TSS2_RC
360ifapi_json_TPMS_SIG_SCHEME_ECDAA_serialize(const TPMS_SIG_SCHEME_ECDAA *in,
361 json_object **jso);
362
363TSS2_RC
364ifapi_json_TPMU_SIG_SCHEME_serialize(const TPMU_SIG_SCHEME *in, UINT32 selector,
365 json_object **jso);
366
367TSS2_RC
368ifapi_json_TPMT_SIG_SCHEME_serialize(const TPMT_SIG_SCHEME *in,
369 json_object **jso);
370
371TSS2_RC
372ifapi_json_TPMS_ENC_SCHEME_OAEP_serialize(const TPMS_ENC_SCHEME_OAEP *in,
373 json_object **jso);
374
375TSS2_RC
376ifapi_json_TPMS_ENC_SCHEME_RSAES_serialize(const TPMS_ENC_SCHEME_RSAES *in,
377 json_object **jso);
378
379TSS2_RC
380ifapi_json_TPMS_KEY_SCHEME_ECDH_serialize(const TPMS_KEY_SCHEME_ECDH *in,
381 json_object **jso);
382
383TSS2_RC
384ifapi_json_TPMS_SCHEME_MGF1_serialize(const TPMS_SCHEME_MGF1 *in,
385 json_object **jso);
386
387TSS2_RC
388ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_serialize(const TPMS_SCHEME_KDF1_SP800_56A
389 *in, json_object **jso);
390
391TSS2_RC
392ifapi_json_TPMS_SCHEME_KDF1_SP800_108_serialize(const TPMS_SCHEME_KDF1_SP800_108
393 *in, json_object **jso);
394
395TSS2_RC
396ifapi_json_TPMU_KDF_SCHEME_serialize(const TPMU_KDF_SCHEME *in, UINT32 selector,
397 json_object **jso);
398
399TSS2_RC
400ifapi_json_TPMT_KDF_SCHEME_serialize(const TPMT_KDF_SCHEME *in,
401 json_object **jso);
402
403TSS2_RC
404ifapi_json_TPMI_ALG_ASYM_SCHEME_serialize(const TPMI_ALG_ASYM_SCHEME in,
405 json_object **jso);
406
407TSS2_RC
408ifapi_json_TPMU_ASYM_SCHEME_serialize(const TPMU_ASYM_SCHEME *in,
409 UINT32 selector, json_object **jso);
410
411TSS2_RC
412ifapi_json_TPMT_ASYM_SCHEME_serialize(const TPMT_ASYM_SCHEME *in,
413 json_object **jso);
414
415TSS2_RC
416ifapi_json_TPMI_ALG_RSA_SCHEME_serialize(const TPMI_ALG_RSA_SCHEME in,
417 json_object **jso);
418
419TSS2_RC
420ifapi_json_TPMT_RSA_SCHEME_serialize(const TPMT_RSA_SCHEME *in,
421 json_object **jso);
422
423TSS2_RC
424ifapi_json_TPM2B_PUBLIC_KEY_RSA_serialize(const TPM2B_PUBLIC_KEY_RSA *in,
425 json_object **jso);
426
427TSS2_RC
428ifapi_json_TPMI_RSA_KEY_BITS_serialize(const TPMI_RSA_KEY_BITS in,
429 json_object **jso);
430
431TSS2_RC
432ifapi_json_TPM2B_ECC_PARAMETER_serialize(const TPM2B_ECC_PARAMETER *in,
433 json_object **jso);
434
435TSS2_RC
436ifapi_json_TPMS_ECC_POINT_serialize(const TPMS_ECC_POINT *in,
437 json_object **jso);
438
439TSS2_RC
440ifapi_json_TPMI_ALG_ECC_SCHEME_serialize(const TPMI_ALG_ECC_SCHEME in,
441 json_object **jso);
442
443TSS2_RC
444ifapi_json_TPMI_ECC_CURVE_serialize(const TPMI_ECC_CURVE in, json_object **jso);
445
446TSS2_RC
447ifapi_json_TPMT_ECC_SCHEME_serialize(const TPMT_ECC_SCHEME *in,
448 json_object **jso);
449
450TSS2_RC
451ifapi_json_TPMS_SIGNATURE_RSA_serialize(const TPMS_SIGNATURE_RSA *in,
452 json_object **jso);
453
454TSS2_RC
455ifapi_json_TPMS_SIGNATURE_RSASSA_serialize(const TPMS_SIGNATURE_RSASSA *in,
456 json_object **jso);
457
458TSS2_RC
459ifapi_json_TPMS_SIGNATURE_RSAPSS_serialize(const TPMS_SIGNATURE_RSAPSS *in,
460 json_object **jso);
461
462TSS2_RC
463ifapi_json_TPMS_SIGNATURE_ECC_serialize(const TPMS_SIGNATURE_ECC *in,
464 json_object **jso);
465
466TSS2_RC
467ifapi_json_TPMS_SIGNATURE_ECDSA_serialize(const TPMS_SIGNATURE_ECDSA *in,
468 json_object **jso);
469
470TSS2_RC
471ifapi_json_TPMS_SIGNATURE_ECDAA_serialize(const TPMS_SIGNATURE_ECDAA *in,
472 json_object **jso);
473
474TSS2_RC
475ifapi_json_TPMS_SIGNATURE_SM2_serialize(const TPMS_SIGNATURE_SM2 *in,
476 json_object **jso);
477
478TSS2_RC
479ifapi_json_TPMS_SIGNATURE_ECSCHNORR_serialize(const TPMS_SIGNATURE_ECSCHNORR
480 *in, json_object **jso);
481
482TSS2_RC
483ifapi_json_TPMU_SIGNATURE_serialize(const TPMU_SIGNATURE *in, UINT32 selector,
484 json_object **jso);
485
486TSS2_RC
487ifapi_json_TPMT_SIGNATURE_serialize(const TPMT_SIGNATURE *in,
488 json_object **jso);
489
490TSS2_RC
491ifapi_json_TPM2B_ENCRYPTED_SECRET_serialize(const TPM2B_ENCRYPTED_SECRET *in,
492 json_object **jso);
493
494TSS2_RC
495ifapi_json_TPMI_ALG_PUBLIC_serialize(const TPMI_ALG_PUBLIC in,
496 json_object **jso);
497
498TSS2_RC
499ifapi_json_TPMU_PUBLIC_ID_serialize(const TPMU_PUBLIC_ID *in, UINT32 selector,
500 json_object **jso);
501
502TSS2_RC
503ifapi_json_TPMS_KEYEDHASH_PARMS_serialize(const TPMS_KEYEDHASH_PARMS *in,
504 json_object **jso);
505
506TSS2_RC
507ifapi_json_TPMS_RSA_PARMS_serialize(const TPMS_RSA_PARMS *in,
508 json_object **jso);
509
510TSS2_RC
511ifapi_json_TPMS_ECC_PARMS_serialize(const TPMS_ECC_PARMS *in,
512 json_object **jso);
513
514TSS2_RC
515ifapi_json_TPMU_PUBLIC_PARMS_serialize(const TPMU_PUBLIC_PARMS *in,
516 UINT32 selector, json_object **jso);
517
518TSS2_RC
519ifapi_json_TPMT_PUBLIC_serialize(const TPMT_PUBLIC *in, json_object **jso);
520
521TSS2_RC
522ifapi_json_TPM2B_PUBLIC_serialize(const TPM2B_PUBLIC *in, json_object **jso);
523
524TSS2_RC
525ifapi_json_TPM2B_PRIVATE_serialize(const TPM2B_PRIVATE *in, json_object **jso);
526
527TSS2_RC
528ifapi_json_TPM2_NT_serialize(const TPM2_NT in, json_object **jso);
529
530TSS2_RC
531ifapi_json_TPMA_NV_serialize(const TPMA_NV in, json_object **jso);
532
533TSS2_RC
534ifapi_json_TPMS_NV_PUBLIC_serialize(const TPMS_NV_PUBLIC *in,
535 json_object **jso);
536
537TSS2_RC
538ifapi_json_TPM2B_NV_PUBLIC_serialize(const TPM2B_NV_PUBLIC *in,
539 json_object **jso);
540
541TSS2_RC
542ifapi_json_TPMS_CREATION_DATA_serialize(const TPMS_CREATION_DATA *in,
543 json_object **jso);
544
545TSS2_RC
546ifapi_json_TPM2B_CREATION_DATA_serialize(const TPM2B_CREATION_DATA *in,
547 json_object **jso);
548
549#endif /* FAPI_TPM_JSON_SERIALIZE_H */
TSS2_RC ifapi_json_TPMI_ST_ATTEST_serialize(const TPMI_ST_ATTEST in, json_object **jso)
Definition tpm_json_serialize.c:2502
TSS2_RC ifapi_json_TPMS_SCHEME_XOR_serialize(const TPMS_SCHEME_XOR *in, json_object **jso)
Definition tpm_json_serialize.c:2898
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECSCHNORR_serialize(const TPMS_SIGNATURE_ECSCHNORR *in, json_object **jso)
Definition tpm_json_serialize.c:3754
TSS2_RC ifapi_json_TPMU_SIG_SCHEME_serialize(const TPMU_SIG_SCHEME *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:3088
TSS2_RC ifapi_json_TPML_ECC_CURVE_serialize(const TPML_ECC_CURVE *in, json_object **jso)
Definition tpm_json_serialize.c:1969
TSS2_RC ifapi_json_TPM2B_MAX_NV_BUFFER_serialize(const TPM2B_MAX_NV_BUFFER *in, json_object **jso)
Definition tpm_json_serialize.c:1505
TSS2_RC ifapi_json_TPMI_RH_HIERARCHY_serialize(const TPMI_RH_HIERARCHY in, json_object **jso)
Definition tpm_json_serialize.c:1143
TSS2_RC ifapi_json_TPM2_EO_serialize(const TPM2_EO in, json_object **jso)
Definition tpm_json_serialize.c:610
TSS2_RC ifapi_json_TPMI_ALG_SYM_MODE_serialize(const TPMI_ALG_SYM_MODE in, json_object **jso)
Definition tpm_json_serialize.c:1227
TSS2_RC ifapi_json_TPMS_SCHEME_HMAC_serialize(const TPMS_SCHEME_HMAC *in, json_object **jso)
Definition tpm_json_serialize.c:2883
TSS2_RC ifapi_json_TPM2_GENERATED_serialize(const TPM2_GENERATED in, json_object **jso)
Definition tpm_json_serialize.c:349
TSS2_RC ifapi_json_INT32_serialize(const INT32 in, json_object **jso)
Definition tpm_json_serialize.c:285
TSS2_RC ifapi_json_TPMS_SCHEME_MGF1_serialize(const TPMS_SCHEME_MGF1 *in, json_object **jso)
Definition tpm_json_serialize.c:3203
TSS2_RC ifapi_json_TPM2B_CREATION_DATA_serialize(const TPM2B_CREATION_DATA *in, json_object **jso)
Definition tpm_json_serialize.c:4466
TSS2_RC ifapi_json_TPM2B_PUBLIC_KEY_RSA_serialize(const TPM2B_PUBLIC_KEY_RSA *in, json_object **jso)
Definition tpm_json_serialize.c:3423
TSS2_RC ifapi_json_TPMA_CC_serialize(const TPMA_CC in, json_object **jso)
Definition tpm_json_serialize.c:1020
TSS2_RC ifapi_json_TPM2B_EVENT_serialize(const TPM2B_EVENT *in, json_object **jso)
Definition tpm_json_serialize.c:1475
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_RSAES_serialize(const TPMS_ENC_SCHEME_RSAES *in, json_object **jso)
Definition tpm_json_serialize.c:3173
TSS2_RC ifapi_json_TPMU_SYM_KEY_BITS_serialize(const TPMU_SYM_KEY_BITS *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:2678
TSS2_RC ifapi_json_TPMS_NV_CERTIFY_INFO_serialize(const TPMS_NV_CERTIFY_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2461
TSS2_RC ifapi_json_TPM2_PT_serialize(const TPM2_PT in, json_object **jso)
Definition tpm_json_serialize.c:724
TSS2_RC ifapi_json_TPM2_ST_serialize(const TPM2_ST in, json_object **jso)
Definition tpm_json_serialize.c:646
TSS2_RC ifapi_json_TPMS_PCR_SELECTION_serialize(const TPMS_PCR_SELECTION *in, json_object **jso)
Definition tpm_json_serialize.c:112
TSS2_RC ifapi_json_TPMI_RH_NV_INDEX_serialize(const TPMI_RH_NV_INDEX in, json_object **jso)
Definition tpm_json_serialize.c:1173
TSS2_RC ifapi_json_TPM2_ECC_CURVE_serialize(const TPM2_ECC_CURVE in, json_object **jso)
Definition tpm_json_serialize.c:436
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_56A_serialize(const TPMS_SCHEME_KDF1_SP800_56A *in, json_object **jso)
Definition tpm_json_serialize.c:3218
TSS2_RC ifapi_json_TPMS_CREATION_INFO_serialize(const TPMS_CREATION_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2426
TSS2_RC ifapi_json_TPMA_ALGORITHM_serialize(const TPMA_ALGORITHM in, json_object **jso)
Definition tpm_json_serialize.c:878
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_SM2_serialize(const TPMS_SIG_SCHEME_SM2 *in, json_object **jso)
Definition tpm_json_serialize.c:3041
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDAA_serialize(const TPMS_SIG_SCHEME_ECDAA *in, json_object **jso)
Definition tpm_json_serialize.c:3071
TSS2_RC ifapi_json_TPMS_RSA_PARMS_serialize(const TPMS_RSA_PARMS *in, json_object **jso)
Definition tpm_json_serialize.c:3946
TSS2_RC ifapi_json_TPMU_SCHEME_KEYEDHASH_serialize(const TPMU_SCHEME_KEYEDHASH *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:2935
TSS2_RC ifapi_json_TPML_TAGGED_TPM_PROPERTY_serialize(const TPML_TAGGED_TPM_PROPERTY *in, json_object **jso)
Definition tpm_json_serialize.c:1899
TSS2_RC ifapi_json_TPMI_YES_NO_serialize(const TPMI_YES_NO in, json_object **jso)
Definition tpm_json_serialize.c:1121
TSS2_RC ifapi_json_TPMT_HA_serialize(const TPMT_HA *in, json_object **jso)
Definition tpm_json_serialize.c:1348
TSS2_RC ifapi_json_TPM2_HANDLE_serialize(const TPM2_HANDLE in, json_object **jso)
Definition tpm_json_serialize.c:858
TSS2_RC ifapi_json_TPMS_ECC_POINT_serialize(const TPMS_ECC_POINT *in, json_object **jso)
Definition tpm_json_serialize.c:3499
TSS2_RC ifapi_json_TPMU_PUBLIC_ID_serialize(const TPMU_PUBLIC_ID *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:3890
TSS2_RC ifapi_json_TPM2_ALG_ID_serialize(const TPM2_ALG_ID in, json_object **jso)
Definition tpm_json_serialize.c:373
TSS2_RC ifapi_json_UINT32_serialize(const UINT32 in, json_object **jso)
Definition tpm_json_serialize.c:266
TSS2_RC ifapi_json_TPMT_TK_CREATION_serialize(const TPMT_TK_CREATION *in, json_object **jso)
Definition tpm_json_serialize.c:1565
TSS2_RC ifapi_json_TPMS_SCHEME_ECDAA_serialize(const TPMS_SCHEME_ECDAA *in, json_object **jso)
Definition tpm_json_serialize.c:2833
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSAPSS_serialize(const TPMS_SIGNATURE_RSAPSS *in, json_object **jso)
Definition tpm_json_serialize.c:3652
TSS2_RC ifapi_json_TPMI_ALG_KDF_serialize(const TPMI_ALG_KDF in, json_object **jso)
Definition tpm_json_serialize.c:1261
TSS2_RC ifapi_json_TPM2B_NV_PUBLIC_serialize(const TPM2B_NV_PUBLIC *in, json_object **jso)
Definition tpm_json_serialize.c:4359
TSS2_RC ifapi_json_TPML_CCA_serialize(const TPML_CCA *in, json_object **jso)
Definition tpm_json_serialize.c:1724
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECC_serialize(const TPMS_SIGNATURE_ECC *in, json_object **jso)
Definition tpm_json_serialize.c:3667
TSS2_RC ifapi_json_TPM2B_NONCE_serialize(const TPM2B_NONCE *in, json_object **jso)
Definition tpm_json_serialize.c:1445
TSS2_RC ifapi_json_TPM2_NT_serialize(const TPM2_NT in, json_object **jso)
Definition tpm_json_serialize.c:4203
TSS2_RC ifapi_json_TPMT_KEYEDHASH_SCHEME_serialize(const TPMT_KEYEDHASH_SCHEME *in, json_object **jso)
Definition tpm_json_serialize.c:2959
TSS2_RC ifapi_json_TPML_PCR_SELECTION_serialize(const TPML_PCR_SELECTION *in, json_object **jso)
Definition tpm_json_serialize.c:1829
TSS2_RC ifapi_json_TPMU_PUBLIC_PARMS_serialize(const TPMU_PUBLIC_PARMS *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:4046
TSS2_RC ifapi_json_TPML_ALG_PROPERTY_serialize(const TPML_ALG_PROPERTY *in, json_object **jso)
Definition tpm_json_serialize.c:1864
TSS2_RC ifapi_json_TPMI_ALG_KEYEDHASH_SCHEME_serialize(const TPMI_ALG_KEYEDHASH_SCHEME in, json_object **jso)
Definition tpm_json_serialize.c:2867
TSS2_RC ifapi_json_TPMT_SYM_DEF_OBJECT_serialize(const TPMT_SYM_DEF_OBJECT *in, json_object **jso)
Definition tpm_json_serialize.c:2731
TSS2_RC ifapi_json_TPMI_ALG_CIPHER_MODE_serialize(const TPMI_ALG_CIPHER_MODE in, json_object **jso)
Definition tpm_json_serialize.c:1244
TSS2_RC ifapi_json_TPMS_TIME_INFO_serialize(const TPMS_TIME_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2202
TSS2_RC ifapi_json_TPMU_HA_serialize(const TPMU_HA *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:1297
TSS2_RC ifapi_json_TPMU_ATTEST_serialize(const TPMU_ATTEST *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:2522
TSS2_RC ifapi_json_TPM2_CC_serialize(const TPM2_CC in, json_object **jso)
Definition tpm_json_serialize.c:469
TSS2_RC ifapi_json_TPMI_ECC_CURVE_serialize(const TPMI_ECC_CURVE in, json_object **jso)
Definition tpm_json_serialize.c:3550
TSS2_RC ifapi_json_TPMT_RSA_SCHEME_serialize(const TPMT_RSA_SCHEME *in, json_object **jso)
Definition tpm_json_serialize.c:3386
TSS2_RC ifapi_json_TPMS_CLOCK_INFO_serialize(const TPMS_CLOCK_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2153
TSS2_RC ifapi_json_TPM2B_DIGEST_serialize(const TPM2B_DIGEST *in, json_object **jso)
Definition tpm_json_serialize.c:1385
TSS2_RC ifapi_json_TPM2B_DATA_serialize(const TPM2B_DATA *in, json_object **jso)
Definition tpm_json_serialize.c:1415
TSS2_RC ifapi_json_TPMS_KEYEDHASH_PARMS_serialize(const TPMS_KEYEDHASH_PARMS *in, json_object **jso)
Definition tpm_json_serialize.c:3918
TSS2_RC ifapi_json_TPMS_KEY_SCHEME_ECDH_serialize(const TPMS_KEY_SCHEME_ECDH *in, json_object **jso)
Definition tpm_json_serialize.c:3188
TSS2_RC ifapi_json_TPM2B_PUBLIC_serialize(const TPM2B_PUBLIC *in, json_object **jso)
Definition tpm_json_serialize.c:4137
TSS2_RC ifapi_json_TPMS_CAPABILITY_DATA_serialize(const TPMS_CAPABILITY_DATA *in, json_object **jso)
Definition tpm_json_serialize.c:2118
TSS2_RC ifapi_json_TPMI_ALG_ECC_SCHEME_serialize(const TPMI_ALG_ECC_SCHEME in, json_object **jso)
Definition tpm_json_serialize.c:3533
TSS2_RC ifapi_json_TPMI_AES_KEY_BITS_serialize(const TPMI_AES_KEY_BITS in, json_object **jso)
Definition tpm_json_serialize.c:2661
TSS2_RC ifapi_json_TPM2B_OPERAND_serialize(const TPM2B_OPERAND *in, json_object **jso)
Definition tpm_json_serialize.c:1460
TSS2_RC ifapi_json_TPM2B_NAME_serialize(const TPM2B_NAME *in, json_object **jso)
Definition tpm_json_serialize.c:1535
TSS2_RC ifapi_json_TPM2_CAP_serialize(const TPM2_CAP in, json_object **jso)
Definition tpm_json_serialize.c:687
TSS2_RC ifapi_json_UINT16_serialize(const UINT16 in, json_object **jso)
Definition tpm_json_serialize.c:247
TSS2_RC ifapi_json_UINT64_serialize(const UINT64 in, json_object **jso)
Definition tpm_json_serialize.c:304
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECDSA_serialize(const TPMS_SIG_SCHEME_ECDSA *in, json_object **jso)
Definition tpm_json_serialize.c:3026
TSS2_RC ifapi_json_TPMS_ENC_SCHEME_OAEP_serialize(const TPMS_ENC_SCHEME_OAEP *in, json_object **jso)
Definition tpm_json_serialize.c:3159
TSS2_RC ifapi_json_TPMU_ASYM_SCHEME_serialize(const TPMU_ASYM_SCHEME *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:3332
TSS2_RC ifapi_json_TPMU_CAPABILITIES_serialize(const TPMU_CAPABILITIES *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:2076
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSAPSS_serialize(const TPMS_SIG_SCHEME_RSAPSS *in, json_object **jso)
Definition tpm_json_serialize.c:3011
TSS2_RC ifapi_json_TPMI_ALG_RSA_SCHEME_serialize(const TPMI_ALG_RSA_SCHEME in, json_object **jso)
Definition tpm_json_serialize.c:3369
TSS2_RC ifapi_json_TPMS_TIME_ATTEST_INFO_serialize(const TPMS_TIME_ATTEST_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2237
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSASSA_serialize(const TPMS_SIGNATURE_RSASSA *in, json_object **jso)
Definition tpm_json_serialize.c:3637
TSS2_RC ifapi_json_TPMA_OBJECT_serialize(const TPMA_OBJECT in, json_object **jso)
Definition tpm_json_serialize.c:922
TSS2_RC ifapi_json_TPMT_KDF_SCHEME_serialize(const TPMT_KDF_SCHEME *in, json_object **jso)
Definition tpm_json_serialize.c:3276
TSS2_RC ifapi_json_TPMT_ECC_SCHEME_serialize(const TPMT_ECC_SCHEME *in, json_object **jso)
Definition tpm_json_serialize.c:3565
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_ECSCHNORR_serialize(const TPMS_SIG_SCHEME_ECSCHNORR *in, json_object **jso)
Definition tpm_json_serialize.c:3056
TSS2_RC ifapi_json_TPM2B_ECC_PARAMETER_serialize(const TPM2B_ECC_PARAMETER *in, json_object **jso)
Definition tpm_json_serialize.c:3469
TSS2_RC ifapi_json_TPMS_EMPTY_serialize(const TPMS_EMPTY *in, json_object **jso)
Definition tpm_json_serialize.c:36
TSS2_RC ifapi_json_TPMA_NV_serialize(const TPMA_NV in, json_object **jso)
Definition tpm_json_serialize.c:4235
TSS2_RC ifapi_json_TPMS_SCHEME_KDF1_SP800_108_serialize(const TPMS_SCHEME_KDF1_SP800_108 *in, json_object **jso)
Definition tpm_json_serialize.c:3233
TSS2_RC ifapi_json_TPMS_CERTIFY_INFO_serialize(const TPMS_CERTIFY_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2272
TSS2_RC ifapi_json_TPMT_SIG_SCHEME_serialize(const TPMT_SIG_SCHEME *in, json_object **jso)
Definition tpm_json_serialize.c:3122
TSS2_RC ifapi_json_TPMI_ALG_PUBLIC_serialize(const TPMI_ALG_PUBLIC in, json_object **jso)
Definition tpm_json_serialize.c:3871
TSS2_RC ifapi_json_TPML_TAGGED_PCR_PROPERTY_serialize(const TPML_TAGGED_PCR_PROPERTY *in, json_object **jso)
Definition tpm_json_serialize.c:1934
TSS2_RC ifapi_json_TPMS_NV_PUBLIC_serialize(const TPMS_NV_PUBLIC *in, json_object **jso)
Definition tpm_json_serialize.c:4303
TSS2_RC ifapi_json_TPMT_PUBLIC_serialize(const TPMT_PUBLIC *in, json_object **jso)
Definition tpm_json_serialize.c:4074
TSS2_RC ifapi_json_TPMT_SIGNATURE_serialize(const TPMT_SIGNATURE *in, json_object **jso)
Definition tpm_json_serialize.c:3805
TSS2_RC ifapi_json_TPMI_RSA_KEY_BITS_serialize(const TPMI_RSA_KEY_BITS in, json_object **jso)
Definition tpm_json_serialize.c:3453
TSS2_RC ifapi_json_TPMS_SCHEME_HASH_serialize(const TPMS_SCHEME_HASH *in, json_object **jso)
Definition tpm_json_serialize.c:2805
TSS2_RC ifapi_json_TPMS_SIG_SCHEME_RSASSA_serialize(const TPMS_SIG_SCHEME_RSASSA *in, json_object **jso)
Definition tpm_json_serialize.c:2996
TSS2_RC ifapi_json_TPMS_COMMAND_AUDIT_INFO_serialize(const TPMS_COMMAND_AUDIT_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2342
TSS2_RC ifapi_json_TPMS_SIGNATURE_RSA_serialize(const TPMS_SIGNATURE_RSA *in, json_object **jso)
Definition tpm_json_serialize.c:3602
TSS2_RC ifapi_json_TPMS_ATTEST_serialize(const TPMS_ATTEST *in, json_object **jso)
Definition tpm_json_serialize.c:2556
TSS2_RC ifapi_json_TPMS_TAGGED_PCR_SELECT_serialize(const TPMS_TAGGED_PCR_SELECT *in, json_object **jso)
Definition tpm_json_serialize.c:146
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDAA_serialize(const TPMS_SIGNATURE_ECDAA *in, json_object **jso)
Definition tpm_json_serialize.c:3724
TSS2_RC ifapi_json_TPMS_SYMCIPHER_PARMS_serialize(const TPMS_SYMCIPHER_PARMS *in, json_object **jso)
Definition tpm_json_serialize.c:2777
TSS2_RC ifapi_json_TPMA_LOCALITY_serialize(const TPMA_LOCALITY in, json_object **jso)
Definition tpm_json_serialize.c:969
TSS2_RC ifapi_json_TPMI_ALG_SYM_OBJECT_serialize(const TPMI_ALG_SYM_OBJECT in, json_object **jso)
Definition tpm_json_serialize.c:1211
TSS2_RC ifapi_json_TPMS_CREATION_DATA_serialize(const TPMS_CREATION_DATA *in, json_object **jso)
Definition tpm_json_serialize.c:4396
TSS2_RC ifapi_json_TPMS_SESSION_AUDIT_INFO_serialize(const TPMS_SESSION_AUDIT_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2391
TSS2_RC ifapi_json_TPMS_PCR_SELECT_serialize(const TPMS_PCR_SELECT *in, json_object **jso)
Definition tpm_json_serialize.c:91
TSS2_RC ifapi_json_TPM2B_ENCRYPTED_SECRET_serialize(const TPM2B_ENCRYPTED_SECRET *in, json_object **jso)
Definition tpm_json_serialize.c:3842
TSS2_RC ifapi_json_TPMI_ALG_SIG_SCHEME_serialize(const TPMI_ALG_SIG_SCHEME in, json_object **jso)
Definition tpm_json_serialize.c:1277
TSS2_RC ifapi_json_TPMS_QUOTE_INFO_serialize(const TPMS_QUOTE_INFO *in, json_object **jso)
Definition tpm_json_serialize.c:2307
TSS2_RC ifapi_json_TPMS_SIGNATURE_ECDSA_serialize(const TPMS_SIGNATURE_ECDSA *in, json_object **jso)
Definition tpm_json_serialize.c:3709
TSS2_RC ifapi_json_TPML_CC_serialize(const TPML_CC *in, json_object **jso)
Definition tpm_json_serialize.c:1689
TSS2_RC ifapi_json_TPMS_TAGGED_PROPERTY_serialize(const TPMS_TAGGED_PROPERTY *in, json_object **jso)
Definition tpm_json_serialize.c:1654
TSS2_RC ifapi_json_TPMU_SIGNATURE_serialize(const TPMU_SIGNATURE *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:3771
TSS2_RC ifapi_json_TPMS_SIGNATURE_SM2_serialize(const TPMS_SIGNATURE_SM2 *in, json_object **jso)
Definition tpm_json_serialize.c:3739
TSS2_RC ifapi_json_TPMU_SYM_MODE_serialize(const TPMU_SYM_MODE *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:2707
TSS2_RC ifapi_json_TPMI_ALG_HASH_serialize(const TPMI_ALG_HASH in, json_object **jso)
Definition tpm_json_serialize.c:1195
TSS2_RC ifapi_json_TPM2B_PRIVATE_serialize(const TPM2B_PRIVATE *in, json_object **jso)
Definition tpm_json_serialize.c:4174
TSS2_RC ifapi_json_TPML_HANDLE_serialize(const TPML_HANDLE *in, json_object **jso)
Definition tpm_json_serialize.c:1759
TSS2_RC ifapi_json_TPMS_ECC_PARMS_serialize(const TPMS_ECC_PARMS *in, json_object **jso)
Definition tpm_json_serialize.c:3995
TSS2_RC ifapi_json_TPML_DIGEST_VALUES_serialize(const TPML_DIGEST_VALUES *in, json_object **jso)
Definition tpm_json_serialize.c:1794
TSS2_RC ifapi_json_TPMS_ALG_PROPERTY_serialize(const TPMS_ALG_PROPERTY *in, json_object **jso)
Definition tpm_json_serialize.c:1611
TSS2_RC ifapi_json_TPM2_PT_PCR_serialize(const TPM2_PT_PCR in, json_object **jso)
Definition tpm_json_serialize.c:819
TSS2_RC ifapi_json_TPMU_KDF_SCHEME_serialize(const TPMU_KDF_SCHEME *in, UINT32 selector, json_object **jso)
Definition tpm_json_serialize.c:3250
TSS2_RC ifapi_json_TPMI_ALG_ASYM_SCHEME_serialize(const TPMI_ALG_ASYM_SCHEME in, json_object **jso)
Definition tpm_json_serialize.c:3312