tpm2-tss  master
TPM Software stack 2.0 TCG spec compliant implementation
tss2_esys.h
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*******************************************************************************
3  * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
4  * All rights reserved.
5  *******************************************************************************/
6 #ifndef TSS2_ESYS_H
7 #define TSS2_ESYS_H
8 
9 #include "tss2_tcti.h"
10 #include "tss2_sys.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 typedef uint32_t ESYS_TR;
17 
18 #define ESYS_TR_NONE 0xfffU
19 #define ESYS_TR_PASSWORD 0x0ffU
20 #define ESYS_TR_PCR0 0U
21 #define ESYS_TR_PCR1 1U
22 #define ESYS_TR_PCR2 2U
23 #define ESYS_TR_PCR3 3U
24 #define ESYS_TR_PCR4 4U
25 #define ESYS_TR_PCR5 5U
26 #define ESYS_TR_PCR6 6U
27 #define ESYS_TR_PCR7 7U
28 #define ESYS_TR_PCR8 8U
29 #define ESYS_TR_PCR9 9U
30 #define ESYS_TR_PCR10 10U
31 #define ESYS_TR_PCR11 11U
32 #define ESYS_TR_PCR12 12U
33 #define ESYS_TR_PCR13 13U
34 #define ESYS_TR_PCR14 14U
35 #define ESYS_TR_PCR15 15U
36 #define ESYS_TR_PCR16 16U
37 #define ESYS_TR_PCR17 17U
38 #define ESYS_TR_PCR18 18U
39 #define ESYS_TR_PCR19 19U
40 #define ESYS_TR_PCR20 20U
41 #define ESYS_TR_PCR21 21U
42 #define ESYS_TR_PCR22 22U
43 #define ESYS_TR_PCR23 23U
44 #define ESYS_TR_PCR24 24U
45 #define ESYS_TR_PCR25 25U
46 #define ESYS_TR_PCR26 26U
47 #define ESYS_TR_PCR27 27U
48 #define ESYS_TR_PCR28 28U
49 #define ESYS_TR_PCR29 29U
50 #define ESYS_TR_PCR30 30U
51 #define ESYS_TR_PCR31 31U
52 
53 /* From TPM_RH_CONSTANTS */
54 #define ESYS_TR_RH_OWNER 0x101U
55 #define ESYS_TR_RH_NULL 0x107U
56 #define ESYS_TR_RH_LOCKOUT 0x10AU
57 #define ESYS_TR_RH_ENDORSEMENT 0x10BU
58 #define ESYS_TR_RH_PLATFORM 0x10CU
59 #define ESYS_TR_RH_PLATFORM_NV 0x10DU
60 #define ESYS_TR_RH_FW_OWNER 0x10EU
61 #define ESYS_TR_RH_FW_ENDORSEMENT 0x10FU
62 #define ESYS_TR_RH_FW_PLATFORM 0x110U
63 #define ESYS_TR_RH_FW_NULL 0x111U
64 #define ESYS_TR_RH_SVN_OWNER_BASE 0x1010000U
65 #define ESYS_TR_RH_SVN_ENDORSEMENT_BASE 0x1020000U
66 #define ESYS_TR_RH_SVN_PLATFORM_BASE 0x1030000U
67 #define ESYS_TR_RH_SVN_NULL_BASE 0x1040000U
68 
69 #define ESYS_TR_RH_AUTH_FIRST 0x110U
70 #define ESYS_TR_RH_AUTH(x) (ESYS_TR_RH_AUTH_FIRST + (ESYS_TR)(x))
71 #define ESYS_TR_RH_ACT_FIRST 0x120U
72 #define ESYS_TR_RH_ACT(x) (ESYS_TR_RH_ACT_FIRST + (ESYS_TR)(x))
73 #define ESYS_TR_RH_ACT_0 ESYS_TR_RH_ACT_FIRST
74 #define ESYS_TR_RH_ACT_1 0x121U
75 #define ESYS_TR_RH_ACT_2 0x122U
76 #define ESYS_TR_RH_ACT_3 0x123U
77 #define ESYS_TR_RH_ACT_4 0x124U
78 #define ESYS_TR_RH_ACT_5 0x125U
79 #define ESYS_TR_RH_ACT_6 0x126U
80 #define ESYS_TR_RH_ACT_7 0x127U
81 #define ESYS_TR_RH_ACT_8 0x128U
82 #define ESYS_TR_RH_ACT_9 0x129U
83 #define ESYS_TR_RH_ACT_A 0x12AU
84 #define ESYS_TR_RH_ACT_B 0x12BU
85 #define ESYS_TR_RH_ACT_C 0x12CU
86 #define ESYS_TR_RH_ACT_D 0x12DU
87 #define ESYS_TR_RH_ACT_E 0x12EU
88 #define ESYS_TR_RH_ACT_F 0x12FU
89 #define ESYS_TR_RH_ACT_LAST ESYS_TR_RH_ACT_F
90 #define ESYS_TR_RH_AC_FIRST 0x140U
91 #define ESYS_TR_RH_AC(x) (ESYS_TR_RH_AC_FIRST + (ESYS_TR)(x))
92 #define ESYS_TR_RH_AC_LAST (ESYS_TR_RH_AC_FIRST + 0xFFFFU)
93 
94 typedef struct ESYS_CONTEXT ESYS_CONTEXT;
95 
97 
98 /*
99  * Crypto Backend Support
100  */
101 
111 typedef TSS2_RC
112  (*ESYS_CRYPTO_HASH_START_FNP)(
113  ESYS_CRYPTO_CONTEXT_BLOB ** context,
114  TPM2_ALG_ID hashAlg,
115  void *userdata);
116 
128 typedef TSS2_RC
129  (*ESYS_CRYPTO_HASH_UPDATE_FNP)(
130  ESYS_CRYPTO_CONTEXT_BLOB * context,
131  const uint8_t *buffer,
132  size_t size,
133  void *userdata);
134 
146 typedef TSS2_RC
147  (*ESYS_CRYPTO_HASH_FINISH_FNP)(
148  ESYS_CRYPTO_CONTEXT_BLOB **context,
149  uint8_t *buffer,
150  size_t *size,
151  void *userdata);
152 
159 typedef void
160  (*ESYS_CRYPTO_HASH_ABORT_FNP)(
161  ESYS_CRYPTO_CONTEXT_BLOB **context,
162  void *userdata);
163 
176 typedef TSS2_RC
177  (*ESYS_CRYPTO_HMAC_START_FNP)(
178  ESYS_CRYPTO_CONTEXT_BLOB **context,
179  TPM2_ALG_ID hashAlg,
180  const uint8_t *key,
181  size_t size,
182  void *userdata);
183 
195 typedef TSS2_RC
196  (*ESYS_CRYPTO_HMAC_UPDATE_FNP)(
197  ESYS_CRYPTO_CONTEXT_BLOB *context,
198  const uint8_t *buffer,
199  size_t size,
200  void *userdata);
201 
213 typedef TSS2_RC
214  (*ESYS_CRYPTO_HMAC_FINISH_FNP)(
215  ESYS_CRYPTO_CONTEXT_BLOB **context,
216  uint8_t *buffer,
217  size_t *size,
218  void *userdata);
219 
226 typedef void
227  (*ESYS_CRYPTO_HMAC_ABORT_FNP)(
228  ESYS_CRYPTO_CONTEXT_BLOB **context,
229  void *userdata);
230 
241 typedef TSS2_RC
242  (*ESYS_CRYPTO_GET_RANDOM2B_FNP)(
243  TPM2B_NONCE *nonce,
244  size_t num_bytes,
245  void *userdata);
246 
264 typedef TSS2_RC
265  (*ESYS_CRYPTO_GET_ECDH_POINT_FNP)(
266  TPM2B_PUBLIC *key,
267  size_t max_out_size,
268  TPM2B_ECC_PARAMETER *Z,
269  TPMS_ECC_POINT *Q,
270  BYTE *out_buffer,
271  size_t *out_size,
272  void *userdata);
273 
289 typedef TSS2_RC
290  (*ESYS_CRYPTO_AES_ENCRYPT_FNP)(
291  uint8_t *key,
292  TPM2_ALG_ID tpm_sym_alg,
293  TPMI_AES_KEY_BITS key_bits,
294  TPM2_ALG_ID tpm_mode,
295  uint8_t *buffer,
296  size_t buffer_size,
297  uint8_t *iv,
298  void *userdata);
299 
315 typedef TSS2_RC
316  (*ESYS_CRYPTO_AES_DECRYPT_FNP)(
317  uint8_t *key,
318  TPM2_ALG_ID tpm_sym_alg,
319  TPMI_AES_KEY_BITS key_bits,
320  TPM2_ALG_ID tpm_mode,
321  uint8_t *buffer,
322  size_t buffer_size,
323  uint8_t *iv,
324  void *userdata);
325 
341 typedef TSS2_RC
342  (*ESYS_CRYPTO_SM4_ENCRYPT_FNP)(
343  uint8_t *key,
344  TPM2_ALG_ID tpm_sym_alg,
345  TPMI_SM4_KEY_BITS key_bits,
346  TPM2_ALG_ID tpm_mode,
347  uint8_t *buffer,
348  size_t buffer_size,
349  uint8_t *iv,
350  void *userdata);
351 
367 typedef TSS2_RC
368  (*ESYS_CRYPTO_SM4_DECRYPT_FNP)(
369  uint8_t *key,
370  TPM2_ALG_ID tpm_sym_alg,
371  TPMI_SM4_KEY_BITS key_bits,
372  TPM2_ALG_ID tpm_mode,
373  uint8_t *buffer,
374  size_t buffer_size,
375  uint8_t *iv,
376  void *userdata);
377 
393 typedef TSS2_RC
394  (*ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP)(
395  TPM2B_PUBLIC * pub_tpm_key,
396  size_t in_size,
397  BYTE *in_buffer,
398  size_t max_out_size,
399  BYTE *out_buffer,
400  size_t *out_size,
401  const char *label,
402  void *userdata);
403 
413 typedef TSS2_RC (*ESYS_CRYPTO_INIT_FNP)(void *userdata);
414 
417  ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP rsa_pk_encrypt;
418  ESYS_CRYPTO_HASH_START_FNP hash_start;
419  ESYS_CRYPTO_HASH_UPDATE_FNP hash_update;
420  ESYS_CRYPTO_HASH_FINISH_FNP hash_finish;
421  ESYS_CRYPTO_HASH_ABORT_FNP hash_abort;
422  ESYS_CRYPTO_HMAC_START_FNP hmac_start;
423  ESYS_CRYPTO_HMAC_UPDATE_FNP hmac_update;
424  ESYS_CRYPTO_HMAC_FINISH_FNP hmac_finish;
425  ESYS_CRYPTO_HMAC_ABORT_FNP hmac_abort;
426  ESYS_CRYPTO_GET_RANDOM2B_FNP get_random2b;
427  ESYS_CRYPTO_GET_ECDH_POINT_FNP get_ecdh_point;
428  ESYS_CRYPTO_AES_ENCRYPT_FNP aes_encrypt;
429  ESYS_CRYPTO_AES_DECRYPT_FNP aes_decrypt;
430  ESYS_CRYPTO_SM4_ENCRYPT_FNP sm4_encrypt;
431  ESYS_CRYPTO_SM4_DECRYPT_FNP sm4_decrypt;
432  ESYS_CRYPTO_INIT_FNP init;
433  void *userdata;
434 };
435 
436 /*
437  * TPM 2.0 ESAPI Functions
438  */
439 
440 TSS2_RC
442  ESYS_CONTEXT **esys_context,
443  TSS2_TCTI_CONTEXT *tcti,
444  TSS2_ABI_VERSION *abiVersion);
445 
446 void
447 Esys_Finalize(
448  ESYS_CONTEXT **context);
449 
450 TSS2_RC
452  ESYS_CONTEXT *esys_context,
453  TSS2_TCTI_CONTEXT **tcti);
454 
455 TSS2_RC
457  ESYS_CONTEXT *esys_context,
458  TSS2_TCTI_POLL_HANDLE **handles,
459  size_t *count);
460 
461 TSS2_RC
463  ESYS_CONTEXT *esys_context,
464  int32_t timeout);
465 
466 TSS2_RC
468  ESYS_CONTEXT *esys_context,
469  ESYS_TR object,
470  uint8_t **buffer,
471  size_t *buffer_size);
472 
473 TSS2_RC
475  ESYS_CONTEXT *esys_context,
476  uint8_t const *buffer,
477  size_t buffer_size,
478  ESYS_TR *esys_handle);
479 
480 TSS2_RC
482  ESYS_CONTEXT *esysContext,
483  TPM2_HANDLE tpm_handle,
484  ESYS_TR optionalSession1,
485  ESYS_TR optionalSession2,
486  ESYS_TR optionalSession3);
487 
488 TSS2_RC
490  ESYS_CONTEXT *esysContext,
491  ESYS_TR *object);
492 
493 TSS2_RC
495  ESYS_CONTEXT *esysContext,
496  TPM2_HANDLE tpm_handle,
497  ESYS_TR optionalSession1,
498  ESYS_TR optionalSession2,
499  ESYS_TR optionalSession3,
500  ESYS_TR *object);
501 
502 TSS2_RC
504  ESYS_CONTEXT *esys_context,
505  ESYS_TR *rsrc_handle);
506 
507 TSS2_RC
509  ESYS_CONTEXT *esysContext,
510  ESYS_TR handle,
511  TPM2B_AUTH const *authValue);
512 
513 TSS2_RC
515  ESYS_CONTEXT *esysContext,
516  ESYS_TR handle,
517  TPM2B_NAME **name);
518 
519 TSS2_RC
521  ESYS_CONTEXT *esysContext,
522  ESYS_TR session,
523  TPMA_SESSION *flags);
524 
525 TSS2_RC
527  ESYS_CONTEXT *esysContext,
528  ESYS_TR session,
529  TPMA_SESSION flags,
530  TPMA_SESSION mask);
531 
532 TSS2_RC
533 Esys_TRSess_GetNonceTPM(
534  ESYS_CONTEXT *esysContext,
535  ESYS_TR session,
536  TPM2B_NONCE **nonceTPM);
537 
538 TSS2_RC
539 Esys_TR_GetTpmHandle(
540  ESYS_CONTEXT *esys_context,
541  ESYS_TR esys_handle,
542  TPM2_HANDLE *tpm_handle);
543 
544 TSS2_RC
545 Esys_TRSess_GetAuthRequired(
546  ESYS_CONTEXT *esys_context,
547  ESYS_TR esys_handle,
548  TPMI_YES_NO *auth_needed);
549 
550 /* Table 5 - TPM2_Startup Command */
551 
552 TSS2_RC
554  ESYS_CONTEXT *esysContext,
555  TPM2_SU startupType);
556 
557 TSS2_RC
559  ESYS_CONTEXT *esysContext,
560  TPM2_SU startupType);
561 
562 TSS2_RC
564  ESYS_CONTEXT *esysContext);
565 
566 /* Table 7 - TPM2_Shutdown Command */
567 
568 TSS2_RC
570  ESYS_CONTEXT *esysContext,
571  ESYS_TR shandle1,
572  ESYS_TR shandle2,
573  ESYS_TR shandle3,
574  TPM2_SU shutdownType);
575 
576 TSS2_RC
578  ESYS_CONTEXT *esysContext,
579  ESYS_TR shandle1,
580  ESYS_TR shandle2,
581  ESYS_TR shandle3,
582  TPM2_SU shutdownType);
583 
584 TSS2_RC
586  ESYS_CONTEXT *esysContext);
587 
588 /* Table 9 - TPM2_SelfTest Command */
589 
590 TSS2_RC
592  ESYS_CONTEXT *esysContext,
593  ESYS_TR shandle1,
594  ESYS_TR shandle2,
595  ESYS_TR shandle3,
596  TPMI_YES_NO fullTest);
597 
598 TSS2_RC
600  ESYS_CONTEXT *esysContext,
601  ESYS_TR shandle1,
602  ESYS_TR shandle2,
603  ESYS_TR shandle3,
604  TPMI_YES_NO fullTest);
605 
606 TSS2_RC
608  ESYS_CONTEXT *esysContext);
609 
610 /* Table 11 - TPM2_IncrementalSelfTest Command */
611 
612 TSS2_RC
614  ESYS_CONTEXT *esysContext,
615  ESYS_TR shandle1,
616  ESYS_TR shandle2,
617  ESYS_TR shandle3,
618  const TPML_ALG *toTest,
619  TPML_ALG **toDoList);
620 
621 TSS2_RC
623  ESYS_CONTEXT *esysContext,
624  ESYS_TR shandle1,
625  ESYS_TR shandle2,
626  ESYS_TR shandle3,
627  const TPML_ALG *toTest);
628 
629 TSS2_RC
631  ESYS_CONTEXT *esysContext,
632  TPML_ALG **toDoList);
633 
634 /* Table 13 - TPM2_GetTestResult Command */
635 
636 TSS2_RC
638  ESYS_CONTEXT *esysContext,
639  ESYS_TR shandle1,
640  ESYS_TR shandle2,
641  ESYS_TR shandle3,
642  TPM2B_MAX_BUFFER **outData,
643  TPM2_RC *testResult);
644 
645 TSS2_RC
647  ESYS_CONTEXT *esysContext,
648  ESYS_TR shandle1,
649  ESYS_TR shandle2,
650  ESYS_TR shandle3);
651 
652 TSS2_RC
654  ESYS_CONTEXT *esysContext,
655  TPM2B_MAX_BUFFER **outData,
656  TPM2_RC *testResult);
657 
658 /* Table 15 - TPM2_StartAuthSession Command */
659 
660 TSS2_RC
662  ESYS_CONTEXT *esysContext,
663  ESYS_TR tpmKey,
664  ESYS_TR bind,
665  ESYS_TR shandle1,
666  ESYS_TR shandle2,
667  ESYS_TR shandle3,
668  const TPM2B_NONCE *nonceCaller,
669  TPM2_SE sessionType,
670  const TPMT_SYM_DEF *symmetric,
671  TPMI_ALG_HASH authHash,
672  ESYS_TR *sessionHandle);
673 
674 TSS2_RC
676  ESYS_CONTEXT *esysContext,
677  ESYS_TR tpmKey,
678  ESYS_TR bind,
679  ESYS_TR shandle1,
680  ESYS_TR shandle2,
681  ESYS_TR shandle3,
682  const TPM2B_NONCE *nonceCaller,
683  TPM2_SE sessionType,
684  const TPMT_SYM_DEF *symmetric,
685  TPMI_ALG_HASH authHash);
686 
687 TSS2_RC
689  ESYS_CONTEXT *esysContext,
690  ESYS_TR *sessionHandle);
691 
692 /* Table 17 - TPM2_PolicyRestart Command */
693 
694 TSS2_RC
696  ESYS_CONTEXT *esysContext,
697  ESYS_TR sessionHandle,
698  ESYS_TR shandle1,
699  ESYS_TR shandle2,
700  ESYS_TR shandle3);
701 
702 TSS2_RC
704  ESYS_CONTEXT *esysContext,
705  ESYS_TR sessionHandle,
706  ESYS_TR shandle1,
707  ESYS_TR shandle2,
708  ESYS_TR shandle3);
709 
710 TSS2_RC
712  ESYS_CONTEXT *esysContext);
713 
714 /* Table 19 - TPM2_Create Command */
715 
716 TSS2_RC
718  ESYS_CONTEXT *esysContext,
719  ESYS_TR parentHandle,
720  ESYS_TR shandle1,
721  ESYS_TR shandle2,
722  ESYS_TR shandle3,
723  const TPM2B_SENSITIVE_CREATE *inSensitive,
724  const TPM2B_PUBLIC *inPublic,
725  const TPM2B_DATA *outsideInfo,
726  const TPML_PCR_SELECTION *creationPCR,
727  TPM2B_PRIVATE **outPrivate,
728  TPM2B_PUBLIC **outPublic,
729  TPM2B_CREATION_DATA **creationData,
730  TPM2B_DIGEST **creationHash,
731  TPMT_TK_CREATION **creationTicket);
732 
733 TSS2_RC
735  ESYS_CONTEXT *esysContext,
736  ESYS_TR parentHandle,
737  ESYS_TR shandle1,
738  ESYS_TR shandle2,
739  ESYS_TR shandle3,
740  const TPM2B_SENSITIVE_CREATE *inSensitive,
741  const TPM2B_PUBLIC *inPublic,
742  const TPM2B_DATA *outsideInfo,
743  const TPML_PCR_SELECTION *creationPCR);
744 
745 TSS2_RC
747  ESYS_CONTEXT *esysContext,
748  TPM2B_PRIVATE **outPrivate,
749  TPM2B_PUBLIC **outPublic,
750  TPM2B_CREATION_DATA **creationData,
751  TPM2B_DIGEST **creationHash,
752  TPMT_TK_CREATION **creationTicket);
753 
754 /* Table 21 - TPM2_Load Command */
755 
756 TSS2_RC
757 Esys_Load(
758  ESYS_CONTEXT *esysContext,
759  ESYS_TR parentHandle,
760  ESYS_TR shandle1,
761  ESYS_TR shandle2,
762  ESYS_TR shandle3,
763  const TPM2B_PRIVATE *inPrivate,
764  const TPM2B_PUBLIC *inPublic,
765  ESYS_TR *objectHandle);
766 
767 TSS2_RC
769  ESYS_CONTEXT *esysContext,
770  ESYS_TR parentHandle,
771  ESYS_TR shandle1,
772  ESYS_TR shandle2,
773  ESYS_TR shandle3,
774  const TPM2B_PRIVATE *inPrivate,
775  const TPM2B_PUBLIC *inPublic);
776 
777 TSS2_RC
779  ESYS_CONTEXT *esysContext,
780  ESYS_TR *objectHandle);
781 
782 /* Table 23 - TPM2_LoadExternal Command */
783 
784 TSS2_RC
785 Esys_LoadExternal(
786  ESYS_CONTEXT *esysContext,
787  ESYS_TR shandle1,
788  ESYS_TR shandle2,
789  ESYS_TR shandle3,
790  const TPM2B_SENSITIVE *inPrivate,
791  const TPM2B_PUBLIC *inPublic,
792  ESYS_TR hierarchy,
793  ESYS_TR *objectHandle);
794 
795 TSS2_RC
796 Esys_LoadExternal_Async(
797  ESYS_CONTEXT *esysContext,
798  ESYS_TR shandle1,
799  ESYS_TR shandle2,
800  ESYS_TR shandle3,
801  const TPM2B_SENSITIVE *inPrivate,
802  const TPM2B_PUBLIC *inPublic,
803  ESYS_TR hierarchy);
804 
805 TSS2_RC
807  ESYS_CONTEXT *esysContext,
808  ESYS_TR *objectHandle);
809 
810 /* Table 25 - TPM2_ReadPublic Command */
811 
812 TSS2_RC
814  ESYS_CONTEXT *esysContext,
815  ESYS_TR objectHandle,
816  ESYS_TR shandle1,
817  ESYS_TR shandle2,
818  ESYS_TR shandle3,
819  TPM2B_PUBLIC **outPublic,
820  TPM2B_NAME **name,
821  TPM2B_NAME **qualifiedName);
822 
823 TSS2_RC
825  ESYS_CONTEXT *esysContext,
826  ESYS_TR objectHandle,
827  ESYS_TR shandle1,
828  ESYS_TR shandle2,
829  ESYS_TR shandle3);
830 
831 TSS2_RC
833  ESYS_CONTEXT *esysContext,
834  TPM2B_PUBLIC **outPublic,
835  TPM2B_NAME **name,
836  TPM2B_NAME **qualifiedName);
837 
838 /* Table 27 - TPM2_ActivateCredential Command */
839 
840 TSS2_RC
842  ESYS_CONTEXT *esysContext,
843  ESYS_TR activateHandle,
844  ESYS_TR keyHandle,
845  ESYS_TR shandle1,
846  ESYS_TR shandle2,
847  ESYS_TR shandle3,
848  const TPM2B_ID_OBJECT *credentialBlob,
849  const TPM2B_ENCRYPTED_SECRET *secret,
850  TPM2B_DIGEST **certInfo);
851 
852 TSS2_RC
854  ESYS_CONTEXT *esysContext,
855  ESYS_TR activateHandle,
856  ESYS_TR keyHandle,
857  ESYS_TR shandle1,
858  ESYS_TR shandle2,
859  ESYS_TR shandle3,
860  const TPM2B_ID_OBJECT *credentialBlob,
861  const TPM2B_ENCRYPTED_SECRET *secret);
862 
863 TSS2_RC
865  ESYS_CONTEXT *esysContext,
866  TPM2B_DIGEST **certInfo);
867 
868 TSS2_RC
869 Esys_ACT_SetTimeout(
870  ESYS_CONTEXT *esysContext,
871  ESYS_TR actHandle,
872  ESYS_TR shandle1,
873  ESYS_TR shandle2,
874  ESYS_TR shandle3,
875  UINT32 startTimeout);
876 
877 TSS2_RC
878 Esys_ACT_SetTimeout_Async(
879  ESYS_CONTEXT *esysContext,
880  ESYS_TR actHandle,
881  ESYS_TR shandle1,
882  ESYS_TR shandle2,
883  ESYS_TR shandle3,
884  UINT32 startTimeout);
885 
886 TSS2_RC
887 Esys_ACT_SetTimeout_Finish(
888  ESYS_CONTEXT *esysContext);
889 
890 TSS2_RC
891 Esys_AC_GetCapability_Async(
892  ESYS_CONTEXT *esysContext,
893  ESYS_TR optionalSession1,
894  ESYS_TR optionalSession2,
895  ESYS_TR optionalSession3,
896  ESYS_TR ac,
897  TPM_AT capability,
898  UINT32 count);
899 
900 TSS2_RC
901 Esys_AC_GetCapability_Finish(
902  ESYS_CONTEXT *esysContext,
903  TPMI_YES_NO *moreData,
904  TPML_AC_CAPABILITIES **capabilityData);
905 
906 TSS2_RC
907 Esys_AC_GetCapability(
908  ESYS_CONTEXT *esysContext,
909  ESYS_TR optionalSession1,
910  ESYS_TR optionalSession2,
911  ESYS_TR optionalSession3,
912  ESYS_TR ac,
913  TPM_AT capability,
914  UINT32 count,
915  TPMI_YES_NO *moreData,
916  TPML_AC_CAPABILITIES **capabilityData);
917 
918 TSS2_RC
919 Esys_AC_Send_Async(
920  ESYS_CONTEXT *esysContext,
921  ESYS_TR sendObject,
922  ESYS_TR nvAuthHandle,
923  ESYS_TR optionalSession1,
924  ESYS_TR optionalSession2,
925  ESYS_TR optionalSession3,
926  ESYS_TR ac,
927  TPM2B_MAX_BUFFER *acDataIn);
928 
929 TSS2_RC
930 Esys_AC_Send_Finish(
931  ESYS_CONTEXT *esysContext,
932  TPMS_AC_OUTPUT **acDataOut);
933 
934 TSS2_RC
935 Esys_AC_Send(
936  ESYS_CONTEXT *esysContext,
937  ESYS_TR sendObject,
938  ESYS_TR nvAuthHandle,
939  ESYS_TR optionalSession1,
940  ESYS_TR optionalSession2,
941  ESYS_TR optionalSession3,
942  ESYS_TR ac,
943  TPM2B_MAX_BUFFER *acDataIn,
944  TPMS_AC_OUTPUT **acDataOut);
945 
946 TSS2_RC
947 Esys_Policy_AC_SendSelect_Async(
948  ESYS_CONTEXT *esysContext,
949  ESYS_TR policySession1,
950  ESYS_TR optionalSession2,
951  ESYS_TR optionalSession3,
952  TPM2B_NAME *objectName,
953  TPM2B_NAME *authHandleName,
954  TPM2B_NAME *acName,
955  const TPMI_YES_NO includeObject);
956 
957 TSS2_RC
958 Esys_Policy_AC_SendSelect_Finish(
959  ESYS_CONTEXT *esysContext);
960 
961 TSS2_RC
962 Esys_Policy_AC_SendSelect(
963  ESYS_CONTEXT *esysContext,
964  ESYS_TR policySession1,
965  ESYS_TR optionalSession2,
966  ESYS_TR optionalSession3,
967  TPM2B_NAME *objectName,
968  TPM2B_NAME *authHandleName,
969  TPM2B_NAME *acName,
970  TPMI_YES_NO includeObject);
971 
972 /* Table 29 - TPM2_MakeCredential Command */
973 
974 TSS2_RC
976  ESYS_CONTEXT *esysContext,
977  ESYS_TR handle,
978  ESYS_TR shandle1,
979  ESYS_TR shandle2,
980  ESYS_TR shandle3,
981  const TPM2B_DIGEST *credential,
982  const TPM2B_NAME *objectName,
983  TPM2B_ID_OBJECT **credentialBlob,
984  TPM2B_ENCRYPTED_SECRET **secret);
985 
986 TSS2_RC
988  ESYS_CONTEXT *esysContext,
989  ESYS_TR handle,
990  ESYS_TR shandle1,
991  ESYS_TR shandle2,
992  ESYS_TR shandle3,
993  const TPM2B_DIGEST *credential,
994  const TPM2B_NAME *objectName);
995 
996 TSS2_RC
998  ESYS_CONTEXT *esysContext,
999  TPM2B_ID_OBJECT **credentialBlob,
1000  TPM2B_ENCRYPTED_SECRET **secret);
1001 
1002 /* Table 31 - TPM2_Unseal Command */
1003 
1004 TSS2_RC
1005 Esys_Unseal(
1006  ESYS_CONTEXT *esysContext,
1007  ESYS_TR itemHandle,
1008  ESYS_TR shandle1,
1009  ESYS_TR shandle2,
1010  ESYS_TR shandle3,
1011  TPM2B_SENSITIVE_DATA **outData);
1012 
1013 TSS2_RC
1015  ESYS_CONTEXT *esysContext,
1016  ESYS_TR itemHandle,
1017  ESYS_TR shandle1,
1018  ESYS_TR shandle2,
1019  ESYS_TR shandle3);
1020 
1021 TSS2_RC
1023  ESYS_CONTEXT *esysContext,
1024  TPM2B_SENSITIVE_DATA **outData);
1025 
1026 /* Table 33 - TPM2_ObjectChangeAuth Command */
1027 
1028 TSS2_RC
1030  ESYS_CONTEXT *esysContext,
1031  ESYS_TR objectHandle,
1032  ESYS_TR parentHandle,
1033  ESYS_TR shandle1,
1034  ESYS_TR shandle2,
1035  ESYS_TR shandle3,
1036  const TPM2B_AUTH *newAuth,
1037  TPM2B_PRIVATE **outPrivate);
1038 
1039 TSS2_RC
1041  ESYS_CONTEXT *esysContext,
1042  ESYS_TR objectHandle,
1043  ESYS_TR parentHandle,
1044  ESYS_TR shandle1,
1045  ESYS_TR shandle2,
1046  ESYS_TR shandle3,
1047  const TPM2B_AUTH *newAuth);
1048 
1049 TSS2_RC
1051  ESYS_CONTEXT *esysContext,
1052  TPM2B_PRIVATE **outPrivate);
1053 
1054 /* Table 35 - TPM2_CreateLoaded Command */
1055 
1056 TSS2_RC
1057 Esys_CreateLoaded(
1058  ESYS_CONTEXT *esysContext,
1059  ESYS_TR parentHandle,
1060  ESYS_TR shandle1,
1061  ESYS_TR shandle2,
1062  ESYS_TR shandle3,
1063  const TPM2B_SENSITIVE_CREATE *inSensitive,
1064  const TPM2B_TEMPLATE *inPublic,
1065  ESYS_TR *objectHandle,
1066  TPM2B_PRIVATE **outPrivate,
1067  TPM2B_PUBLIC **outPublic);
1068 
1069 TSS2_RC
1070 Esys_CreateLoaded_Async(
1071  ESYS_CONTEXT *esysContext,
1072  ESYS_TR parentHandle,
1073  ESYS_TR shandle1,
1074  ESYS_TR shandle2,
1075  ESYS_TR shandle3,
1076  const TPM2B_SENSITIVE_CREATE *inSensitive,
1077  const TPM2B_TEMPLATE *inPublic);
1078 
1079 TSS2_RC
1080 Esys_CreateLoaded_Finish(
1081  ESYS_CONTEXT *esysContext,
1082  ESYS_TR *objectHandle,
1083  TPM2B_PRIVATE **outPrivate,
1084  TPM2B_PUBLIC **outPublic);
1085 
1086 /* Table 37 - TPM2_Duplicate Command */
1087 
1088 TSS2_RC
1090  ESYS_CONTEXT *esysContext,
1091  ESYS_TR objectHandle,
1092  ESYS_TR newParentHandle,
1093  ESYS_TR shandle1,
1094  ESYS_TR shandle2,
1095  ESYS_TR shandle3,
1096  const TPM2B_DATA *encryptionKeyIn,
1097  const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1098  TPM2B_DATA **encryptionKeyOut,
1099  TPM2B_PRIVATE **duplicate,
1100  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1101 
1102 TSS2_RC
1104  ESYS_CONTEXT *esysContext,
1105  ESYS_TR objectHandle,
1106  ESYS_TR newParentHandle,
1107  ESYS_TR shandle1,
1108  ESYS_TR shandle2,
1109  ESYS_TR shandle3,
1110  const TPM2B_DATA *encryptionKeyIn,
1111  const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1112 
1113 TSS2_RC
1115  ESYS_CONTEXT *esysContext,
1116  TPM2B_DATA **encryptionKeyOut,
1117  TPM2B_PRIVATE **duplicate,
1118  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1119 
1120 /* Table 39 - TPM2_Rewrap Command */
1121 
1122 TSS2_RC
1123 Esys_Rewrap(
1124  ESYS_CONTEXT *esysContext,
1125  ESYS_TR oldParent,
1126  ESYS_TR newParent,
1127  ESYS_TR shandle1,
1128  ESYS_TR shandle2,
1129  ESYS_TR shandle3,
1130  const TPM2B_PRIVATE *inDuplicate,
1131  const TPM2B_NAME *name,
1132  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1133  TPM2B_PRIVATE **outDuplicate,
1134  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1135 
1136 TSS2_RC
1138  ESYS_CONTEXT *esysContext,
1139  ESYS_TR oldParent,
1140  ESYS_TR newParent,
1141  ESYS_TR shandle1,
1142  ESYS_TR shandle2,
1143  ESYS_TR shandle3,
1144  const TPM2B_PRIVATE *inDuplicate,
1145  const TPM2B_NAME *name,
1146  const TPM2B_ENCRYPTED_SECRET *inSymSeed);
1147 
1148 TSS2_RC
1150  ESYS_CONTEXT *esysContext,
1151  TPM2B_PRIVATE **outDuplicate,
1152  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1153 
1154 /* Table 41 - TPM2_Import Command */
1155 
1156 TSS2_RC
1157 Esys_Import(
1158  ESYS_CONTEXT *esysContext,
1159  ESYS_TR parentHandle,
1160  ESYS_TR shandle1,
1161  ESYS_TR shandle2,
1162  ESYS_TR shandle3,
1163  const TPM2B_DATA *encryptionKey,
1164  const TPM2B_PUBLIC *objectPublic,
1165  const TPM2B_PRIVATE *duplicate,
1166  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1167  const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1168  TPM2B_PRIVATE **outPrivate);
1169 
1170 TSS2_RC
1172  ESYS_CONTEXT *esysContext,
1173  ESYS_TR parentHandle,
1174  ESYS_TR shandle1,
1175  ESYS_TR shandle2,
1176  ESYS_TR shandle3,
1177  const TPM2B_DATA *encryptionKey,
1178  const TPM2B_PUBLIC *objectPublic,
1179  const TPM2B_PRIVATE *duplicate,
1180  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1181  const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1182 
1183 TSS2_RC
1185  ESYS_CONTEXT *esysContext,
1186  TPM2B_PRIVATE **outPrivate);
1187 
1188 /* Table 45 - TPM2_RSA_Encrypt Command */
1189 
1190 TSS2_RC
1192  ESYS_CONTEXT *esysContext,
1193  ESYS_TR keyHandle,
1194  ESYS_TR shandle1,
1195  ESYS_TR shandle2,
1196  ESYS_TR shandle3,
1197  const TPM2B_PUBLIC_KEY_RSA *message,
1198  const TPMT_RSA_DECRYPT *inScheme,
1199  const TPM2B_DATA *label,
1200  TPM2B_PUBLIC_KEY_RSA **outData);
1201 
1202 TSS2_RC
1204  ESYS_CONTEXT *esysContext,
1205  ESYS_TR keyHandle,
1206  ESYS_TR shandle1,
1207  ESYS_TR shandle2,
1208  ESYS_TR shandle3,
1209  const TPM2B_PUBLIC_KEY_RSA *message,
1210  const TPMT_RSA_DECRYPT *inScheme,
1211  const TPM2B_DATA *label);
1212 
1213 TSS2_RC
1215  ESYS_CONTEXT *esysContext,
1216  TPM2B_PUBLIC_KEY_RSA **outData);
1217 
1218 /* Table 47 - TPM2_RSA_Decrypt Command */
1219 
1220 TSS2_RC
1222  ESYS_CONTEXT *esysContext,
1223  ESYS_TR keyHandle,
1224  ESYS_TR shandle1,
1225  ESYS_TR shandle2,
1226  ESYS_TR shandle3,
1227  const TPM2B_PUBLIC_KEY_RSA *cipherText,
1228  const TPMT_RSA_DECRYPT *inScheme,
1229  const TPM2B_DATA *label,
1230  TPM2B_PUBLIC_KEY_RSA **message);
1231 
1232 TSS2_RC
1234  ESYS_CONTEXT *esysContext,
1235  ESYS_TR keyHandle,
1236  ESYS_TR shandle1,
1237  ESYS_TR shandle2,
1238  ESYS_TR shandle3,
1239  const TPM2B_PUBLIC_KEY_RSA *cipherText,
1240  const TPMT_RSA_DECRYPT *inScheme,
1241  const TPM2B_DATA *label);
1242 
1243 TSS2_RC
1245  ESYS_CONTEXT *esysContext,
1246  TPM2B_PUBLIC_KEY_RSA **message);
1247 
1248 /* Table 49 - TPM2_ECDH_KeyGen Command */
1249 
1250 TSS2_RC
1252  ESYS_CONTEXT *esysContext,
1253  ESYS_TR keyHandle,
1254  ESYS_TR shandle1,
1255  ESYS_TR shandle2,
1256  ESYS_TR shandle3,
1257  TPM2B_ECC_POINT **zPoint,
1258  TPM2B_ECC_POINT **pubPoint);
1259 
1260 TSS2_RC
1262  ESYS_CONTEXT *esysContext,
1263  ESYS_TR keyHandle,
1264  ESYS_TR shandle1,
1265  ESYS_TR shandle2,
1266  ESYS_TR shandle3);
1267 
1268 TSS2_RC
1270  ESYS_CONTEXT *esysContext,
1271  TPM2B_ECC_POINT **zPoint,
1272  TPM2B_ECC_POINT **pubPoint);
1273 
1274 /* Table 51 - TPM2_ECDH_ZGen Command */
1275 
1276 TSS2_RC
1278  ESYS_CONTEXT *esysContext,
1279  ESYS_TR keyHandle,
1280  ESYS_TR shandle1,
1281  ESYS_TR shandle2,
1282  ESYS_TR shandle3,
1283  const TPM2B_ECC_POINT *inPoint,
1284  TPM2B_ECC_POINT **outPoint);
1285 
1286 TSS2_RC
1288  ESYS_CONTEXT *esysContext,
1289  ESYS_TR keyHandle,
1290  ESYS_TR shandle1,
1291  ESYS_TR shandle2,
1292  ESYS_TR shandle3,
1293  const TPM2B_ECC_POINT *inPoint);
1294 
1295 TSS2_RC
1297  ESYS_CONTEXT *esysContext,
1298  TPM2B_ECC_POINT **outPoint);
1299 
1300 /* Table 53 - TPM2_ECC_Parameters Command */
1301 
1302 TSS2_RC
1304  ESYS_CONTEXT *esysContext,
1305  ESYS_TR shandle1,
1306  ESYS_TR shandle2,
1307  ESYS_TR shandle3,
1308  TPMI_ECC_CURVE curveID,
1309  TPMS_ALGORITHM_DETAIL_ECC **parameters);
1310 
1311 TSS2_RC
1313  ESYS_CONTEXT *esysContext,
1314  ESYS_TR shandle1,
1315  ESYS_TR shandle2,
1316  ESYS_TR shandle3,
1317  TPMI_ECC_CURVE curveID);
1318 
1319 TSS2_RC
1321  ESYS_CONTEXT *esysContext,
1322  TPMS_ALGORITHM_DETAIL_ECC **parameters);
1323 
1324 /* Table 55 - TPM2_ZGen_2Phase Command */
1325 
1326 TSS2_RC
1328  ESYS_CONTEXT *esysContext,
1329  ESYS_TR keyA,
1330  ESYS_TR shandle1,
1331  ESYS_TR shandle2,
1332  ESYS_TR shandle3,
1333  const TPM2B_ECC_POINT *inQsB,
1334  const TPM2B_ECC_POINT *inQeB,
1335  TPMI_ECC_KEY_EXCHANGE inScheme,
1336  UINT16 counter,
1337  TPM2B_ECC_POINT **outZ1,
1338  TPM2B_ECC_POINT **outZ2);
1339 
1340 TSS2_RC
1342  ESYS_CONTEXT *esysContext,
1343  ESYS_TR keyA,
1344  ESYS_TR shandle1,
1345  ESYS_TR shandle2,
1346  ESYS_TR shandle3,
1347  const TPM2B_ECC_POINT *inQsB,
1348  const TPM2B_ECC_POINT *inQeB,
1349  TPMI_ECC_KEY_EXCHANGE inScheme,
1350  UINT16 counter);
1351 
1352 TSS2_RC
1354  ESYS_CONTEXT *esysContext,
1355  TPM2B_ECC_POINT **outZ1,
1356  TPM2B_ECC_POINT **outZ2);
1357 
1358 /* Table 58 - TPM2_EncryptDecrypt Command */
1359 
1360 TSS2_RC
1362  ESYS_CONTEXT *esysContext,
1363  ESYS_TR keyHandle,
1364  ESYS_TR shandle1,
1365  ESYS_TR shandle2,
1366  ESYS_TR shandle3,
1367  TPMI_YES_NO decrypt,
1368  TPMI_ALG_CIPHER_MODE mode,
1369  const TPM2B_IV *ivIn,
1370  const TPM2B_MAX_BUFFER *inData,
1371  TPM2B_MAX_BUFFER **outData,
1372  TPM2B_IV **ivOut);
1373 
1374 TSS2_RC
1376  ESYS_CONTEXT *esysContext,
1377  ESYS_TR keyHandle,
1378  ESYS_TR shandle1,
1379  ESYS_TR shandle2,
1380  ESYS_TR shandle3,
1381  TPMI_YES_NO decrypt,
1382  TPMI_ALG_CIPHER_MODE mode,
1383  const TPM2B_IV *ivIn,
1384  const TPM2B_MAX_BUFFER *inData);
1385 
1386 TSS2_RC
1388  ESYS_CONTEXT *esysContext,
1389  TPM2B_MAX_BUFFER **outData,
1390  TPM2B_IV **ivOut);
1391 
1392 /* Table 60 - TPM2_EncryptDecrypt2 Command */
1393 
1394 TSS2_RC
1395 Esys_EncryptDecrypt2(
1396  ESYS_CONTEXT *esysContext,
1397  ESYS_TR keyHandle,
1398  ESYS_TR shandle1,
1399  ESYS_TR shandle2,
1400  ESYS_TR shandle3,
1401  const TPM2B_MAX_BUFFER *inData,
1402  TPMI_YES_NO decrypt,
1403  TPMI_ALG_CIPHER_MODE mode,
1404  const TPM2B_IV *ivIn,
1405  TPM2B_MAX_BUFFER **outData,
1406  TPM2B_IV **ivOut);
1407 
1408 TSS2_RC
1409 Esys_EncryptDecrypt2_Async(
1410  ESYS_CONTEXT *esysContext,
1411  ESYS_TR keyHandle,
1412  ESYS_TR shandle1,
1413  ESYS_TR shandle2,
1414  ESYS_TR shandle3,
1415  const TPM2B_MAX_BUFFER *inData,
1416  TPMI_YES_NO decrypt,
1417  TPMI_ALG_CIPHER_MODE mode,
1418  const TPM2B_IV *ivIn);
1419 
1420 TSS2_RC
1421 Esys_EncryptDecrypt2_Finish(
1422  ESYS_CONTEXT *esysContext,
1423  TPM2B_MAX_BUFFER **outData,
1424  TPM2B_IV **ivOut);
1425 
1426 /* Table 62 - TPM2_Hash Command */
1427 
1428 TSS2_RC
1429 Esys_Hash(
1430  ESYS_CONTEXT *esysContext,
1431  ESYS_TR shandle1,
1432  ESYS_TR shandle2,
1433  ESYS_TR shandle3,
1434  const TPM2B_MAX_BUFFER *data,
1435  TPMI_ALG_HASH hashAlg,
1436  ESYS_TR hierarchy,
1437  TPM2B_DIGEST **outHash,
1438  TPMT_TK_HASHCHECK **validation);
1439 
1440 TSS2_RC
1441 Esys_Hash_Async(
1442  ESYS_CONTEXT *esysContext,
1443  ESYS_TR shandle1,
1444  ESYS_TR shandle2,
1445  ESYS_TR shandle3,
1446  const TPM2B_MAX_BUFFER *data,
1447  TPMI_ALG_HASH hashAlg,
1448  ESYS_TR hierarchy);
1449 
1450 TSS2_RC
1452  ESYS_CONTEXT *esysContext,
1453  TPM2B_DIGEST **outHash,
1454  TPMT_TK_HASHCHECK **validation);
1455 
1456 /* Table 64 - TPM2_HMAC Command */
1457 
1458 TSS2_RC
1459 Esys_HMAC(
1460  ESYS_CONTEXT *esysContext,
1461  ESYS_TR handle,
1462  ESYS_TR shandle1,
1463  ESYS_TR shandle2,
1464  ESYS_TR shandle3,
1465  const TPM2B_MAX_BUFFER *buffer,
1466  TPMI_ALG_HASH hashAlg,
1467  TPM2B_DIGEST **outHMAC);
1468 
1469 TSS2_RC
1471  ESYS_CONTEXT *esysContext,
1472  ESYS_TR handle,
1473  ESYS_TR shandle1,
1474  ESYS_TR shandle2,
1475  ESYS_TR shandle3,
1476  const TPM2B_MAX_BUFFER *buffer,
1477  TPMI_ALG_HASH hashAlg);
1478 
1479 TSS2_RC
1481  ESYS_CONTEXT *esysContext,
1482  TPM2B_DIGEST **outHMAC);
1483 
1484 TSS2_RC
1485 Esys_MAC_Async(
1486  ESYS_CONTEXT *esysContext,
1487  ESYS_TR handle,
1488  ESYS_TR handleSession1,
1489  ESYS_TR optionalSession2,
1490  ESYS_TR optionalSession3,
1491  const TPM2B_MAX_BUFFER *buffer,
1492  TPMI_ALG_MAC_SCHEME inScheme);
1493 
1494 TSS2_RC
1495 Esys_MAC_Finish(
1496  ESYS_CONTEXT *esysContext,
1497  TPM2B_DIGEST **outMAC);
1498 
1499 TSS2_RC
1500 Esys_MAC(
1501  ESYS_CONTEXT *esysContext,
1502  ESYS_TR handle,
1503  ESYS_TR handleSession1,
1504  ESYS_TR optionalSession2,
1505  ESYS_TR optionalSession3,
1506  const TPM2B_MAX_BUFFER *buffer,
1507  TPMI_ALG_MAC_SCHEME inScheme,
1508  TPM2B_DIGEST **outMAC);
1509 
1510 /* Table 66 - TPM2_GetRandom Command */
1511 
1512 TSS2_RC
1514  ESYS_CONTEXT *esysContext,
1515  ESYS_TR shandle1,
1516  ESYS_TR shandle2,
1517  ESYS_TR shandle3,
1518  UINT16 bytesRequested,
1519  TPM2B_DIGEST **randomBytes);
1520 
1521 TSS2_RC
1523  ESYS_CONTEXT *esysContext,
1524  ESYS_TR shandle1,
1525  ESYS_TR shandle2,
1526  ESYS_TR shandle3,
1527  UINT16 bytesRequested);
1528 
1529 TSS2_RC
1531  ESYS_CONTEXT *esysContext,
1532  TPM2B_DIGEST **randomBytes);
1533 
1534 /* Table 68 - TPM2_StirRandom Command */
1535 
1536 TSS2_RC
1538  ESYS_CONTEXT *esysContext,
1539  ESYS_TR shandle1,
1540  ESYS_TR shandle2,
1541  ESYS_TR shandle3,
1542  const TPM2B_SENSITIVE_DATA *inData);
1543 
1544 TSS2_RC
1546  ESYS_CONTEXT *esysContext,
1547  ESYS_TR shandle1,
1548  ESYS_TR shandle2,
1549  ESYS_TR shandle3,
1550  const TPM2B_SENSITIVE_DATA *inData);
1551 
1552 TSS2_RC
1554  ESYS_CONTEXT *esysContext);
1555 
1556 /* Table 71 - TPM2_HMAC_Start Command */
1557 
1558 TSS2_RC
1560  ESYS_CONTEXT *esysContext,
1561  ESYS_TR handle,
1562  ESYS_TR shandle1,
1563  ESYS_TR shandle2,
1564  ESYS_TR shandle3,
1565  const TPM2B_AUTH *auth,
1566  TPMI_ALG_HASH hashAlg,
1567  ESYS_TR *sequenceHandle);
1568 
1569 TSS2_RC
1571  ESYS_CONTEXT *esysContext,
1572  ESYS_TR handle,
1573  ESYS_TR shandle1,
1574  ESYS_TR shandle2,
1575  ESYS_TR shandle3,
1576  const TPM2B_AUTH *auth,
1577  TPMI_ALG_HASH hashAlg);
1578 
1579 TSS2_RC
1581  ESYS_CONTEXT *esysContext,
1582  ESYS_TR *sequenceHandle);
1583 
1584 TSS2_RC
1585 Esys_MAC_Start(
1586  ESYS_CONTEXT *esysContext,
1587  ESYS_TR handle,
1588  ESYS_TR handleSession1,
1589  ESYS_TR optionalSession2,
1590  ESYS_TR optionalSession3,
1591  const TPM2B_AUTH *auth,
1592  TPMI_ALG_MAC_SCHEME inScheme,
1593  ESYS_TR *sequenceHandle);
1594 
1595 TSS2_RC
1596 Esys_MAC_Start_Async(
1597  ESYS_CONTEXT *esysContext,
1598  ESYS_TR handle,
1599  ESYS_TR handleSession1,
1600  ESYS_TR optionalSession2,
1601  ESYS_TR optionalSession3,
1602  const TPM2B_AUTH *auth,
1603  TPMI_ALG_MAC_SCHEME inScheme);
1604 
1605 TSS2_RC
1606 Esys_MAC_Start_Finish(
1607  ESYS_CONTEXT *esysContext,
1608  ESYS_TR *sequenceHandle);
1609 
1610 /* Table 73 - TPM2_HashSequenceStart Command */
1611 
1612 TSS2_RC
1614  ESYS_CONTEXT *esysContext,
1615  ESYS_TR shandle1,
1616  ESYS_TR shandle2,
1617  ESYS_TR shandle3,
1618  const TPM2B_AUTH *auth,
1619  TPMI_ALG_HASH hashAlg,
1620  ESYS_TR *sequenceHandle);
1621 
1622 TSS2_RC
1624  ESYS_CONTEXT *esysContext,
1625  ESYS_TR shandle1,
1626  ESYS_TR shandle2,
1627  ESYS_TR shandle3,
1628  const TPM2B_AUTH *auth,
1629  TPMI_ALG_HASH hashAlg);
1630 
1631 TSS2_RC
1633  ESYS_CONTEXT *esysContext,
1634  ESYS_TR *sequenceHandle);
1635 
1636 /* Table 75 - TPM2_SequenceUpdate Command */
1637 
1638 TSS2_RC
1640  ESYS_CONTEXT *esysContext,
1641  ESYS_TR sequenceHandle,
1642  ESYS_TR shandle1,
1643  ESYS_TR shandle2,
1644  ESYS_TR shandle3,
1645  const TPM2B_MAX_BUFFER *buffer);
1646 
1647 TSS2_RC
1649  ESYS_CONTEXT *esysContext,
1650  ESYS_TR sequenceHandle,
1651  ESYS_TR shandle1,
1652  ESYS_TR shandle2,
1653  ESYS_TR shandle3,
1654  const TPM2B_MAX_BUFFER *buffer);
1655 
1656 TSS2_RC
1658  ESYS_CONTEXT *esysContext);
1659 
1660 /* Table 77 - TPM2_SequenceComplete Command */
1661 
1662 TSS2_RC
1663 Esys_SequenceComplete(
1664  ESYS_CONTEXT *esysContext,
1665  ESYS_TR sequenceHandle,
1666  ESYS_TR shandle1,
1667  ESYS_TR shandle2,
1668  ESYS_TR shandle3,
1669  const TPM2B_MAX_BUFFER *buffer,
1670  ESYS_TR hierarchy,
1671  TPM2B_DIGEST **result,
1672  TPMT_TK_HASHCHECK **validation);
1673 
1674 TSS2_RC
1675 Esys_SequenceComplete_Async(
1676  ESYS_CONTEXT *esysContext,
1677  ESYS_TR sequenceHandle,
1678  ESYS_TR shandle1,
1679  ESYS_TR shandle2,
1680  ESYS_TR shandle3,
1681  const TPM2B_MAX_BUFFER *buffer,
1682  ESYS_TR hierarchy);
1683 
1684 TSS2_RC
1686  ESYS_CONTEXT *esysContext,
1687  TPM2B_DIGEST **result,
1688  TPMT_TK_HASHCHECK **validation);
1689 
1690 /* Table 79 - TPM2_EventSequenceComplete Command */
1691 
1692 TSS2_RC
1694  ESYS_CONTEXT *esysContext,
1695  ESYS_TR pcrHandle,
1696  ESYS_TR sequenceHandle,
1697  ESYS_TR shandle1,
1698  ESYS_TR shandle2,
1699  ESYS_TR shandle3,
1700  const TPM2B_MAX_BUFFER *buffer,
1701  TPML_DIGEST_VALUES **results);
1702 
1703 TSS2_RC
1705  ESYS_CONTEXT *esysContext,
1706  ESYS_TR pcrHandle,
1707  ESYS_TR sequenceHandle,
1708  ESYS_TR shandle1,
1709  ESYS_TR shandle2,
1710  ESYS_TR shandle3,
1711  const TPM2B_MAX_BUFFER *buffer);
1712 
1713 TSS2_RC
1715  ESYS_CONTEXT *esysContext,
1716  TPML_DIGEST_VALUES **results);
1717 
1718 /* Table 81 - TPM2_Certify Command */
1719 
1720 TSS2_RC
1721 Esys_Certify(
1722  ESYS_CONTEXT *esysContext,
1723  ESYS_TR objectHandle,
1724  ESYS_TR signHandle,
1725  ESYS_TR shandle1,
1726  ESYS_TR shandle2,
1727  ESYS_TR shandle3,
1728  const TPM2B_DATA *qualifyingData,
1729  const TPMT_SIG_SCHEME *inScheme,
1730  TPM2B_ATTEST **certifyInfo,
1731  TPMT_SIGNATURE **signature);
1732 
1733 TSS2_RC
1735  ESYS_CONTEXT *esysContext,
1736  ESYS_TR objectHandle,
1737  ESYS_TR signHandle,
1738  ESYS_TR shandle1,
1739  ESYS_TR shandle2,
1740  ESYS_TR shandle3,
1741  const TPM2B_DATA *qualifyingData,
1742  const TPMT_SIG_SCHEME *inScheme);
1743 
1744 TSS2_RC
1746  ESYS_CONTEXT *esysContext,
1747  TPM2B_ATTEST **certifyInfo,
1748  TPMT_SIGNATURE **signature);
1749 
1750 /* Table 83 - TPM2_CertifyCreation Command */
1751 
1752 TSS2_RC
1754  ESYS_CONTEXT *esysContext,
1755  ESYS_TR signHandle,
1756  ESYS_TR objectHandle,
1757  ESYS_TR shandle1,
1758  ESYS_TR shandle2,
1759  ESYS_TR shandle3,
1760  const TPM2B_DATA *qualifyingData,
1761  const TPM2B_DIGEST *creationHash,
1762  const TPMT_SIG_SCHEME *inScheme,
1763  const TPMT_TK_CREATION *creationTicket,
1764  TPM2B_ATTEST **certifyInfo,
1765  TPMT_SIGNATURE **signature);
1766 
1767 TSS2_RC
1769  ESYS_CONTEXT *esysContext,
1770  ESYS_TR signHandle,
1771  ESYS_TR objectHandle,
1772  ESYS_TR shandle1,
1773  ESYS_TR shandle2,
1774  ESYS_TR shandle3,
1775  const TPM2B_DATA *qualifyingData,
1776  const TPM2B_DIGEST *creationHash,
1777  const TPMT_SIG_SCHEME *inScheme,
1778  const TPMT_TK_CREATION *creationTicket);
1779 
1780 TSS2_RC
1782  ESYS_CONTEXT *esysContext,
1783  TPM2B_ATTEST **certifyInfo,
1784  TPMT_SIGNATURE **signature);
1785 
1786 TSS2_RC
1787 Esys_CertifyX509(
1788  ESYS_CONTEXT *esysContext,
1789  ESYS_TR objectHandle,
1790  ESYS_TR signHandle,
1791  ESYS_TR shandle1,
1792  ESYS_TR shandle2,
1793  ESYS_TR shandle3,
1794  const TPM2B_DATA *reserved,
1795  const TPMT_SIG_SCHEME *inScheme,
1796  const TPM2B_MAX_BUFFER *partialCertificate,
1797  TPM2B_MAX_BUFFER **addedToCertificate,
1798  TPM2B_DIGEST **tbsDigest,
1799  TPMT_SIGNATURE **signature);
1800 
1801 TSS2_RC
1802 Esys_CertifyX509_Async(
1803  ESYS_CONTEXT *esysContext,
1804  ESYS_TR objectHandle,
1805  ESYS_TR signHandle,
1806  ESYS_TR shandle1,
1807  ESYS_TR shandle2,
1808  ESYS_TR shandle3,
1809  const TPM2B_DATA *reserved,
1810  const TPMT_SIG_SCHEME *inScheme,
1811  const TPM2B_MAX_BUFFER *partialCertificate);
1812 
1813 TSS2_RC
1814 Esys_CertifyX509_Finish(
1815  ESYS_CONTEXT *esysContext,
1816  TPM2B_MAX_BUFFER **addedToCertificate,
1817  TPM2B_DIGEST **tbsDigest,
1818  TPMT_SIGNATURE **signature);
1819 
1820 /* Table 85 - TPM2_Quote Command */
1821 
1822 TSS2_RC
1823 Esys_Quote(
1824  ESYS_CONTEXT *esysContext,
1825  ESYS_TR signHandle,
1826  ESYS_TR shandle1,
1827  ESYS_TR shandle2,
1828  ESYS_TR shandle3,
1829  const TPM2B_DATA *qualifyingData,
1830  const TPMT_SIG_SCHEME *inScheme,
1831  const TPML_PCR_SELECTION *PCRselect,
1832  TPM2B_ATTEST **quoted,
1833  TPMT_SIGNATURE **signature);
1834 
1835 TSS2_RC
1837  ESYS_CONTEXT *esysContext,
1838  ESYS_TR signHandle,
1839  ESYS_TR shandle1,
1840  ESYS_TR shandle2,
1841  ESYS_TR shandle3,
1842  const TPM2B_DATA *qualifyingData,
1843  const TPMT_SIG_SCHEME *inScheme,
1844  const TPML_PCR_SELECTION *PCRselect);
1845 
1846 TSS2_RC
1848  ESYS_CONTEXT *esysContext,
1849  TPM2B_ATTEST **quoted,
1850  TPMT_SIGNATURE **signature);
1851 
1852 /* Table 87 - TPM2_GetSessionAuditDigest Command */
1853 
1854 TSS2_RC
1856  ESYS_CONTEXT *esysContext,
1857  ESYS_TR privacyAdminHandle,
1858  ESYS_TR signHandle,
1859  ESYS_TR sessionHandle,
1860  ESYS_TR shandle1,
1861  ESYS_TR shandle2,
1862  ESYS_TR shandle3,
1863  const TPM2B_DATA *qualifyingData,
1864  const TPMT_SIG_SCHEME *inScheme,
1865  TPM2B_ATTEST **auditInfo,
1866  TPMT_SIGNATURE **signature);
1867 
1868 TSS2_RC
1870  ESYS_CONTEXT *esysContext,
1871  ESYS_TR privacyAdminHandle,
1872  ESYS_TR signHandle,
1873  ESYS_TR sessionHandle,
1874  ESYS_TR shandle1,
1875  ESYS_TR shandle2,
1876  ESYS_TR shandle3,
1877  const TPM2B_DATA *qualifyingData,
1878  const TPMT_SIG_SCHEME *inScheme);
1879 
1880 TSS2_RC
1882  ESYS_CONTEXT *esysContext,
1883  TPM2B_ATTEST **auditInfo,
1884  TPMT_SIGNATURE **signature);
1885 
1886 /* Table 89 - TPM2_GetCommandAuditDigest Command */
1887 
1888 TSS2_RC
1890  ESYS_CONTEXT *esysContext,
1891  ESYS_TR privacyHandle,
1892  ESYS_TR signHandle,
1893  ESYS_TR shandle1,
1894  ESYS_TR shandle2,
1895  ESYS_TR shandle3,
1896  const TPM2B_DATA *qualifyingData,
1897  const TPMT_SIG_SCHEME *inScheme,
1898  TPM2B_ATTEST **auditInfo,
1899  TPMT_SIGNATURE **signature);
1900 
1901 TSS2_RC
1903  ESYS_CONTEXT *esysContext,
1904  ESYS_TR privacyHandle,
1905  ESYS_TR signHandle,
1906  ESYS_TR shandle1,
1907  ESYS_TR shandle2,
1908  ESYS_TR shandle3,
1909  const TPM2B_DATA *qualifyingData,
1910  const TPMT_SIG_SCHEME *inScheme);
1911 
1912 TSS2_RC
1914  ESYS_CONTEXT *esysContext,
1915  TPM2B_ATTEST **auditInfo,
1916  TPMT_SIGNATURE **signature);
1917 
1918 /* Table 91 - TPM2_GetTime Command */
1919 
1920 TSS2_RC
1921 Esys_GetTime(
1922  ESYS_CONTEXT *esysContext,
1923  ESYS_TR privacyAdminHandle,
1924  ESYS_TR signHandle,
1925  ESYS_TR shandle1,
1926  ESYS_TR shandle2,
1927  ESYS_TR shandle3,
1928  const TPM2B_DATA *qualifyingData,
1929  const TPMT_SIG_SCHEME *inScheme,
1930  TPM2B_ATTEST **timeInfo,
1931  TPMT_SIGNATURE **signature);
1932 
1933 TSS2_RC
1935  ESYS_CONTEXT *esysContext,
1936  ESYS_TR privacyAdminHandle,
1937  ESYS_TR signHandle,
1938  ESYS_TR shandle1,
1939  ESYS_TR shandle2,
1940  ESYS_TR shandle3,
1941  const TPM2B_DATA *qualifyingData,
1942  const TPMT_SIG_SCHEME *inScheme);
1943 
1944 TSS2_RC
1946  ESYS_CONTEXT *esysContext,
1947  TPM2B_ATTEST **timeInfo,
1948  TPMT_SIGNATURE **signature);
1949 
1950 /* Table 93 - TPM2_Commit Command */
1951 
1952 TSS2_RC
1953 Esys_Commit(
1954  ESYS_CONTEXT *esysContext,
1955  ESYS_TR signHandle,
1956  ESYS_TR shandle1,
1957  ESYS_TR shandle2,
1958  ESYS_TR shandle3,
1959  const TPM2B_ECC_POINT *P1,
1960  const TPM2B_SENSITIVE_DATA *s2,
1961  const TPM2B_ECC_PARAMETER *y2,
1962  TPM2B_ECC_POINT **K,
1963  TPM2B_ECC_POINT **L,
1964  TPM2B_ECC_POINT **E,
1965  UINT16 *counter);
1966 
1967 TSS2_RC
1969  ESYS_CONTEXT *esysContext,
1970  ESYS_TR signHandle,
1971  ESYS_TR shandle1,
1972  ESYS_TR shandle2,
1973  ESYS_TR shandle3,
1974  const TPM2B_ECC_POINT *P1,
1975  const TPM2B_SENSITIVE_DATA *s2,
1976  const TPM2B_ECC_PARAMETER *y2);
1977 
1978 TSS2_RC
1980  ESYS_CONTEXT *esysContext,
1981  TPM2B_ECC_POINT **K,
1982  TPM2B_ECC_POINT **L,
1983  TPM2B_ECC_POINT **E,
1984  UINT16 *counter);
1985 
1986 /* Table 95 - TPM2_EC_Ephemeral Command */
1987 
1988 TSS2_RC
1990  ESYS_CONTEXT *esysContext,
1991  ESYS_TR shandle1,
1992  ESYS_TR shandle2,
1993  ESYS_TR shandle3,
1994  TPMI_ECC_CURVE curveID,
1995  TPM2B_ECC_POINT **Q,
1996  UINT16 *counter);
1997 
1998 TSS2_RC
2000  ESYS_CONTEXT *esysContext,
2001  ESYS_TR shandle1,
2002  ESYS_TR shandle2,
2003  ESYS_TR shandle3,
2004  TPMI_ECC_CURVE curveID);
2005 
2006 TSS2_RC
2008  ESYS_CONTEXT *esysContext,
2009  TPM2B_ECC_POINT **Q,
2010  UINT16 *counter);
2011 
2012 /* Table 97 - TPM2_VerifySignature Command */
2013 
2014 TSS2_RC
2016  ESYS_CONTEXT *esysContext,
2017  ESYS_TR keyHandle,
2018  ESYS_TR shandle1,
2019  ESYS_TR shandle2,
2020  ESYS_TR shandle3,
2021  const TPM2B_DIGEST *digest,
2022  const TPMT_SIGNATURE *signature,
2023  TPMT_TK_VERIFIED **validation);
2024 
2025 TSS2_RC
2027  ESYS_CONTEXT *esysContext,
2028  ESYS_TR keyHandle,
2029  ESYS_TR shandle1,
2030  ESYS_TR shandle2,
2031  ESYS_TR shandle3,
2032  const TPM2B_DIGEST *digest,
2033  const TPMT_SIGNATURE *signature);
2034 
2035 TSS2_RC
2037  ESYS_CONTEXT *esysContext,
2038  TPMT_TK_VERIFIED **validation);
2039 
2040 /* Table 99 - TPM2_Sign Command */
2041 
2042 TSS2_RC
2043 Esys_Sign(
2044  ESYS_CONTEXT *esysContext,
2045  ESYS_TR keyHandle,
2046  ESYS_TR shandle1,
2047  ESYS_TR shandle2,
2048  ESYS_TR shandle3,
2049  const TPM2B_DIGEST *digest,
2050  const TPMT_SIG_SCHEME *inScheme,
2051  const TPMT_TK_HASHCHECK *validation,
2052  TPMT_SIGNATURE **signature);
2053 
2054 TSS2_RC
2056  ESYS_CONTEXT *esysContext,
2057  ESYS_TR keyHandle,
2058  ESYS_TR shandle1,
2059  ESYS_TR shandle2,
2060  ESYS_TR shandle3,
2061  const TPM2B_DIGEST *digest,
2062  const TPMT_SIG_SCHEME *inScheme,
2063  const TPMT_TK_HASHCHECK *validation);
2064 
2065 TSS2_RC
2067  ESYS_CONTEXT *esysContext,
2068  TPMT_SIGNATURE **signature);
2069 
2070 /* Table 101 - TPM2_SetCommandCodeAuditStatus Command */
2071 
2072 TSS2_RC
2074  ESYS_CONTEXT *esysContext,
2075  ESYS_TR auth,
2076  ESYS_TR shandle1,
2077  ESYS_TR shandle2,
2078  ESYS_TR shandle3,
2079  TPMI_ALG_HASH auditAlg,
2080  const TPML_CC *setList,
2081  const TPML_CC *clearList);
2082 
2083 TSS2_RC
2085  ESYS_CONTEXT *esysContext,
2086  ESYS_TR auth,
2087  ESYS_TR shandle1,
2088  ESYS_TR shandle2,
2089  ESYS_TR shandle3,
2090  TPMI_ALG_HASH auditAlg,
2091  const TPML_CC *setList,
2092  const TPML_CC *clearList);
2093 
2094 TSS2_RC
2096  ESYS_CONTEXT *esysContext);
2097 
2098 /* Table 103 - TPM2_PCR_Extend Command */
2099 
2100 TSS2_RC
2102  ESYS_CONTEXT *esysContext,
2103  ESYS_TR pcrHandle,
2104  ESYS_TR shandle1,
2105  ESYS_TR shandle2,
2106  ESYS_TR shandle3,
2107  const TPML_DIGEST_VALUES *digests);
2108 
2109 TSS2_RC
2111  ESYS_CONTEXT *esysContext,
2112  ESYS_TR pcrHandle,
2113  ESYS_TR shandle1,
2114  ESYS_TR shandle2,
2115  ESYS_TR shandle3,
2116  const TPML_DIGEST_VALUES *digests);
2117 
2118 TSS2_RC
2120  ESYS_CONTEXT *esysContext);
2121 
2122 /* Table 105 - TPM2_PCR_Event Command */
2123 
2124 TSS2_RC
2126  ESYS_CONTEXT *esysContext,
2127  ESYS_TR pcrHandle,
2128  ESYS_TR shandle1,
2129  ESYS_TR shandle2,
2130  ESYS_TR shandle3,
2131  const TPM2B_EVENT *eventData,
2132  TPML_DIGEST_VALUES **digests);
2133 
2134 TSS2_RC
2136  ESYS_CONTEXT *esysContext,
2137  ESYS_TR pcrHandle,
2138  ESYS_TR shandle1,
2139  ESYS_TR shandle2,
2140  ESYS_TR shandle3,
2141  const TPM2B_EVENT *eventData);
2142 
2143 TSS2_RC
2145  ESYS_CONTEXT *esysContext,
2146  TPML_DIGEST_VALUES **digests);
2147 
2148 /* Table 107 - TPM2_PCR_Read Command */
2149 
2150 TSS2_RC
2152  ESYS_CONTEXT *esysContext,
2153  ESYS_TR shandle1,
2154  ESYS_TR shandle2,
2155  ESYS_TR shandle3,
2156  const TPML_PCR_SELECTION *pcrSelectionIn,
2157  UINT32 *pcrUpdateCounter,
2158  TPML_PCR_SELECTION **pcrSelectionOut,
2159  TPML_DIGEST **pcrValues);
2160 
2161 TSS2_RC
2163  ESYS_CONTEXT *esysContext,
2164  ESYS_TR shandle1,
2165  ESYS_TR shandle2,
2166  ESYS_TR shandle3,
2167  const TPML_PCR_SELECTION *pcrSelectionIn);
2168 
2169 TSS2_RC
2171  ESYS_CONTEXT *esysContext,
2172  UINT32 *pcrUpdateCounter,
2173  TPML_PCR_SELECTION **pcrSelectionOut,
2174  TPML_DIGEST **pcrValues);
2175 
2176 /* Table 109 - TPM2_PCR_Allocate Command */
2177 
2178 TSS2_RC
2180  ESYS_CONTEXT *esysContext,
2181  ESYS_TR authHandle,
2182  ESYS_TR shandle1,
2183  ESYS_TR shandle2,
2184  ESYS_TR shandle3,
2185  const TPML_PCR_SELECTION *pcrAllocation,
2186  TPMI_YES_NO *allocationSuccess,
2187  UINT32 *maxPCR,
2188  UINT32 *sizeNeeded,
2189  UINT32 *sizeAvailable);
2190 
2191 TSS2_RC
2193  ESYS_CONTEXT *esysContext,
2194  ESYS_TR authHandle,
2195  ESYS_TR shandle1,
2196  ESYS_TR shandle2,
2197  ESYS_TR shandle3,
2198  const TPML_PCR_SELECTION *pcrAllocation);
2199 
2200 TSS2_RC
2202  ESYS_CONTEXT *esysContext,
2203  TPMI_YES_NO *allocationSuccess,
2204  UINT32 *maxPCR,
2205  UINT32 *sizeNeeded,
2206  UINT32 *sizeAvailable);
2207 
2208 /* Table 111 - TPM2_PCR_SetAuthPolicy Command */
2209 
2210 TSS2_RC
2212  ESYS_CONTEXT *esysContext,
2213  ESYS_TR authHandle,
2214  ESYS_TR shandle1,
2215  ESYS_TR shandle2,
2216  ESYS_TR shandle3,
2217  const TPM2B_DIGEST *authPolicy,
2218  TPMI_ALG_HASH hashAlg,
2219  TPMI_DH_PCR pcrNum);
2220 
2221 TSS2_RC
2223  ESYS_CONTEXT *esysContext,
2224  ESYS_TR authHandle,
2225  ESYS_TR shandle1,
2226  ESYS_TR shandle2,
2227  ESYS_TR shandle3,
2228  const TPM2B_DIGEST *authPolicy,
2229  TPMI_ALG_HASH hashAlg,
2230  TPMI_DH_PCR pcrNum);
2231 
2232 TSS2_RC
2234  ESYS_CONTEXT *esysContext);
2235 
2236 /* Table 113 - TPM2_PCR_SetAuthValue Command */
2237 
2238 TSS2_RC
2240  ESYS_CONTEXT *esysContext,
2241  ESYS_TR pcrHandle,
2242  ESYS_TR shandle1,
2243  ESYS_TR shandle2,
2244  ESYS_TR shandle3,
2245  const TPM2B_DIGEST *auth);
2246 
2247 TSS2_RC
2249  ESYS_CONTEXT *esysContext,
2250  ESYS_TR pcrHandle,
2251  ESYS_TR shandle1,
2252  ESYS_TR shandle2,
2253  ESYS_TR shandle3,
2254  const TPM2B_DIGEST *auth);
2255 
2256 TSS2_RC
2258  ESYS_CONTEXT *esysContext);
2259 
2260 /* Table 115 - TPM2_PCR_Reset Command */
2261 
2262 TSS2_RC
2264  ESYS_CONTEXT *esysContext,
2265  ESYS_TR pcrHandle,
2266  ESYS_TR shandle1,
2267  ESYS_TR shandle2,
2268  ESYS_TR shandle3);
2269 
2270 TSS2_RC
2272  ESYS_CONTEXT *esysContext,
2273  ESYS_TR pcrHandle,
2274  ESYS_TR shandle1,
2275  ESYS_TR shandle2,
2276  ESYS_TR shandle3);
2277 
2278 TSS2_RC
2280  ESYS_CONTEXT *esysContext);
2281 
2282 /* Table 117 - TPM2_PolicySigned Command */
2283 
2284 TSS2_RC
2286  ESYS_CONTEXT *esysContext,
2287  ESYS_TR authObject,
2288  ESYS_TR policySession,
2289  ESYS_TR shandle1,
2290  ESYS_TR shandle2,
2291  ESYS_TR shandle3,
2292  const TPM2B_NONCE *nonceTPM,
2293  const TPM2B_DIGEST *cpHashA,
2294  const TPM2B_NONCE *policyRef,
2295  INT32 expiration,
2296  const TPMT_SIGNATURE *auth,
2297  TPM2B_TIMEOUT **timeout,
2298  TPMT_TK_AUTH **policyTicket);
2299 
2300 TSS2_RC
2302  ESYS_CONTEXT *esysContext,
2303  ESYS_TR authObject,
2304  ESYS_TR policySession,
2305  ESYS_TR shandle1,
2306  ESYS_TR shandle2,
2307  ESYS_TR shandle3,
2308  const TPM2B_NONCE *nonceTPM,
2309  const TPM2B_DIGEST *cpHashA,
2310  const TPM2B_NONCE *policyRef,
2311  INT32 expiration,
2312  const TPMT_SIGNATURE *auth);
2313 
2314 TSS2_RC
2316  ESYS_CONTEXT *esysContext,
2317  TPM2B_TIMEOUT **timeout,
2318  TPMT_TK_AUTH **policyTicket);
2319 
2320 /* Table 119 - TPM2_PolicySecret Command */
2321 
2322 TSS2_RC
2324  ESYS_CONTEXT *esysContext,
2325  ESYS_TR authHandle,
2326  ESYS_TR policySession,
2327  ESYS_TR shandle1,
2328  ESYS_TR shandle2,
2329  ESYS_TR shandle3,
2330  const TPM2B_NONCE *nonceTPM,
2331  const TPM2B_DIGEST *cpHashA,
2332  const TPM2B_NONCE *policyRef,
2333  INT32 expiration,
2334  TPM2B_TIMEOUT **timeout,
2335  TPMT_TK_AUTH **policyTicket);
2336 
2337 TSS2_RC
2339  ESYS_CONTEXT *esysContext,
2340  ESYS_TR authHandle,
2341  ESYS_TR policySession,
2342  ESYS_TR shandle1,
2343  ESYS_TR shandle2,
2344  ESYS_TR shandle3,
2345  const TPM2B_NONCE *nonceTPM,
2346  const TPM2B_DIGEST *cpHashA,
2347  const TPM2B_NONCE *policyRef,
2348  INT32 expiration);
2349 
2350 TSS2_RC
2352  ESYS_CONTEXT *esysContext,
2353  TPM2B_TIMEOUT **timeout,
2354  TPMT_TK_AUTH **policyTicket);
2355 
2356 /* Table 121 - TPM2_PolicyTicket Command */
2357 
2358 TSS2_RC
2360  ESYS_CONTEXT *esysContext,
2361  ESYS_TR policySession,
2362  ESYS_TR shandle1,
2363  ESYS_TR shandle2,
2364  ESYS_TR shandle3,
2365  const TPM2B_TIMEOUT *timeout,
2366  const TPM2B_DIGEST *cpHashA,
2367  const TPM2B_NONCE *policyRef,
2368  const TPM2B_NAME *authName,
2369  const TPMT_TK_AUTH *ticket);
2370 
2371 TSS2_RC
2373  ESYS_CONTEXT *esysContext,
2374  ESYS_TR policySession,
2375  ESYS_TR shandle1,
2376  ESYS_TR shandle2,
2377  ESYS_TR shandle3,
2378  const TPM2B_TIMEOUT *timeout,
2379  const TPM2B_DIGEST *cpHashA,
2380  const TPM2B_NONCE *policyRef,
2381  const TPM2B_NAME *authName,
2382  const TPMT_TK_AUTH *ticket);
2383 
2384 TSS2_RC
2386  ESYS_CONTEXT *esysContext);
2387 
2388 /* Table 123 - TPM2_PolicyOR Command */
2389 
2390 TSS2_RC
2392  ESYS_CONTEXT *esysContext,
2393  ESYS_TR policySession,
2394  ESYS_TR shandle1,
2395  ESYS_TR shandle2,
2396  ESYS_TR shandle3,
2397  const TPML_DIGEST *pHashList);
2398 
2399 TSS2_RC
2401  ESYS_CONTEXT *esysContext,
2402  ESYS_TR policySession,
2403  ESYS_TR shandle1,
2404  ESYS_TR shandle2,
2405  ESYS_TR shandle3,
2406  const TPML_DIGEST *pHashList);
2407 
2408 TSS2_RC
2410  ESYS_CONTEXT *esysContext);
2411 
2412 /* Table 125 - TPM2_PolicyPCR Command */
2413 
2414 TSS2_RC
2416  ESYS_CONTEXT *esysContext,
2417  ESYS_TR policySession,
2418  ESYS_TR shandle1,
2419  ESYS_TR shandle2,
2420  ESYS_TR shandle3,
2421  const TPM2B_DIGEST *pcrDigest,
2422  const TPML_PCR_SELECTION *pcrs);
2423 
2424 TSS2_RC
2426  ESYS_CONTEXT *esysContext,
2427  ESYS_TR policySession,
2428  ESYS_TR shandle1,
2429  ESYS_TR shandle2,
2430  ESYS_TR shandle3,
2431  const TPM2B_DIGEST *pcrDigest,
2432  const TPML_PCR_SELECTION *pcrs);
2433 
2434 TSS2_RC
2436  ESYS_CONTEXT *esysContext);
2437 
2438 /* Table 127 - TPM2_PolicyLocality Command */
2439 
2440 TSS2_RC
2442  ESYS_CONTEXT *esysContext,
2443  ESYS_TR policySession,
2444  ESYS_TR shandle1,
2445  ESYS_TR shandle2,
2446  ESYS_TR shandle3,
2447  TPMA_LOCALITY locality);
2448 
2449 TSS2_RC
2451  ESYS_CONTEXT *esysContext,
2452  ESYS_TR policySession,
2453  ESYS_TR shandle1,
2454  ESYS_TR shandle2,
2455  ESYS_TR shandle3,
2456  TPMA_LOCALITY locality);
2457 
2458 TSS2_RC
2460  ESYS_CONTEXT *esysContext);
2461 
2462 /* Table 129 - TPM2_PolicyNV Command */
2463 
2464 TSS2_RC
2466  ESYS_CONTEXT *esysContext,
2467  ESYS_TR authHandle,
2468  ESYS_TR nvIndex,
2469  ESYS_TR policySession,
2470  ESYS_TR shandle1,
2471  ESYS_TR shandle2,
2472  ESYS_TR shandle3,
2473  const TPM2B_OPERAND *operandB,
2474  UINT16 offset,
2475  TPM2_EO operation);
2476 
2477 TSS2_RC
2479  ESYS_CONTEXT *esysContext,
2480  ESYS_TR authHandle,
2481  ESYS_TR nvIndex,
2482  ESYS_TR policySession,
2483  ESYS_TR shandle1,
2484  ESYS_TR shandle2,
2485  ESYS_TR shandle3,
2486  const TPM2B_OPERAND *operandB,
2487  UINT16 offset,
2488  TPM2_EO operation);
2489 
2490 TSS2_RC
2492  ESYS_CONTEXT *esysContext);
2493 
2494 /* Table 131 - TPM2_PolicyCounterTimer Command */
2495 
2496 TSS2_RC
2498  ESYS_CONTEXT *esysContext,
2499  ESYS_TR policySession,
2500  ESYS_TR shandle1,
2501  ESYS_TR shandle2,
2502  ESYS_TR shandle3,
2503  const TPM2B_OPERAND *operandB,
2504  UINT16 offset,
2505  TPM2_EO operation);
2506 
2507 TSS2_RC
2509  ESYS_CONTEXT *esysContext,
2510  ESYS_TR policySession,
2511  ESYS_TR shandle1,
2512  ESYS_TR shandle2,
2513  ESYS_TR shandle3,
2514  const TPM2B_OPERAND *operandB,
2515  UINT16 offset,
2516  TPM2_EO operation);
2517 
2518 TSS2_RC
2520  ESYS_CONTEXT *esysContext);
2521 
2522 /* Table 133 - TPM2_PolicyCommandCode Command */
2523 
2524 TSS2_RC
2526  ESYS_CONTEXT *esysContext,
2527  ESYS_TR policySession,
2528  ESYS_TR shandle1,
2529  ESYS_TR shandle2,
2530  ESYS_TR shandle3,
2531  TPM2_CC code);
2532 
2533 TSS2_RC
2535  ESYS_CONTEXT *esysContext,
2536  ESYS_TR policySession,
2537  ESYS_TR shandle1,
2538  ESYS_TR shandle2,
2539  ESYS_TR shandle3,
2540  TPM2_CC code);
2541 
2542 TSS2_RC
2544  ESYS_CONTEXT *esysContext);
2545 
2546 /* Table 135 - TPM2_PolicyPhysicalPresence Command */
2547 
2548 TSS2_RC
2550  ESYS_CONTEXT *esysContext,
2551  ESYS_TR policySession,
2552  ESYS_TR shandle1,
2553  ESYS_TR shandle2,
2554  ESYS_TR shandle3);
2555 
2556 TSS2_RC
2558  ESYS_CONTEXT *esysContext,
2559  ESYS_TR policySession,
2560  ESYS_TR shandle1,
2561  ESYS_TR shandle2,
2562  ESYS_TR shandle3);
2563 
2564 TSS2_RC
2566  ESYS_CONTEXT *esysContext);
2567 
2568 /* Table 137 - TPM2_PolicyCpHash Command */
2569 
2570 TSS2_RC
2572  ESYS_CONTEXT *esysContext,
2573  ESYS_TR policySession,
2574  ESYS_TR shandle1,
2575  ESYS_TR shandle2,
2576  ESYS_TR shandle3,
2577  const TPM2B_DIGEST *cpHashA);
2578 
2579 TSS2_RC
2581  ESYS_CONTEXT *esysContext,
2582  ESYS_TR policySession,
2583  ESYS_TR shandle1,
2584  ESYS_TR shandle2,
2585  ESYS_TR shandle3,
2586  const TPM2B_DIGEST *cpHashA);
2587 
2588 TSS2_RC
2590  ESYS_CONTEXT *esysContext);
2591 
2592 /* Table 139 - TPM2_PolicyNameHash Command */
2593 
2594 TSS2_RC
2596  ESYS_CONTEXT *esysContext,
2597  ESYS_TR policySession,
2598  ESYS_TR shandle1,
2599  ESYS_TR shandle2,
2600  ESYS_TR shandle3,
2601  const TPM2B_DIGEST *nameHash);
2602 
2603 TSS2_RC
2605  ESYS_CONTEXT *esysContext,
2606  ESYS_TR policySession,
2607  ESYS_TR shandle1,
2608  ESYS_TR shandle2,
2609  ESYS_TR shandle3,
2610  const TPM2B_DIGEST *nameHash);
2611 
2612 TSS2_RC
2614  ESYS_CONTEXT *esysContext);
2615 
2616 /* Table 141 - TPM2_PolicyDuplicationSelect Command */
2617 
2618 TSS2_RC
2620  ESYS_CONTEXT *esysContext,
2621  ESYS_TR policySession,
2622  ESYS_TR shandle1,
2623  ESYS_TR shandle2,
2624  ESYS_TR shandle3,
2625  const TPM2B_NAME *objectName,
2626  const TPM2B_NAME *newParentName,
2627  TPMI_YES_NO includeObject);
2628 
2629 TSS2_RC
2631  ESYS_CONTEXT *esysContext,
2632  ESYS_TR policySession,
2633  ESYS_TR shandle1,
2634  ESYS_TR shandle2,
2635  ESYS_TR shandle3,
2636  const TPM2B_NAME *objectName,
2637  const TPM2B_NAME *newParentName,
2638  TPMI_YES_NO includeObject);
2639 
2640 TSS2_RC
2642  ESYS_CONTEXT *esysContext);
2643 
2644 /* Table 143 - TPM2_PolicyAuthorize Command */
2645 
2646 TSS2_RC
2648  ESYS_CONTEXT *esysContext,
2649  ESYS_TR policySession,
2650  ESYS_TR shandle1,
2651  ESYS_TR shandle2,
2652  ESYS_TR shandle3,
2653  const TPM2B_DIGEST *approvedPolicy,
2654  const TPM2B_NONCE *policyRef,
2655  const TPM2B_NAME *keySign,
2656  const TPMT_TK_VERIFIED *checkTicket);
2657 
2658 TSS2_RC
2660  ESYS_CONTEXT *esysContext,
2661  ESYS_TR policySession,
2662  ESYS_TR shandle1,
2663  ESYS_TR shandle2,
2664  ESYS_TR shandle3,
2665  const TPM2B_DIGEST *approvedPolicy,
2666  const TPM2B_NONCE *policyRef,
2667  const TPM2B_NAME *keySign,
2668  const TPMT_TK_VERIFIED *checkTicket);
2669 
2670 TSS2_RC
2672  ESYS_CONTEXT *esysContext);
2673 
2674 /* Table 145 - TPM2_PolicyAuthValue Command */
2675 
2676 TSS2_RC
2678  ESYS_CONTEXT *esysContext,
2679  ESYS_TR policySession,
2680  ESYS_TR shandle1,
2681  ESYS_TR shandle2,
2682  ESYS_TR shandle3);
2683 
2684 TSS2_RC
2686  ESYS_CONTEXT *esysContext,
2687  ESYS_TR policySession,
2688  ESYS_TR shandle1,
2689  ESYS_TR shandle2,
2690  ESYS_TR shandle3);
2691 
2692 TSS2_RC
2694  ESYS_CONTEXT *esysContext);
2695 
2696 /* Table 147 - TPM2_PolicyPassword Command */
2697 
2698 TSS2_RC
2700  ESYS_CONTEXT *esysContext,
2701  ESYS_TR policySession,
2702  ESYS_TR shandle1,
2703  ESYS_TR shandle2,
2704  ESYS_TR shandle3);
2705 
2706 TSS2_RC
2708  ESYS_CONTEXT *esysContext,
2709  ESYS_TR policySession,
2710  ESYS_TR shandle1,
2711  ESYS_TR shandle2,
2712  ESYS_TR shandle3);
2713 
2714 TSS2_RC
2716  ESYS_CONTEXT *esysContext);
2717 
2718 /* Table 149 - TPM2_PolicyGetDigest Command */
2719 
2720 TSS2_RC
2722  ESYS_CONTEXT *esysContext,
2723  ESYS_TR policySession,
2724  ESYS_TR shandle1,
2725  ESYS_TR shandle2,
2726  ESYS_TR shandle3,
2727  TPM2B_DIGEST **policyDigest);
2728 
2729 TSS2_RC
2731  ESYS_CONTEXT *esysContext,
2732  ESYS_TR policySession,
2733  ESYS_TR shandle1,
2734  ESYS_TR shandle2,
2735  ESYS_TR shandle3);
2736 
2737 TSS2_RC
2739  ESYS_CONTEXT *esysContext,
2740  TPM2B_DIGEST **policyDigest);
2741 
2742 /* Table 151 - TPM2_PolicyNvWritten Command */
2743 
2744 TSS2_RC
2746  ESYS_CONTEXT *esysContext,
2747  ESYS_TR policySession,
2748  ESYS_TR shandle1,
2749  ESYS_TR shandle2,
2750  ESYS_TR shandle3,
2751  TPMI_YES_NO writtenSet);
2752 
2753 TSS2_RC
2755  ESYS_CONTEXT *esysContext,
2756  ESYS_TR policySession,
2757  ESYS_TR shandle1,
2758  ESYS_TR shandle2,
2759  ESYS_TR shandle3,
2760  TPMI_YES_NO writtenSet);
2761 
2762 TSS2_RC
2764  ESYS_CONTEXT *esysContext);
2765 
2766 /* Table 153 - TPM2_PolicyTemplate Command */
2767 
2768 TSS2_RC
2769 Esys_PolicyTemplate(
2770  ESYS_CONTEXT *esysContext,
2771  ESYS_TR policySession,
2772  ESYS_TR shandle1,
2773  ESYS_TR shandle2,
2774  ESYS_TR shandle3,
2775  const TPM2B_DIGEST *templateHash);
2776 
2777 TSS2_RC
2778 Esys_PolicyTemplate_Async(
2779  ESYS_CONTEXT *esysContext,
2780  ESYS_TR policySession,
2781  ESYS_TR shandle1,
2782  ESYS_TR shandle2,
2783  ESYS_TR shandle3,
2784  const TPM2B_DIGEST *templateHash);
2785 
2786 TSS2_RC
2787 Esys_PolicyTemplate_Finish(
2788  ESYS_CONTEXT *esysContext);
2789 
2790 /* Table 155 - TPM2_PolicyAuthorizeNV Command */
2791 
2792 TSS2_RC
2793 Esys_PolicyAuthorizeNV(
2794  ESYS_CONTEXT *esysContext,
2795  ESYS_TR authHandle,
2796  ESYS_TR nvIndex,
2797  ESYS_TR policySession,
2798  ESYS_TR shandle1,
2799  ESYS_TR shandle2,
2800  ESYS_TR shandle3);
2801 
2802 TSS2_RC
2803 Esys_PolicyAuthorizeNV_Async(
2804  ESYS_CONTEXT *esysContext,
2805  ESYS_TR authHandle,
2806  ESYS_TR nvIndex,
2807  ESYS_TR policySession,
2808  ESYS_TR shandle1,
2809  ESYS_TR shandle2,
2810  ESYS_TR shandle3);
2811 
2812 TSS2_RC
2813 Esys_PolicyAuthorizeNV_Finish(
2814  ESYS_CONTEXT *esysContext);
2815 
2816 /* Table 157 - TPM2_CreatePrimary Command */
2817 
2818 TSS2_RC
2820  ESYS_CONTEXT *esysContext,
2821  ESYS_TR primaryHandle,
2822  ESYS_TR shandle1,
2823  ESYS_TR shandle2,
2824  ESYS_TR shandle3,
2825  const TPM2B_SENSITIVE_CREATE *inSensitive,
2826  const TPM2B_PUBLIC *inPublic,
2827  const TPM2B_DATA *outsideInfo,
2828  const TPML_PCR_SELECTION *creationPCR,
2829  ESYS_TR *objectHandle,
2830  TPM2B_PUBLIC **outPublic,
2831  TPM2B_CREATION_DATA **creationData,
2832  TPM2B_DIGEST **creationHash,
2833  TPMT_TK_CREATION **creationTicket);
2834 
2835 TSS2_RC
2837  ESYS_CONTEXT *esysContext,
2838  ESYS_TR primaryHandle,
2839  ESYS_TR shandle1,
2840  ESYS_TR shandle2,
2841  ESYS_TR shandle3,
2842  const TPM2B_SENSITIVE_CREATE *inSensitive,
2843  const TPM2B_PUBLIC *inPublic,
2844  const TPM2B_DATA *outsideInfo,
2845  const TPML_PCR_SELECTION *creationPCR);
2846 
2847 TSS2_RC
2849  ESYS_CONTEXT *esysContext,
2850  ESYS_TR *objectHandle,
2851  TPM2B_PUBLIC **outPublic,
2852  TPM2B_CREATION_DATA **creationData,
2853  TPM2B_DIGEST **creationHash,
2854  TPMT_TK_CREATION **creationTicket);
2855 
2856 /* Table 159 - TPM2_HierarchyControl Command */
2857 
2858 TSS2_RC
2859 Esys_HierarchyControl(
2860  ESYS_CONTEXT *esysContext,
2861  ESYS_TR authHandle,
2862  ESYS_TR shandle1,
2863  ESYS_TR shandle2,
2864  ESYS_TR shandle3,
2865  ESYS_TR enable,
2866  TPMI_YES_NO state);
2867 
2868 TSS2_RC
2869 Esys_HierarchyControl_Async(
2870  ESYS_CONTEXT *esysContext,
2871  ESYS_TR authHandle,
2872  ESYS_TR shandle1,
2873  ESYS_TR shandle2,
2874  ESYS_TR shandle3,
2875  ESYS_TR enable,
2876  TPMI_YES_NO state);
2877 
2878 TSS2_RC
2880  ESYS_CONTEXT *esysContext);
2881 
2882 /* Table 161 - TPM2_SetPrimaryPolicy Command */
2883 
2884 TSS2_RC
2886  ESYS_CONTEXT *esysContext,
2887  ESYS_TR authHandle,
2888  ESYS_TR shandle1,
2889  ESYS_TR shandle2,
2890  ESYS_TR shandle3,
2891  const TPM2B_DIGEST *authPolicy,
2892  TPMI_ALG_HASH hashAlg);
2893 
2894 TSS2_RC
2896  ESYS_CONTEXT *esysContext,
2897  ESYS_TR authHandle,
2898  ESYS_TR shandle1,
2899  ESYS_TR shandle2,
2900  ESYS_TR shandle3,
2901  const TPM2B_DIGEST *authPolicy,
2902  TPMI_ALG_HASH hashAlg);
2903 
2904 TSS2_RC
2906  ESYS_CONTEXT *esysContext);
2907 
2908 /* Table 163 - TPM2_ChangePPS Command */
2909 
2910 TSS2_RC
2912  ESYS_CONTEXT *esysContext,
2913  ESYS_TR authHandle,
2914  ESYS_TR shandle1,
2915  ESYS_TR shandle2,
2916  ESYS_TR shandle3);
2917 
2918 TSS2_RC
2920  ESYS_CONTEXT *esysContext,
2921  ESYS_TR authHandle,
2922  ESYS_TR shandle1,
2923  ESYS_TR shandle2,
2924  ESYS_TR shandle3);
2925 
2926 TSS2_RC
2928  ESYS_CONTEXT *esysContext);
2929 
2930 /* Table 165 - TPM2_ChangeEPS Command */
2931 
2932 TSS2_RC
2934  ESYS_CONTEXT *esysContext,
2935  ESYS_TR authHandle,
2936  ESYS_TR shandle1,
2937  ESYS_TR shandle2,
2938  ESYS_TR shandle3);
2939 
2940 TSS2_RC
2942  ESYS_CONTEXT *esysContext,
2943  ESYS_TR authHandle,
2944  ESYS_TR shandle1,
2945  ESYS_TR shandle2,
2946  ESYS_TR shandle3);
2947 
2948 TSS2_RC
2950  ESYS_CONTEXT *esysContext);
2951 
2952 /* Table 167 - TPM2_Clear Command */
2953 
2954 TSS2_RC
2955 Esys_Clear(
2956  ESYS_CONTEXT *esysContext,
2957  ESYS_TR authHandle,
2958  ESYS_TR shandle1,
2959  ESYS_TR shandle2,
2960  ESYS_TR shandle3);
2961 
2962 TSS2_RC
2964  ESYS_CONTEXT *esysContext,
2965  ESYS_TR authHandle,
2966  ESYS_TR shandle1,
2967  ESYS_TR shandle2,
2968  ESYS_TR shandle3);
2969 
2970 TSS2_RC
2972  ESYS_CONTEXT *esysContext);
2973 
2974 /* Table 169 - TPM2_ClearControl Command */
2975 
2976 TSS2_RC
2978  ESYS_CONTEXT *esysContext,
2979  ESYS_TR auth,
2980  ESYS_TR shandle1,
2981  ESYS_TR shandle2,
2982  ESYS_TR shandle3,
2983  TPMI_YES_NO disable);
2984 
2985 TSS2_RC
2987  ESYS_CONTEXT *esysContext,
2988  ESYS_TR auth,
2989  ESYS_TR shandle1,
2990  ESYS_TR shandle2,
2991  ESYS_TR shandle3,
2992  TPMI_YES_NO disable);
2993 
2994 TSS2_RC
2996  ESYS_CONTEXT *esysContext);
2997 
2998 /* Table 171 - TPM2_HierarchyChangeAuth Command */
2999 
3000 TSS2_RC
3002  ESYS_CONTEXT *esysContext,
3003  ESYS_TR authHandle,
3004  ESYS_TR shandle1,
3005  ESYS_TR shandle2,
3006  ESYS_TR shandle3,
3007  const TPM2B_AUTH *newAuth);
3008 
3009 TSS2_RC
3011  ESYS_CONTEXT *esysContext,
3012  ESYS_TR authHandle,
3013  ESYS_TR shandle1,
3014  ESYS_TR shandle2,
3015  ESYS_TR shandle3,
3016  const TPM2B_AUTH *newAuth);
3017 
3018 TSS2_RC
3020  ESYS_CONTEXT *esysContext);
3021 
3022 /* Table 173 - TPM2_DictionaryAttackLockReset Command */
3023 
3024 TSS2_RC
3026  ESYS_CONTEXT *esysContext,
3027  ESYS_TR lockHandle,
3028  ESYS_TR shandle1,
3029  ESYS_TR shandle2,
3030  ESYS_TR shandle3);
3031 
3032 TSS2_RC
3034  ESYS_CONTEXT *esysContext,
3035  ESYS_TR lockHandle,
3036  ESYS_TR shandle1,
3037  ESYS_TR shandle2,
3038  ESYS_TR shandle3);
3039 
3040 TSS2_RC
3042  ESYS_CONTEXT *esysContext);
3043 
3044 /* Table 175 - TPM2_DictionaryAttackParameters Command */
3045 
3046 TSS2_RC
3048  ESYS_CONTEXT *esysContext,
3049  ESYS_TR lockHandle,
3050  ESYS_TR shandle1,
3051  ESYS_TR shandle2,
3052  ESYS_TR shandle3,
3053  UINT32 newMaxTries,
3054  UINT32 newRecoveryTime,
3055  UINT32 lockoutRecovery);
3056 
3057 TSS2_RC
3059  ESYS_CONTEXT *esysContext,
3060  ESYS_TR lockHandle,
3061  ESYS_TR shandle1,
3062  ESYS_TR shandle2,
3063  ESYS_TR shandle3,
3064  UINT32 newMaxTries,
3065  UINT32 newRecoveryTime,
3066  UINT32 lockoutRecovery);
3067 
3068 TSS2_RC
3070  ESYS_CONTEXT *esysContext);
3071 
3072 /* Table 177 - TPM2_PP_Commands Command */
3073 
3074 TSS2_RC
3076  ESYS_CONTEXT *esysContext,
3077  ESYS_TR auth,
3078  ESYS_TR shandle1,
3079  ESYS_TR shandle2,
3080  ESYS_TR shandle3,
3081  const TPML_CC *setList,
3082  const TPML_CC *clearList);
3083 
3084 TSS2_RC
3086  ESYS_CONTEXT *esysContext,
3087  ESYS_TR auth,
3088  ESYS_TR shandle1,
3089  ESYS_TR shandle2,
3090  ESYS_TR shandle3,
3091  const TPML_CC *setList,
3092  const TPML_CC *clearList);
3093 
3094 TSS2_RC
3096  ESYS_CONTEXT *esysContext);
3097 
3098 /* Table 179 - TPM2_SetAlgorithmSet Command */
3099 
3100 TSS2_RC
3102  ESYS_CONTEXT *esysContext,
3103  ESYS_TR authHandle,
3104  ESYS_TR shandle1,
3105  ESYS_TR shandle2,
3106  ESYS_TR shandle3,
3107  UINT32 algorithmSet);
3108 
3109 TSS2_RC
3111  ESYS_CONTEXT *esysContext,
3112  ESYS_TR authHandle,
3113  ESYS_TR shandle1,
3114  ESYS_TR shandle2,
3115  ESYS_TR shandle3,
3116  UINT32 algorithmSet);
3117 
3118 TSS2_RC
3120  ESYS_CONTEXT *esysContext);
3121 
3122 /* Table 181 - TPM2_FieldUpgradeStart Command */
3123 
3124 TSS2_RC
3125 Esys_FieldUpgradeStart(
3126  ESYS_CONTEXT *esysContext,
3127  ESYS_TR authorization,
3128  ESYS_TR keyHandle,
3129  ESYS_TR shandle1,
3130  ESYS_TR shandle2,
3131  ESYS_TR shandle3,
3132  const TPM2B_DIGEST *fuDigest,
3133  const TPMT_SIGNATURE *manifestSignature);
3134 
3135 TSS2_RC
3136 Esys_FieldUpgradeStart_Async(
3137  ESYS_CONTEXT *esysContext,
3138  ESYS_TR authorization,
3139  ESYS_TR keyHandle,
3140  ESYS_TR shandle1,
3141  ESYS_TR shandle2,
3142  ESYS_TR shandle3,
3143  const TPM2B_DIGEST *fuDigest,
3144  const TPMT_SIGNATURE *manifestSignature);
3145 
3146 TSS2_RC
3147 Esys_FieldUpgradeStart_Finish(
3148  ESYS_CONTEXT *esysContext);
3149 
3150 /* Table 183 - TPM2_FieldUpgradeData Command */
3151 
3152 TSS2_RC
3153 Esys_FieldUpgradeData(
3154  ESYS_CONTEXT *esysContext,
3155  ESYS_TR shandle1,
3156  ESYS_TR shandle2,
3157  ESYS_TR shandle3,
3158  const TPM2B_MAX_BUFFER *fuData,
3159  TPMT_HA **nextDigest,
3160  TPMT_HA **firstDigest);
3161 
3162 TSS2_RC
3163 Esys_FieldUpgradeData_Async(
3164  ESYS_CONTEXT *esysContext,
3165  ESYS_TR shandle1,
3166  ESYS_TR shandle2,
3167  ESYS_TR shandle3,
3168  const TPM2B_MAX_BUFFER *fuData);
3169 
3170 TSS2_RC
3171 Esys_FieldUpgradeData_Finish(
3172  ESYS_CONTEXT *esysContext,
3173  TPMT_HA **nextDigest,
3174  TPMT_HA **firstDigest);
3175 
3176 /* Table 185 - TPM2_FirmwareRead Command */
3177 
3178 TSS2_RC
3179 Esys_FirmwareRead(
3180  ESYS_CONTEXT *esysContext,
3181  ESYS_TR shandle1,
3182  ESYS_TR shandle2,
3183  ESYS_TR shandle3,
3184  UINT32 sequenceNumber,
3185  TPM2B_MAX_BUFFER **fuData);
3186 
3187 TSS2_RC
3188 Esys_FirmwareRead_Async(
3189  ESYS_CONTEXT *esysContext,
3190  ESYS_TR shandle1,
3191  ESYS_TR shandle2,
3192  ESYS_TR shandle3,
3193  UINT32 sequenceNumber);
3194 
3195 TSS2_RC
3196 Esys_FirmwareRead_Finish(
3197  ESYS_CONTEXT *esysContext,
3198  TPM2B_MAX_BUFFER **fuData);
3199 
3200 /* Table 187 - TPM2_ContextSave Command */
3201 
3202 TSS2_RC
3204  ESYS_CONTEXT *esysContext,
3205  ESYS_TR saveHandle,
3206  TPMS_CONTEXT **context);
3207 
3208 TSS2_RC
3210  ESYS_CONTEXT *esysContext,
3211  ESYS_TR saveHandle);
3212 
3213 TSS2_RC
3215  ESYS_CONTEXT *esysContext,
3216  TPMS_CONTEXT **context);
3217 
3218 /* Table 189 - TPM2_ContextLoad Command */
3219 
3220 TSS2_RC
3222  ESYS_CONTEXT *esysContext,
3223  const TPMS_CONTEXT *context,
3224  ESYS_TR *loadedHandle);
3225 
3226 TSS2_RC
3228  ESYS_CONTEXT *esysContext,
3229  const TPMS_CONTEXT *context);
3230 
3231 TSS2_RC
3233  ESYS_CONTEXT *esysContext,
3234  ESYS_TR *loadedHandle);
3235 
3236 /* Table 191 - TPM2_FlushContext Command */
3237 
3238 TSS2_RC
3240  ESYS_CONTEXT *esysContext,
3241  ESYS_TR flushHandle);
3242 
3243 TSS2_RC
3245  ESYS_CONTEXT *esysContext,
3246  ESYS_TR flushHandle);
3247 
3248 TSS2_RC
3250  ESYS_CONTEXT *esysContext);
3251 
3252 /* Table 193 - TPM2_EvictControl Command */
3253 
3254 TSS2_RC
3256  ESYS_CONTEXT *esysContext,
3257  ESYS_TR auth,
3258  ESYS_TR objectHandle,
3259  ESYS_TR shandle1,
3260  ESYS_TR shandle2,
3261  ESYS_TR shandle3,
3262  TPMI_DH_PERSISTENT persistentHandle,
3263  ESYS_TR *newObjectHandle);
3264 
3265 TSS2_RC
3267  ESYS_CONTEXT *esysContext,
3268  ESYS_TR auth,
3269  ESYS_TR objectHandle,
3270  ESYS_TR shandle1,
3271  ESYS_TR shandle2,
3272  ESYS_TR shandle3,
3273  TPMI_DH_PERSISTENT persistentHandle);
3274 
3275 TSS2_RC
3277  ESYS_CONTEXT *esysContext,
3278  ESYS_TR *newObjectHandle);
3279 
3280 /* Table 195 - TPM2_ReadClock Command */
3281 
3282 TSS2_RC
3284  ESYS_CONTEXT *esysContext,
3285  ESYS_TR shandle1,
3286  ESYS_TR shandle2,
3287  ESYS_TR shandle3,
3288  TPMS_TIME_INFO **currentTime);
3289 
3290 TSS2_RC
3292  ESYS_CONTEXT *esysContext,
3293  ESYS_TR shandle1,
3294  ESYS_TR shandle2,
3295  ESYS_TR shandle3);
3296 
3297 TSS2_RC
3299  ESYS_CONTEXT *esysContext,
3300  TPMS_TIME_INFO **currentTime);
3301 
3302 /* Table 197 - TPM2_ClockSet Command */
3303 
3304 TSS2_RC
3306  ESYS_CONTEXT *esysContext,
3307  ESYS_TR auth,
3308  ESYS_TR shandle1,
3309  ESYS_TR shandle2,
3310  ESYS_TR shandle3,
3311  UINT64 newTime);
3312 
3313 TSS2_RC
3315  ESYS_CONTEXT *esysContext,
3316  ESYS_TR auth,
3317  ESYS_TR shandle1,
3318  ESYS_TR shandle2,
3319  ESYS_TR shandle3,
3320  UINT64 newTime);
3321 
3322 TSS2_RC
3324  ESYS_CONTEXT *esysContext);
3325 
3326 /* Table 199 - TPM2_ClockRateAdjust Command */
3327 
3328 TSS2_RC
3330  ESYS_CONTEXT *esysContext,
3331  ESYS_TR auth,
3332  ESYS_TR shandle1,
3333  ESYS_TR shandle2,
3334  ESYS_TR shandle3,
3335  TPM2_CLOCK_ADJUST rateAdjust);
3336 
3337 TSS2_RC
3339  ESYS_CONTEXT *esysContext,
3340  ESYS_TR auth,
3341  ESYS_TR shandle1,
3342  ESYS_TR shandle2,
3343  ESYS_TR shandle3,
3344  TPM2_CLOCK_ADJUST rateAdjust);
3345 
3346 TSS2_RC
3348  ESYS_CONTEXT *esysContext);
3349 
3350 /* Table 201 - TPM2_GetCapability Command */
3351 
3352 TSS2_RC
3354  ESYS_CONTEXT *esysContext,
3355  ESYS_TR shandle1,
3356  ESYS_TR shandle2,
3357  ESYS_TR shandle3,
3358  TPM2_CAP capability,
3359  UINT32 property,
3360  UINT32 propertyCount,
3361  TPMI_YES_NO *moreData,
3362  TPMS_CAPABILITY_DATA **capabilityData);
3363 
3364 TSS2_RC
3366  ESYS_CONTEXT *esysContext,
3367  ESYS_TR shandle1,
3368  ESYS_TR shandle2,
3369  ESYS_TR shandle3,
3370  TPM2_CAP capability,
3371  UINT32 property,
3372  UINT32 propertyCount);
3373 
3374 TSS2_RC
3376  ESYS_CONTEXT *esysContext,
3377  TPMI_YES_NO *moreData,
3378  TPMS_CAPABILITY_DATA **capabilityData);
3379 
3380 /* Table 203 - TPM2_TestParms Command */
3381 
3382 TSS2_RC
3384  ESYS_CONTEXT *esysContext,
3385  ESYS_TR shandle1,
3386  ESYS_TR shandle2,
3387  ESYS_TR shandle3,
3388  const TPMT_PUBLIC_PARMS *parameters);
3389 
3390 TSS2_RC
3392  ESYS_CONTEXT *esysContext,
3393  ESYS_TR shandle1,
3394  ESYS_TR shandle2,
3395  ESYS_TR shandle3,
3396  const TPMT_PUBLIC_PARMS *parameters);
3397 
3398 TSS2_RC
3400  ESYS_CONTEXT *esysContext);
3401 
3402 /* Table 205 - TPM2_NV_DefineSpace Command */
3403 
3404 TSS2_RC
3406  ESYS_CONTEXT *esysContext,
3407  ESYS_TR authHandle,
3408  ESYS_TR shandle1,
3409  ESYS_TR shandle2,
3410  ESYS_TR shandle3,
3411  const TPM2B_AUTH *auth,
3412  const TPM2B_NV_PUBLIC *publicInfo,
3413  ESYS_TR *nvHandle);
3414 
3415 TSS2_RC
3417  ESYS_CONTEXT *esysContext,
3418  ESYS_TR authHandle,
3419  ESYS_TR shandle1,
3420  ESYS_TR shandle2,
3421  ESYS_TR shandle3,
3422  const TPM2B_AUTH *auth,
3423  const TPM2B_NV_PUBLIC *publicInfo);
3424 
3425 TSS2_RC
3427  ESYS_CONTEXT *esysContext,
3428  ESYS_TR *nvHandle);
3429 
3430 /* Table 207 - TPM2_NV_UndefineSpace Command */
3431 
3432 TSS2_RC
3434  ESYS_CONTEXT *esysContext,
3435  ESYS_TR authHandle,
3436  ESYS_TR nvIndex,
3437  ESYS_TR shandle1,
3438  ESYS_TR shandle2,
3439  ESYS_TR shandle3);
3440 
3441 TSS2_RC
3443  ESYS_CONTEXT *esysContext,
3444  ESYS_TR authHandle,
3445  ESYS_TR nvIndex,
3446  ESYS_TR shandle1,
3447  ESYS_TR shandle2,
3448  ESYS_TR shandle3);
3449 
3450 TSS2_RC
3452  ESYS_CONTEXT *esysContext);
3453 
3454 /* Table 209 - TPM2_NV_UndefineSpaceSpecial Command */
3455 
3456 TSS2_RC
3458  ESYS_CONTEXT *esysContext,
3459  ESYS_TR nvIndex,
3460  ESYS_TR platform,
3461  ESYS_TR shandle1,
3462  ESYS_TR shandle2,
3463  ESYS_TR shandle3);
3464 
3465 TSS2_RC
3467  ESYS_CONTEXT *esysContext,
3468  ESYS_TR nvIndex,
3469  ESYS_TR platform,
3470  ESYS_TR shandle1,
3471  ESYS_TR shandle2,
3472  ESYS_TR shandle3);
3473 
3474 TSS2_RC
3476  ESYS_CONTEXT *esysContext);
3477 
3478 /* Table 211 - TPM2_NV_ReadPublic Command */
3479 
3480 TSS2_RC
3482  ESYS_CONTEXT *esysContext,
3483  ESYS_TR nvIndex,
3484  ESYS_TR shandle1,
3485  ESYS_TR shandle2,
3486  ESYS_TR shandle3,
3487  TPM2B_NV_PUBLIC **nvPublic,
3488  TPM2B_NAME **nvName);
3489 
3490 TSS2_RC
3492  ESYS_CONTEXT *esysContext,
3493  ESYS_TR nvIndex,
3494  ESYS_TR shandle1,
3495  ESYS_TR shandle2,
3496  ESYS_TR shandle3);
3497 
3498 TSS2_RC
3500  ESYS_CONTEXT *esysContext,
3501  TPM2B_NV_PUBLIC **nvPublic,
3502  TPM2B_NAME **nvName);
3503 
3504 /* Table 213 - TPM2_NV_Write Command */
3505 
3506 TSS2_RC
3508  ESYS_CONTEXT *esysContext,
3509  ESYS_TR authHandle,
3510  ESYS_TR nvIndex,
3511  ESYS_TR shandle1,
3512  ESYS_TR shandle2,
3513  ESYS_TR shandle3,
3514  const TPM2B_MAX_NV_BUFFER *data,
3515  UINT16 offset);
3516 
3517 TSS2_RC
3519  ESYS_CONTEXT *esysContext,
3520  ESYS_TR authHandle,
3521  ESYS_TR nvIndex,
3522  ESYS_TR shandle1,
3523  ESYS_TR shandle2,
3524  ESYS_TR shandle3,
3525  const TPM2B_MAX_NV_BUFFER *data,
3526  UINT16 offset);
3527 
3528 TSS2_RC
3530  ESYS_CONTEXT *esysContext);
3531 
3532 /* Table 215 - TPM2_NV_Increment Command */
3533 
3534 TSS2_RC
3536  ESYS_CONTEXT *esysContext,
3537  ESYS_TR authHandle,
3538  ESYS_TR nvIndex,
3539  ESYS_TR shandle1,
3540  ESYS_TR shandle2,
3541  ESYS_TR shandle3);
3542 
3543 TSS2_RC
3545  ESYS_CONTEXT *esysContext,
3546  ESYS_TR authHandle,
3547  ESYS_TR nvIndex,
3548  ESYS_TR shandle1,
3549  ESYS_TR shandle2,
3550  ESYS_TR shandle3);
3551 
3552 TSS2_RC
3554  ESYS_CONTEXT *esysContext);
3555 
3556 /* Table 217 - TPM2_NV_Extend Command */
3557 
3558 TSS2_RC
3560  ESYS_CONTEXT *esysContext,
3561  ESYS_TR authHandle,
3562  ESYS_TR nvIndex,
3563  ESYS_TR shandle1,
3564  ESYS_TR shandle2,
3565  ESYS_TR shandle3,
3566  const TPM2B_MAX_NV_BUFFER *data);
3567 
3568 TSS2_RC
3570  ESYS_CONTEXT *esysContext,
3571  ESYS_TR authHandle,
3572  ESYS_TR nvIndex,
3573  ESYS_TR shandle1,
3574  ESYS_TR shandle2,
3575  ESYS_TR shandle3,
3576  const TPM2B_MAX_NV_BUFFER *data);
3577 
3578 TSS2_RC
3580  ESYS_CONTEXT *esysContext);
3581 
3582 /* Table 219 - TPM2_NV_SetBits Command */
3583 
3584 TSS2_RC
3586  ESYS_CONTEXT *esysContext,
3587  ESYS_TR authHandle,
3588  ESYS_TR nvIndex,
3589  ESYS_TR shandle1,
3590  ESYS_TR shandle2,
3591  ESYS_TR shandle3,
3592  UINT64 bits);
3593 
3594 TSS2_RC
3596  ESYS_CONTEXT *esysContext,
3597  ESYS_TR authHandle,
3598  ESYS_TR nvIndex,
3599  ESYS_TR shandle1,
3600  ESYS_TR shandle2,
3601  ESYS_TR shandle3,
3602  UINT64 bits);
3603 
3604 TSS2_RC
3606  ESYS_CONTEXT *esysContext);
3607 
3608 /* Table 221 - TPM2_NV_WriteLock Command */
3609 
3610 TSS2_RC
3612  ESYS_CONTEXT *esysContext,
3613  ESYS_TR authHandle,
3614  ESYS_TR nvIndex,
3615  ESYS_TR shandle1,
3616  ESYS_TR shandle2,
3617  ESYS_TR shandle3);
3618 
3619 TSS2_RC
3621  ESYS_CONTEXT *esysContext,
3622  ESYS_TR authHandle,
3623  ESYS_TR nvIndex,
3624  ESYS_TR shandle1,
3625  ESYS_TR shandle2,
3626  ESYS_TR shandle3);
3627 
3628 TSS2_RC
3630  ESYS_CONTEXT *esysContext);
3631 
3632 /* Table 223 - TPM2_NV_GlobalWriteLock Command */
3633 
3634 TSS2_RC
3636  ESYS_CONTEXT *esysContext,
3637  ESYS_TR authHandle,
3638  ESYS_TR shandle1,
3639  ESYS_TR shandle2,
3640  ESYS_TR shandle3);
3641 
3642 TSS2_RC
3644  ESYS_CONTEXT *esysContext,
3645  ESYS_TR authHandle,
3646  ESYS_TR shandle1,
3647  ESYS_TR shandle2,
3648  ESYS_TR shandle3);
3649 
3650 TSS2_RC
3652  ESYS_CONTEXT *esysContext);
3653 
3654 /* Table 225 - TPM2_NV_Read Command */
3655 
3656 TSS2_RC
3657 Esys_NV_Read(
3658  ESYS_CONTEXT *esysContext,
3659  ESYS_TR authHandle,
3660  ESYS_TR nvIndex,
3661  ESYS_TR shandle1,
3662  ESYS_TR shandle2,
3663  ESYS_TR shandle3,
3664  UINT16 size,
3665  UINT16 offset,
3666  TPM2B_MAX_NV_BUFFER **data);
3667 
3668 TSS2_RC
3670  ESYS_CONTEXT *esysContext,
3671  ESYS_TR authHandle,
3672  ESYS_TR nvIndex,
3673  ESYS_TR shandle1,
3674  ESYS_TR shandle2,
3675  ESYS_TR shandle3,
3676  UINT16 size,
3677  UINT16 offset);
3678 
3679 TSS2_RC
3681  ESYS_CONTEXT *esysContext,
3682  TPM2B_MAX_NV_BUFFER **data);
3683 
3684 /* Table 227 - TPM2_NV_ReadLock Command */
3685 
3686 TSS2_RC
3688  ESYS_CONTEXT *esysContext,
3689  ESYS_TR authHandle,
3690  ESYS_TR nvIndex,
3691  ESYS_TR shandle1,
3692  ESYS_TR shandle2,
3693  ESYS_TR shandle3);
3694 
3695 TSS2_RC
3697  ESYS_CONTEXT *esysContext,
3698  ESYS_TR authHandle,
3699  ESYS_TR nvIndex,
3700  ESYS_TR shandle1,
3701  ESYS_TR shandle2,
3702  ESYS_TR shandle3);
3703 
3704 TSS2_RC
3706  ESYS_CONTEXT *esysContext);
3707 
3708 /* Table 229 - TPM2_NV_ChangeAuth Command */
3709 
3710 TSS2_RC
3712  ESYS_CONTEXT *esysContext,
3713  ESYS_TR nvIndex,
3714  ESYS_TR shandle1,
3715  ESYS_TR shandle2,
3716  ESYS_TR shandle3,
3717  const TPM2B_AUTH *newAuth);
3718 
3719 TSS2_RC
3721  ESYS_CONTEXT *esysContext,
3722  ESYS_TR nvIndex,
3723  ESYS_TR shandle1,
3724  ESYS_TR shandle2,
3725  ESYS_TR shandle3,
3726  const TPM2B_AUTH *newAuth);
3727 
3728 TSS2_RC
3730  ESYS_CONTEXT *esysContext);
3731 
3732 /* Table 231 - TPM2_NV_Certify Command */
3733 
3734 TSS2_RC
3736  ESYS_CONTEXT *esysContext,
3737  ESYS_TR signHandle,
3738  ESYS_TR authHandle,
3739  ESYS_TR nvIndex,
3740  ESYS_TR shandle1,
3741  ESYS_TR shandle2,
3742  ESYS_TR shandle3,
3743  const TPM2B_DATA *qualifyingData,
3744  const TPMT_SIG_SCHEME *inScheme,
3745  UINT16 size,
3746  UINT16 offset,
3747  TPM2B_ATTEST **certifyInfo,
3748  TPMT_SIGNATURE **signature);
3749 
3750 TSS2_RC
3752  ESYS_CONTEXT *esysContext,
3753  ESYS_TR signHandle,
3754  ESYS_TR authHandle,
3755  ESYS_TR nvIndex,
3756  ESYS_TR shandle1,
3757  ESYS_TR shandle2,
3758  ESYS_TR shandle3,
3759  const TPM2B_DATA *qualifyingData,
3760  const TPMT_SIG_SCHEME *inScheme,
3761  UINT16 size,
3762  UINT16 offset);
3763 
3764 TSS2_RC
3766  ESYS_CONTEXT *esysContext,
3767  TPM2B_ATTEST **certifyInfo,
3768  TPMT_SIGNATURE **signature);
3769 
3770 /* Table 233 - TPM2_Vendor_TCG_Test Command */
3771 
3772 TSS2_RC
3774  ESYS_CONTEXT *esysContext,
3775  ESYS_TR shandle1,
3776  ESYS_TR shandle2,
3777  ESYS_TR shandle3,
3778  const TPM2B_DATA *inputData,
3779  TPM2B_DATA **outputData);
3780 
3781 TSS2_RC
3783  ESYS_CONTEXT *esysContext,
3784  ESYS_TR shandle1,
3785  ESYS_TR shandle2,
3786  ESYS_TR shandle3,
3787  const TPM2B_DATA *inputData);
3788 
3789 TSS2_RC
3791  ESYS_CONTEXT *esysContext,
3792  TPM2B_DATA **outputData);
3793 
3794 /*
3795  * TPM 2.0 ESAPI Helper Functions
3796  */
3797 void
3798 Esys_Free(
3799  void *__ptr);
3800 
3801 TSS2_RC
3803  ESYS_CONTEXT *esys_context,
3804  TSS2_SYS_CONTEXT **sys_context);
3805 
3806 TSS2_RC
3808  ESYS_CONTEXT *esysContext,
3809  ESYS_CRYPTO_CALLBACKS *callbacks);
3810 
3811 #ifdef __cplusplus
3812 }
3813 #endif
3814 
3815 #endif /* TSS2_ESYS_H */
TSS2_RC Esys_SetCryptoCallbacks(ESYS_CONTEXT *esysContext, ESYS_CRYPTO_CALLBACKS *callbacks)
Definition: esys_context.c:271
TSS2_RC Esys_GetSysContext(ESYS_CONTEXT *esys_context, TSS2_SYS_CONTEXT **sys_context)
Definition: esys_context.c:240
TSS2_RC Esys_GetPollHandles(ESYS_CONTEXT *esys_context, TSS2_TCTI_POLL_HANDLE **handles, size_t *count)
Definition: esys_context.c:188
TSS2_RC Esys_Initialize(ESYS_CONTEXT **esys_context, TSS2_TCTI_CONTEXT *tcti, TSS2_ABI_VERSION *abiVersion)
Definition: esys_context.c:48
TSS2_RC Esys_SetTimeout(ESYS_CONTEXT *esys_context, int32_t timeout)
Definition: esys_context.c:224
TSS2_RC Esys_GetTcti(ESYS_CONTEXT *esys_context, TSS2_TCTI_CONTEXT **tcti)
Definition: esys_context.c:167
TSS2_RC Esys_TR_Deserialize(ESYS_CONTEXT *esys_context, uint8_t const *buffer, size_t buffer_size, ESYS_TR *esys_handle)
Definition: esys_tr.c:89
TSS2_RC Esys_TR_Close(ESYS_CONTEXT *esys_context, ESYS_TR *rsrc_handle)
Definition: esys_tr.c:430
TSS2_RC Esys_TRSess_GetAttributes(ESYS_CONTEXT *esysContext, ESYS_TR session, TPMA_SESSION *flags)
Definition: esys_tr.c:592
TSS2_RC Esys_TR_FromTPMPublic_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *object)
Definition: esys_tr.c:225
TSS2_RC Esys_TR_FromTPMPublic_Async(ESYS_CONTEXT *esysContext, TPM2_HANDLE tpm_handle, ESYS_TR optionalSession1, ESYS_TR optionalSession2, ESYS_TR optionalSession3)
Definition: esys_tr.c:136
TSS2_RC Esys_TR_SetAuth(ESYS_CONTEXT *esysContext, ESYS_TR handle, TPM2B_AUTH const *authValue)
Definition: esys_tr.c:473
uint32_t ESYS_TR
Definition: tss2_esys.h:16
TSS2_RC Esys_TR_Serialize(ESYS_CONTEXT *esys_context, ESYS_TR object, uint8_t **buffer, size_t *buffer_size)
Definition: esys_tr.c:47
TSS2_RC Esys_TRSess_SetAttributes(ESYS_CONTEXT *esysContext, ESYS_TR session, TPMA_SESSION flags, TPMA_SESSION mask)
Definition: esys_tr.c:622
TSS2_RC Esys_TR_GetName(ESYS_CONTEXT *esysContext, ESYS_TR handle, TPM2B_NAME **name)
Definition: esys_tr.c:532
TSS2_RC Esys_TR_FromTPMPublic(ESYS_CONTEXT *esysContext, TPM2_HANDLE tpm_handle, ESYS_TR optionalSession1, ESYS_TR optionalSession2, ESYS_TR optionalSession3, ESYS_TR *object)
Definition: esys_tr.c:380
TSS2_RC Esys_ActivateCredential_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **certInfo)
Definition: Esys_ActivateCredential.c:264
TSS2_RC Esys_ActivateCredential_Async(ESYS_CONTEXT *esysContext, ESYS_TR activateHandle, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ID_OBJECT *credentialBlob, const TPM2B_ENCRYPTED_SECRET *secret)
Definition: Esys_ActivateCredential.c:148
TSS2_RC Esys_ActivateCredential(ESYS_CONTEXT *esysContext, ESYS_TR activateHandle, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ID_OBJECT *credentialBlob, const TPM2B_ENCRYPTED_SECRET *secret, TPM2B_DIGEST **certInfo)
Definition: Esys_ActivateCredential.c:69
TSS2_RC Esys_CertifyCreation(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const TPMT_TK_CREATION *creationTicket, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_CertifyCreation.c:74
TSS2_RC Esys_CertifyCreation_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_CertifyCreation.c:277
TSS2_RC Esys_CertifyCreation_Async(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPM2B_DIGEST *creationHash, const TPMT_SIG_SCHEME *inScheme, const TPMT_TK_CREATION *creationTicket)
Definition: Esys_CertifyCreation.c:159
TSS2_RC Esys_Certify(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_Certify.c:71
TSS2_RC Esys_Certify_Async(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme)
Definition: Esys_Certify.c:149
TSS2_RC Esys_Certify_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_Certify.c:267
TSS2_RC Esys_ChangeEPS(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangeEPS.c:67
TSS2_RC Esys_ChangeEPS_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ChangeEPS.c:239
TSS2_RC Esys_ChangeEPS_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangeEPS.c:141
TSS2_RC Esys_ChangePPS(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangePPS.c:67
TSS2_RC Esys_ChangePPS_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangePPS.c:141
TSS2_RC Esys_ChangePPS_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ChangePPS.c:239
TSS2_RC Esys_Clear(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Clear.c:67
TSS2_RC Esys_Clear_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Clear.c:243
TSS2_RC Esys_ClearControl(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)
Definition: Esys_ClearControl.c:69
TSS2_RC Esys_ClearControl_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)
Definition: Esys_ClearControl.c:146
TSS2_RC Esys_ClearControl_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClearControl.c:245
TSS2_RC Esys_Clear_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Clear.c:140
TSS2_RC Esys_ClockRateAdjust_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClockRateAdjust.c:243
TSS2_RC Esys_ClockRateAdjust_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CLOCK_ADJUST rateAdjust)
Definition: Esys_ClockRateAdjust.c:144
TSS2_RC Esys_ClockRateAdjust(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CLOCK_ADJUST rateAdjust)
Definition: Esys_ClockRateAdjust.c:68
TSS2_RC Esys_ClockSet_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClockSet.c:243
TSS2_RC Esys_ClockSet_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT64 newTime)
Definition: Esys_ClockSet.c:144
TSS2_RC Esys_ClockSet(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT64 newTime)
Definition: Esys_ClockSet.c:68
TSS2_RC Esys_Commit(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *P1, const TPM2B_SENSITIVE_DATA *s2, const TPM2B_ECC_PARAMETER *y2, TPM2B_ECC_POINT **K, TPM2B_ECC_POINT **L, TPM2B_ECC_POINT **E, UINT16 *counter)
Definition: Esys_Commit.c:72
TSS2_RC Esys_Commit_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **K, TPM2B_ECC_POINT **L, TPM2B_ECC_POINT **E, UINT16 *counter)
Definition: Esys_Commit.c:260
TSS2_RC Esys_Commit_Async(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *P1, const TPM2B_SENSITIVE_DATA *s2, const TPM2B_ECC_PARAMETER *y2)
Definition: Esys_Commit.c:151
TSS2_RC Esys_ContextLoad(ESYS_CONTEXT *esysContext, const TPMS_CONTEXT *context, ESYS_TR *loadedHandle)
Definition: Esys_ContextLoad.c:67
TSS2_RC Esys_ContextLoad_Async(ESYS_CONTEXT *esysContext, const TPMS_CONTEXT *context)
Definition: Esys_ContextLoad.c:121
TSS2_RC Esys_ContextLoad_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *loadedHandle)
Definition: Esys_ContextLoad.c:212
TSS2_RC Esys_ContextSave(ESYS_CONTEXT *esysContext, ESYS_TR saveHandle, TPMS_CONTEXT **context)
Definition: Esys_ContextSave.c:66
TSS2_RC Esys_ContextSave_Finish(ESYS_CONTEXT *esysContext, TPMS_CONTEXT **context)
Definition: Esys_ContextSave.c:193
TSS2_RC Esys_ContextSave_Async(ESYS_CONTEXT *esysContext, ESYS_TR saveHandle)
Definition: Esys_ContextSave.c:124
TSS2_RC Esys_Create_Async(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_CREATE *inSensitive, const TPM2B_PUBLIC *inPublic, const TPM2B_DATA *outsideInfo, const TPML_PCR_SELECTION *creationPCR)
Definition: Esys_Create.c:177
TSS2_RC Esys_Create(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_CREATE *inSensitive, const TPM2B_PUBLIC *inPublic, const TPM2B_DATA *outsideInfo, const TPML_PCR_SELECTION *creationPCR, TPM2B_PRIVATE **outPrivate, TPM2B_PUBLIC **outPublic, TPM2B_CREATION_DATA **creationData, TPM2B_DIGEST **creationHash, TPMT_TK_CREATION **creationTicket)
Definition: Esys_Create.c:92
TSS2_RC Esys_Create_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outPrivate, TPM2B_PUBLIC **outPublic, TPM2B_CREATION_DATA **creationData, TPM2B_DIGEST **creationHash, TPMT_TK_CREATION **creationTicket)
Definition: Esys_Create.c:304
TSS2_RC Esys_CreatePrimary_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *objectHandle, TPM2B_PUBLIC **outPublic, TPM2B_CREATION_DATA **creationData, TPM2B_DIGEST **creationHash, TPMT_TK_CREATION **creationTicket)
Definition: Esys_CreatePrimary.c:305
TSS2_RC Esys_CreatePrimary(ESYS_CONTEXT *esysContext, ESYS_TR primaryHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_CREATE *inSensitive, const TPM2B_PUBLIC *inPublic, const TPM2B_DATA *outsideInfo, const TPML_PCR_SELECTION *creationPCR, ESYS_TR *objectHandle, TPM2B_PUBLIC **outPublic, TPM2B_CREATION_DATA **creationData, TPM2B_DIGEST **creationHash, TPMT_TK_CREATION **creationTicket)
Definition: Esys_CreatePrimary.c:93
TSS2_RC Esys_CreatePrimary_Async(ESYS_CONTEXT *esysContext, ESYS_TR primaryHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_CREATE *inSensitive, const TPM2B_PUBLIC *inPublic, const TPM2B_DATA *outsideInfo, const TPML_PCR_SELECTION *creationPCR)
Definition: Esys_CreatePrimary.c:180
TSS2_RC Esys_DictionaryAttackLockReset_Async(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_DictionaryAttackLockReset.c:141
TSS2_RC Esys_DictionaryAttackLockReset_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_DictionaryAttackLockReset.c:240
TSS2_RC Esys_DictionaryAttackLockReset(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_DictionaryAttackLockReset.c:67
TSS2_RC Esys_DictionaryAttackParameters_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_DictionaryAttackParameters.c:262
TSS2_RC Esys_DictionaryAttackParameters_Async(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT32 newMaxTries, UINT32 newRecoveryTime, UINT32 lockoutRecovery)
Definition: Esys_DictionaryAttackParameters.c:157
TSS2_RC Esys_DictionaryAttackParameters(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT32 newMaxTries, UINT32 newRecoveryTime, UINT32 lockoutRecovery)
Definition: Esys_DictionaryAttackParameters.c:73
TSS2_RC Esys_Duplicate_Async(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR newParentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *encryptionKeyIn, const TPMT_SYM_DEF_OBJECT *symmetricAlg)
Definition: Esys_Duplicate.c:158
TSS2_RC Esys_Duplicate_Finish(ESYS_CONTEXT *esysContext, TPM2B_DATA **encryptionKeyOut, TPM2B_PRIVATE **duplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Duplicate.c:277
TSS2_RC Esys_Duplicate(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR newParentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *encryptionKeyIn, const TPMT_SYM_DEF_OBJECT *symmetricAlg, TPM2B_DATA **encryptionKeyOut, TPM2B_PRIVATE **duplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Duplicate.c:77
TSS2_RC Esys_EC_Ephemeral_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID)
Definition: Esys_EC_Ephemeral.c:133
TSS2_RC Esys_EC_Ephemeral(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID, TPM2B_ECC_POINT **Q, UINT16 *counter)
Definition: Esys_EC_Ephemeral.c:63
TSS2_RC Esys_EC_Ephemeral_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **Q, UINT16 *counter)
Definition: Esys_EC_Ephemeral.c:222
TSS2_RC Esys_ECC_Parameters_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID)
Definition: Esys_ECC_Parameters.c:137
TSS2_RC Esys_ECC_Parameters_Finish(ESYS_CONTEXT *esysContext, TPMS_ALGORITHM_DETAIL_ECC **parameters)
Definition: Esys_ECC_Parameters.c:225
TSS2_RC Esys_ECC_Parameters(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ECC_CURVE curveID, TPMS_ALGORITHM_DETAIL_ECC **parameters)
Definition: Esys_ECC_Parameters.c:65
TSS2_RC Esys_ECDH_KeyGen(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_ECC_POINT **zPoint, TPM2B_ECC_POINT **pubPoint)
Definition: Esys_ECDH_KeyGen.c:68
TSS2_RC Esys_ECDH_KeyGen_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **zPoint, TPM2B_ECC_POINT **pubPoint)
Definition: Esys_ECDH_KeyGen.c:238
TSS2_RC Esys_ECDH_KeyGen_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ECDH_KeyGen.c:141
TSS2_RC Esys_ECDH_ZGen_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *inPoint)
Definition: Esys_ECDH_ZGen.c:136
TSS2_RC Esys_ECDH_ZGen_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **outPoint)
Definition: Esys_ECDH_ZGen.c:238
TSS2_RC Esys_ECDH_ZGen(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *inPoint, TPM2B_ECC_POINT **outPoint)
Definition: Esys_ECDH_ZGen.c:65
TSS2_RC Esys_EncryptDecrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_BUFFER **outData, TPM2B_IV **ivOut)
Definition: Esys_EncryptDecrypt.c:264
TSS2_RC Esys_EncryptDecrypt(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO decrypt, TPMI_ALG_CIPHER_MODE mode, const TPM2B_IV *ivIn, const TPM2B_MAX_BUFFER *inData, TPM2B_MAX_BUFFER **outData, TPM2B_IV **ivOut)
Definition: Esys_EncryptDecrypt.c:73
TSS2_RC Esys_EncryptDecrypt_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO decrypt, TPMI_ALG_CIPHER_MODE mode, const TPM2B_IV *ivIn, const TPM2B_MAX_BUFFER *inData)
Definition: Esys_EncryptDecrypt.c:155
TSS2_RC Esys_EventSequenceComplete_Async(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR sequenceHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer)
Definition: Esys_EventSequenceComplete.c:144
TSS2_RC Esys_EventSequenceComplete(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR sequenceHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer, TPML_DIGEST_VALUES **results)
Definition: Esys_EventSequenceComplete.c:68
TSS2_RC Esys_EventSequenceComplete_Finish(ESYS_CONTEXT *esysContext, TPML_DIGEST_VALUES **results)
Definition: Esys_EventSequenceComplete.c:260
TSS2_RC Esys_EvictControl_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *newObjectHandle)
Definition: Esys_EvictControl.c:274
TSS2_RC Esys_EvictControl_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_DH_PERSISTENT persistentHandle)
Definition: Esys_EvictControl.c:160
TSS2_RC Esys_EvictControl(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_DH_PERSISTENT persistentHandle, ESYS_TR *newObjectHandle)
Definition: Esys_EvictControl.c:81
TSS2_RC Esys_FlushContext_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_FlushContext.c:186
TSS2_RC Esys_FlushContext_Async(ESYS_CONTEXT *esysContext, ESYS_TR flushHandle)
Definition: Esys_FlushContext.c:119
TSS2_RC Esys_FlushContext(ESYS_CONTEXT *esysContext, ESYS_TR flushHandle)
Definition: Esys_FlushContext.c:62
TSS2_RC Esys_GetCapability_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CAP capability, UINT32 property, UINT32 propertyCount)
Definition: Esys_GetCapability.c:149
TSS2_RC Esys_GetCapability_Finish(ESYS_CONTEXT *esysContext, TPMI_YES_NO *moreData, TPMS_CAPABILITY_DATA **capabilityData)
Definition: Esys_GetCapability.c:242
TSS2_RC Esys_GetCapability(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CAP capability, UINT32 property, UINT32 propertyCount, TPMI_YES_NO *moreData, TPMS_CAPABILITY_DATA **capabilityData)
Definition: Esys_GetCapability.c:70
TSS2_RC Esys_GetCommandAuditDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetCommandAuditDigest.c:265
TSS2_RC Esys_GetCommandAuditDigest(ESYS_CONTEXT *esysContext, ESYS_TR privacyHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetCommandAuditDigest.c:70
TSS2_RC Esys_GetCommandAuditDigest_Async(ESYS_CONTEXT *esysContext, ESYS_TR privacyHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme)
Definition: Esys_GetCommandAuditDigest.c:150
TSS2_RC Esys_GetRandom_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT16 bytesRequested)
Definition: Esys_GetRandom.c:131
TSS2_RC Esys_GetRandom_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **randomBytes)
Definition: Esys_GetRandom.c:219
TSS2_RC Esys_GetRandom(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT16 bytesRequested, TPM2B_DIGEST **randomBytes)
Definition: Esys_GetRandom.c:62
TSS2_RC Esys_GetSessionAuditDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetSessionAuditDigest.c:279
TSS2_RC Esys_GetSessionAuditDigest_Async(ESYS_CONTEXT *esysContext, ESYS_TR privacyAdminHandle, ESYS_TR signHandle, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme)
Definition: Esys_GetSessionAuditDigest.c:156
TSS2_RC Esys_GetSessionAuditDigest(ESYS_CONTEXT *esysContext, ESYS_TR privacyAdminHandle, ESYS_TR signHandle, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetSessionAuditDigest.c:72
TSS2_RC Esys_GetTestResult_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_GetTestResult.c:129
TSS2_RC Esys_GetTestResult_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_BUFFER **outData, TPM2_RC *testResult)
Definition: Esys_GetTestResult.c:217
TSS2_RC Esys_GetTestResult(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_MAX_BUFFER **outData, TPM2_RC *testResult)
Definition: Esys_GetTestResult.c:62
TSS2_RC Esys_GetTime_Async(ESYS_CONTEXT *esysContext, ESYS_TR privacyAdminHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme)
Definition: Esys_GetTime.c:150
TSS2_RC Esys_GetTime_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **timeInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetTime.c:263
TSS2_RC Esys_GetTime(ESYS_CONTEXT *esysContext, ESYS_TR privacyAdminHandle, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, TPM2B_ATTEST **timeInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetTime.c:71
TSS2_RC Esys_HMAC_Start(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, TPMI_ALG_HASH hashAlg, ESYS_TR *sequenceHandle)
Definition: Esys_HMAC_Start.c:79
TSS2_RC Esys_HMAC_Start_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *sequenceHandle)
Definition: Esys_HMAC_Start.c:257
TSS2_RC Esys_HMAC_Start_Async(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, TPMI_ALG_HASH hashAlg)
Definition: Esys_HMAC_Start.c:154
TSS2_RC Esys_HMAC(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer, TPMI_ALG_HASH hashAlg, TPM2B_DIGEST **outHMAC)
Definition: Esys_HMAC.c:66
TSS2_RC Esys_HMAC_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **outHMAC)
Definition: Esys_HMAC.c:243
TSS2_RC Esys_HMAC_Async(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer, TPMI_ALG_HASH hashAlg)
Definition: Esys_HMAC.c:140
TSS2_RC Esys_Hash_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **outHash, TPMT_TK_HASHCHECK **validation)
Definition: Esys_Hash.c:241
TSS2_RC Esys_HashSequenceStart_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *sequenceHandle)
Definition: Esys_HashSequenceStart.c:221
TSS2_RC Esys_HashSequenceStart_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, TPMI_ALG_HASH hashAlg)
Definition: Esys_HashSequenceStart.c:133
TSS2_RC Esys_HashSequenceStart(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, TPMI_ALG_HASH hashAlg, ESYS_TR *sequenceHandle)
Definition: Esys_HashSequenceStart.c:63
TSS2_RC Esys_HierarchyChangeAuth_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_HierarchyChangeAuth.c:260
TSS2_RC Esys_HierarchyChangeAuth(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth)
Definition: Esys_HierarchyChangeAuth.c:82
TSS2_RC Esys_HierarchyChangeAuth_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth)
Definition: Esys_HierarchyChangeAuth.c:156
TSS2_RC Esys_HierarchyControl_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_HierarchyControl.c:263
TSS2_RC Esys_Import_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outPrivate)
Definition: Esys_Import.c:266
TSS2_RC Esys_Import_Async(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *encryptionKey, const TPM2B_PUBLIC *objectPublic, const TPM2B_PRIVATE *duplicate, const TPM2B_ENCRYPTED_SECRET *inSymSeed, const TPMT_SYM_DEF_OBJECT *symmetricAlg)
Definition: Esys_Import.c:155
TSS2_RC Esys_Import(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *encryptionKey, const TPM2B_PUBLIC *objectPublic, const TPM2B_PRIVATE *duplicate, const TPM2B_ENCRYPTED_SECRET *inSymSeed, const TPMT_SYM_DEF_OBJECT *symmetricAlg, TPM2B_PRIVATE **outPrivate)
Definition: Esys_Import.c:72
TSS2_RC Esys_IncrementalSelfTest_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_ALG *toTest)
Definition: Esys_IncrementalSelfTest.c:137
TSS2_RC Esys_IncrementalSelfTest_Finish(ESYS_CONTEXT *esysContext, TPML_ALG **toDoList)
Definition: Esys_IncrementalSelfTest.c:225
TSS2_RC Esys_IncrementalSelfTest(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_ALG *toTest, TPML_ALG **toDoList)
Definition: Esys_IncrementalSelfTest.c:65
TSS2_RC Esys_LoadExternal_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *objectHandle)
Definition: Esys_LoadExternal.c:246
TSS2_RC Esys_Load_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *objectHandle)
Definition: Esys_Load.c:256
TSS2_RC Esys_Load(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PRIVATE *inPrivate, const TPM2B_PUBLIC *inPublic, ESYS_TR *objectHandle)
Definition: Esys_Load.c:79
TSS2_RC Esys_Load_Async(ESYS_CONTEXT *esysContext, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PRIVATE *inPrivate, const TPM2B_PUBLIC *inPublic)
Definition: Esys_Load.c:152
TSS2_RC Esys_MakeCredential_Async(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *credential, const TPM2B_NAME *objectName)
Definition: Esys_MakeCredential.c:144
TSS2_RC Esys_MakeCredential(ESYS_CONTEXT *esysContext, ESYS_TR handle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *credential, const TPM2B_NAME *objectName, TPM2B_ID_OBJECT **credentialBlob, TPM2B_ENCRYPTED_SECRET **secret)
Definition: Esys_MakeCredential.c:69
TSS2_RC Esys_MakeCredential_Finish(ESYS_CONTEXT *esysContext, TPM2B_ID_OBJECT **credentialBlob, TPM2B_ENCRYPTED_SECRET **secret)
Definition: Esys_MakeCredential.c:246
TSS2_RC Esys_NV_Certify(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, UINT16 size, UINT16 offset, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_NV_Certify.c:75
TSS2_RC Esys_NV_Certify_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_NV_Certify.c:289
TSS2_RC Esys_NV_Certify_Async(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, UINT16 size, UINT16 offset)
Definition: Esys_NV_Certify.c:161
TSS2_RC Esys_NV_ChangeAuth_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_ChangeAuth.c:261
TSS2_RC Esys_NV_ChangeAuth(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth)
Definition: Esys_NV_ChangeAuth.c:79
TSS2_RC Esys_NV_ChangeAuth_Async(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth)
Definition: Esys_NV_ChangeAuth.c:152
TSS2_RC Esys_NV_DefineSpace_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, const TPM2B_NV_PUBLIC *publicInfo)
Definition: Esys_NV_DefineSpace.c:163
TSS2_RC Esys_NV_DefineSpace_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *nvHandle)
Definition: Esys_NV_DefineSpace.c:286
TSS2_RC Esys_NV_DefineSpace(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *auth, const TPM2B_NV_PUBLIC *publicInfo, ESYS_TR *nvHandle)
Definition: Esys_NV_DefineSpace.c:88
TSS2_RC Esys_NV_Extend_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_NV_BUFFER *data)
Definition: Esys_NV_Extend.c:151
TSS2_RC Esys_NV_Extend_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Extend.c:258
TSS2_RC Esys_NV_Extend(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_NV_BUFFER *data)
Definition: Esys_NV_Extend.c:75
TSS2_RC Esys_NV_GlobalWriteLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_GlobalWriteLock.c:240
TSS2_RC Esys_NV_GlobalWriteLock_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_GlobalWriteLock.c:141
TSS2_RC Esys_NV_GlobalWriteLock(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_GlobalWriteLock.c:67
TSS2_RC Esys_NV_Increment_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_Increment.c:154
TSS2_RC Esys_NV_Increment(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_Increment.c:77
TSS2_RC Esys_NV_Increment_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Increment.c:259
TSS2_RC Esys_NV_Read_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_NV_BUFFER **data)
Definition: Esys_NV_Read.c:258
TSS2_RC Esys_NV_Read(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT16 size, UINT16 offset, TPM2B_MAX_NV_BUFFER **data)
Definition: Esys_NV_Read.c:70
TSS2_RC Esys_NV_Read_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT16 size, UINT16 offset)
Definition: Esys_NV_Read.c:149
TSS2_RC Esys_NV_ReadLock_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_ReadLock.c:154
TSS2_RC Esys_NV_ReadLock(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_ReadLock.c:77
TSS2_RC Esys_NV_ReadLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_ReadLock.c:259
TSS2_RC Esys_NV_ReadPublic(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_NV_PUBLIC **nvPublic, TPM2B_NAME **nvName)
Definition: Esys_NV_ReadPublic.c:76
TSS2_RC Esys_NV_ReadPublic_Async(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_ReadPublic.c:149
TSS2_RC Esys_NV_ReadPublic_Finish(ESYS_CONTEXT *esysContext, TPM2B_NV_PUBLIC **nvPublic, TPM2B_NAME **nvName)
Definition: Esys_NV_ReadPublic.c:247
TSS2_RC Esys_NV_SetBits_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_SetBits.c:264
TSS2_RC Esys_NV_SetBits_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT64 bits)
Definition: Esys_NV_SetBits.c:157
TSS2_RC Esys_NV_SetBits(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT64 bits)
Definition: Esys_NV_SetBits.c:78
TSS2_RC Esys_NV_UndefineSpace_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_UndefineSpace.c:257
TSS2_RC Esys_NV_UndefineSpace(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_UndefineSpace.c:76
TSS2_RC Esys_NV_UndefineSpace_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_UndefineSpace.c:152
TSS2_RC Esys_NV_UndefineSpaceSpecial(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_UndefineSpaceSpecial.c:76
TSS2_RC Esys_NV_UndefineSpaceSpecial_Async(ESYS_CONTEXT *esysContext, ESYS_TR nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_UndefineSpaceSpecial.c:152
TSS2_RC Esys_NV_UndefineSpaceSpecial_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_UndefineSpaceSpecial.c:264
TSS2_RC Esys_NV_Write_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_NV_BUFFER *data, UINT16 offset)
Definition: Esys_NV_Write.c:154
TSS2_RC Esys_NV_Write(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_NV_BUFFER *data, UINT16 offset)
Definition: Esys_NV_Write.c:76
TSS2_RC Esys_NV_Write_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Write.c:262
TSS2_RC Esys_NV_WriteLock(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_WriteLock.c:77
TSS2_RC Esys_NV_WriteLock_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_NV_WriteLock.c:154
TSS2_RC Esys_NV_WriteLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_WriteLock.c:259
TSS2_RC Esys_ObjectChangeAuth_Async(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth)
Definition: Esys_ObjectChangeAuth.c:138
TSS2_RC Esys_ObjectChangeAuth_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outPrivate)
Definition: Esys_ObjectChangeAuth.c:267
TSS2_RC Esys_ObjectChangeAuth(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_AUTH *newAuth, TPM2B_PRIVATE **outPrivate)
Definition: Esys_ObjectChangeAuth.c:65
TSS2_RC Esys_PCR_Allocate(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_PCR_SELECTION *pcrAllocation, TPMI_YES_NO *allocationSuccess, UINT32 *maxPCR, UINT32 *sizeNeeded, UINT32 *sizeAvailable)
Definition: Esys_PCR_Allocate.c:73
TSS2_RC Esys_PCR_Allocate_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_PCR_SELECTION *pcrAllocation)
Definition: Esys_PCR_Allocate.c:154
TSS2_RC Esys_PCR_Allocate_Finish(ESYS_CONTEXT *esysContext, TPMI_YES_NO *allocationSuccess, UINT32 *maxPCR, UINT32 *sizeNeeded, UINT32 *sizeAvailable)
Definition: Esys_PCR_Allocate.c:259
TSS2_RC Esys_PCR_Event_Finish(ESYS_CONTEXT *esysContext, TPML_DIGEST_VALUES **digests)
Definition: Esys_PCR_Event.c:242
TSS2_RC Esys_PCR_Event_Async(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_EVENT *eventData)
Definition: Esys_PCR_Event.c:141
TSS2_RC Esys_PCR_Event(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_EVENT *eventData, TPML_DIGEST_VALUES **digests)
Definition: Esys_PCR_Event.c:67
TSS2_RC Esys_PCR_Extend(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_DIGEST_VALUES *digests)
Definition: Esys_PCR_Extend.c:68
TSS2_RC Esys_PCR_Extend_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_Extend.c:243
TSS2_RC Esys_PCR_Extend_Async(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_DIGEST_VALUES *digests)
Definition: Esys_PCR_Extend.c:144
TSS2_RC Esys_PCR_Read_Finish(ESYS_CONTEXT *esysContext, UINT32 *pcrUpdateCounter, TPML_PCR_SELECTION **pcrSelectionOut, TPML_DIGEST **pcrValues)
Definition: Esys_PCR_Read.c:236
TSS2_RC Esys_PCR_Read(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_PCR_SELECTION *pcrSelectionIn, UINT32 *pcrUpdateCounter, TPML_PCR_SELECTION **pcrSelectionOut, TPML_DIGEST **pcrValues)
Definition: Esys_PCR_Read.c:69
TSS2_RC Esys_PCR_Read_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_PCR_SELECTION *pcrSelectionIn)
Definition: Esys_PCR_Read.c:144
TSS2_RC Esys_PCR_Reset_Async(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PCR_Reset.c:141
TSS2_RC Esys_PCR_Reset(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PCR_Reset.c:67
TSS2_RC Esys_PCR_Reset_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_Reset.c:239
TSS2_RC Esys_PCR_SetAuthPolicy_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_SetAuthPolicy.c:248
TSS2_RC Esys_PCR_SetAuthPolicy(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg, TPMI_DH_PCR pcrNum)
Definition: Esys_PCR_SetAuthPolicy.c:67
TSS2_RC Esys_PCR_SetAuthPolicy_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg, TPMI_DH_PCR pcrNum)
Definition: Esys_PCR_SetAuthPolicy.c:144
TSS2_RC Esys_PCR_SetAuthValue_Async(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *auth)
Definition: Esys_PCR_SetAuthValue.c:155
TSS2_RC Esys_PCR_SetAuthValue(ESYS_CONTEXT *esysContext, ESYS_TR pcrHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *auth)
Definition: Esys_PCR_SetAuthValue.c:81
TSS2_RC Esys_PCR_SetAuthValue_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_SetAuthValue.c:256
TSS2_RC Esys_PP_Commands_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_CC *setList, const TPML_CC *clearList)
Definition: Esys_PP_Commands.c:151
TSS2_RC Esys_PP_Commands_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PP_Commands.c:253
TSS2_RC Esys_PP_Commands(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_CC *setList, const TPML_CC *clearList)
Definition: Esys_PP_Commands.c:71
TSS2_RC Esys_PolicyAuthValue(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyAuthValue.c:75
TSS2_RC Esys_PolicyAuthValue_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyAuthValue.c:149
TSS2_RC Esys_PolicyAuthValue_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyAuthValue.c:244
TSS2_RC Esys_PolicyAuthorize_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *approvedPolicy, const TPM2B_NONCE *policyRef, const TPM2B_NAME *keySign, const TPMT_TK_VERIFIED *checkTicket)
Definition: Esys_PolicyAuthorize.c:156
TSS2_RC Esys_PolicyAuthorize_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyAuthorize.c:258
TSS2_RC Esys_PolicyAuthorize(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *approvedPolicy, const TPM2B_NONCE *policyRef, const TPM2B_NAME *keySign, const TPMT_TK_VERIFIED *checkTicket)
Definition: Esys_PolicyAuthorize.c:72
TSS2_RC Esys_PolicyCommandCode_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCommandCode.c:240
TSS2_RC Esys_PolicyCommandCode(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CC code)
Definition: Esys_PolicyCommandCode.c:68
TSS2_RC Esys_PolicyCommandCode_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CC code)
Definition: Esys_PolicyCommandCode.c:144
TSS2_RC Esys_PolicyCounterTimer(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_OPERAND *operandB, UINT16 offset, TPM2_EO operation)
Definition: Esys_PolicyCounterTimer.c:68
TSS2_RC Esys_PolicyCounterTimer_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCounterTimer.c:246
TSS2_RC Esys_PolicyCounterTimer_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_OPERAND *operandB, UINT16 offset, TPM2_EO operation)
Definition: Esys_PolicyCounterTimer.c:147
TSS2_RC Esys_PolicyCpHash_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCpHash.c:239
TSS2_RC Esys_PolicyCpHash(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *cpHashA)
Definition: Esys_PolicyCpHash.c:68
TSS2_RC Esys_PolicyCpHash_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *cpHashA)
Definition: Esys_PolicyCpHash.c:144
TSS2_RC Esys_PolicyDuplicationSelect(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NAME *objectName, const TPM2B_NAME *newParentName, TPMI_YES_NO includeObject)
Definition: Esys_PolicyDuplicationSelect.c:71
TSS2_RC Esys_PolicyDuplicationSelect_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NAME *objectName, const TPM2B_NAME *newParentName, TPMI_YES_NO includeObject)
Definition: Esys_PolicyDuplicationSelect.c:153
TSS2_RC Esys_PolicyDuplicationSelect_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyDuplicationSelect.c:253
TSS2_RC Esys_PolicyGetDigest(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_DIGEST **policyDigest)
Definition: Esys_PolicyGetDigest.c:67
TSS2_RC Esys_PolicyGetDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **policyDigest)
Definition: Esys_PolicyGetDigest.c:236
TSS2_RC Esys_PolicyGetDigest_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyGetDigest.c:139
TSS2_RC Esys_PolicyLocality_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMA_LOCALITY locality)
Definition: Esys_PolicyLocality.c:144
TSS2_RC Esys_PolicyLocality(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMA_LOCALITY locality)
Definition: Esys_PolicyLocality.c:68
TSS2_RC Esys_PolicyLocality_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyLocality.c:240
TSS2_RC Esys_PolicyNV_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNV.c:270
TSS2_RC Esys_PolicyNV_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_OPERAND *operandB, UINT16 offset, TPM2_EO operation)
Definition: Esys_PolicyNV.c:153
TSS2_RC Esys_PolicyNV(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR nvIndex, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_OPERAND *operandB, UINT16 offset, TPM2_EO operation)
Definition: Esys_PolicyNV.c:70
TSS2_RC Esys_PolicyNameHash(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *nameHash)
Definition: Esys_PolicyNameHash.c:68
TSS2_RC Esys_PolicyNameHash_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNameHash.c:240
TSS2_RC Esys_PolicyNameHash_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *nameHash)
Definition: Esys_PolicyNameHash.c:144
TSS2_RC Esys_PolicyNvWritten_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO writtenSet)
Definition: Esys_PolicyNvWritten.c:144
TSS2_RC Esys_PolicyNvWritten_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNvWritten.c:240
TSS2_RC Esys_PolicyNvWritten(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO writtenSet)
Definition: Esys_PolicyNvWritten.c:68
TSS2_RC Esys_PolicyOR_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_DIGEST *pHashList)
Definition: Esys_PolicyOR.c:144
TSS2_RC Esys_PolicyOR(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPML_DIGEST *pHashList)
Definition: Esys_PolicyOR.c:68
TSS2_RC Esys_PolicyOR_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyOR.c:238
TSS2_RC Esys_PolicyPCR_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPCR.c:240
TSS2_RC Esys_PolicyPCR(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *pcrDigest, const TPML_PCR_SELECTION *pcrs)
Definition: Esys_PolicyPCR.c:67
TSS2_RC Esys_PolicyPCR_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *pcrDigest, const TPML_PCR_SELECTION *pcrs)
Definition: Esys_PolicyPCR.c:143
TSS2_RC Esys_PolicyPassword_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPassword.c:244
TSS2_RC Esys_PolicyPassword_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPassword.c:149
TSS2_RC Esys_PolicyPassword(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPassword.c:75
TSS2_RC Esys_PolicyPhysicalPresence_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPhysicalPresence.c:141
TSS2_RC Esys_PolicyPhysicalPresence_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPhysicalPresence.c:235
TSS2_RC Esys_PolicyPhysicalPresence(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPhysicalPresence.c:67
TSS2_RC Esys_PolicyRestart(ESYS_CONTEXT *esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyRestart.c:67
TSS2_RC Esys_PolicyRestart_Async(ESYS_CONTEXT *esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyRestart.c:141
TSS2_RC Esys_PolicyRestart_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyRestart.c:234
TSS2_RC Esys_PolicySecret_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceTPM, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, INT32 expiration)
Definition: Esys_PolicySecret.c:160
TSS2_RC Esys_PolicySecret(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceTPM, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, INT32 expiration, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySecret.c:76
TSS2_RC Esys_PolicySecret_Finish(ESYS_CONTEXT *esysContext, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySecret.c:279
TSS2_RC Esys_PolicySigned_Async(ESYS_CONTEXT *esysContext, ESYS_TR authObject, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceTPM, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, INT32 expiration, const TPMT_SIGNATURE *auth)
Definition: Esys_PolicySigned.c:163
TSS2_RC Esys_PolicySigned_Finish(ESYS_CONTEXT *esysContext, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySigned.c:279
TSS2_RC Esys_PolicySigned(ESYS_CONTEXT *esysContext, ESYS_TR authObject, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceTPM, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, INT32 expiration, const TPMT_SIGNATURE *auth, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySigned.c:77
TSS2_RC Esys_PolicyTicket_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyTicket.c:259
TSS2_RC Esys_PolicyTicket_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_TIMEOUT *timeout, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, const TPM2B_NAME *authName, const TPMT_TK_AUTH *ticket)
Definition: Esys_PolicyTicket.c:157
TSS2_RC Esys_PolicyTicket(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_TIMEOUT *timeout, const TPM2B_DIGEST *cpHashA, const TPM2B_NONCE *policyRef, const TPM2B_NAME *authName, const TPMT_TK_AUTH *ticket)
Definition: Esys_PolicyTicket.c:72
TSS2_RC Esys_Quote_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **quoted, TPMT_SIGNATURE **signature)
Definition: Esys_Quote.c:253
TSS2_RC Esys_Quote(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, const TPML_PCR_SELECTION *PCRselect, TPM2B_ATTEST **quoted, TPMT_SIGNATURE **signature)
Definition: Esys_Quote.c:69
TSS2_RC Esys_Quote_Async(ESYS_CONTEXT *esysContext, ESYS_TR signHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *qualifyingData, const TPMT_SIG_SCHEME *inScheme, const TPML_PCR_SELECTION *PCRselect)
Definition: Esys_Quote.c:146
TSS2_RC Esys_RSA_Decrypt(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PUBLIC_KEY_RSA *cipherText, const TPMT_RSA_DECRYPT *inScheme, const TPM2B_DATA *label, TPM2B_PUBLIC_KEY_RSA **message)
Definition: Esys_RSA_Decrypt.c:67
TSS2_RC Esys_RSA_Decrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC_KEY_RSA **message)
Definition: Esys_RSA_Decrypt.c:248
TSS2_RC Esys_RSA_Decrypt_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PUBLIC_KEY_RSA *cipherText, const TPMT_RSA_DECRYPT *inScheme, const TPM2B_DATA *label)
Definition: Esys_RSA_Decrypt.c:143
TSS2_RC Esys_RSA_Encrypt(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PUBLIC_KEY_RSA *message, const TPMT_RSA_DECRYPT *inScheme, const TPM2B_DATA *label, TPM2B_PUBLIC_KEY_RSA **outData)
Definition: Esys_RSA_Encrypt.c:68
TSS2_RC Esys_RSA_Encrypt_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PUBLIC_KEY_RSA *message, const TPMT_RSA_DECRYPT *inScheme, const TPM2B_DATA *label)
Definition: Esys_RSA_Encrypt.c:145
TSS2_RC Esys_RSA_Encrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC_KEY_RSA **outData)
Definition: Esys_RSA_Encrypt.c:245
TSS2_RC Esys_ReadClock(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMS_TIME_INFO **currentTime)
Definition: Esys_ReadClock.c:64
TSS2_RC Esys_ReadClock_Finish(ESYS_CONTEXT *esysContext, TPMS_TIME_INFO **currentTime)
Definition: Esys_ReadClock.c:220
TSS2_RC Esys_ReadClock_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ReadClock.c:133
TSS2_RC Esys_ReadPublic_Async(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ReadPublic.c:144
TSS2_RC Esys_ReadPublic(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_PUBLIC **outPublic, TPM2B_NAME **name, TPM2B_NAME **qualifiedName)
Definition: Esys_ReadPublic.c:70
TSS2_RC Esys_ReadPublic_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC **outPublic, TPM2B_NAME **name, TPM2B_NAME **qualifiedName)
Definition: Esys_ReadPublic.c:243
TSS2_RC Esys_Rewrap_Async(ESYS_CONTEXT *esysContext, ESYS_TR oldParent, ESYS_TR newParent, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PRIVATE *inDuplicate, const TPM2B_NAME *name, const TPM2B_ENCRYPTED_SECRET *inSymSeed)
Definition: Esys_Rewrap.c:151
TSS2_RC Esys_Rewrap_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outDuplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Rewrap.c:267
TSS2_RC Esys_Rewrap(ESYS_CONTEXT *esysContext, ESYS_TR oldParent, ESYS_TR newParent, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PRIVATE *inDuplicate, const TPM2B_NAME *name, const TPM2B_ENCRYPTED_SECRET *inSymSeed, TPM2B_PRIVATE **outDuplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Rewrap.c:72
TSS2_RC Esys_SelfTest_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO fullTest)
Definition: Esys_SelfTest.c:134
TSS2_RC Esys_SelfTest(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO fullTest)
Definition: Esys_SelfTest.c:63
TSS2_RC Esys_SelfTest_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SelfTest.c:220
TSS2_RC Esys_SequenceComplete_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **result, TPMT_TK_HASHCHECK **validation)
Definition: Esys_SequenceComplete.c:269
TSS2_RC Esys_SequenceUpdate(ESYS_CONTEXT *esysContext, ESYS_TR sequenceHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer)
Definition: Esys_SequenceUpdate.c:65
TSS2_RC Esys_SequenceUpdate_Async(ESYS_CONTEXT *esysContext, ESYS_TR sequenceHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_MAX_BUFFER *buffer)
Definition: Esys_SequenceUpdate.c:138
TSS2_RC Esys_SequenceUpdate_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SequenceUpdate.c:239
TSS2_RC Esys_SetAlgorithmSet_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT32 algorithmSet)
Definition: Esys_SetAlgorithmSet.c:146
TSS2_RC Esys_SetAlgorithmSet(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT32 algorithmSet)
Definition: Esys_SetAlgorithmSet.c:69
TSS2_RC Esys_SetAlgorithmSet_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetAlgorithmSet.c:246
TSS2_RC Esys_SetCommandCodeAuditStatus_Async(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ALG_HASH auditAlg, const TPML_CC *setList, const TPML_CC *clearList)
Definition: Esys_SetCommandCodeAuditStatus.c:155
TSS2_RC Esys_SetCommandCodeAuditStatus(ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_ALG_HASH auditAlg, const TPML_CC *setList, const TPML_CC *clearList)
Definition: Esys_SetCommandCodeAuditStatus.c:72
TSS2_RC Esys_SetCommandCodeAuditStatus_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetCommandCodeAuditStatus.c:260
TSS2_RC Esys_SetPrimaryPolicy(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg)
Definition: Esys_SetPrimaryPolicy.c:68
TSS2_RC Esys_SetPrimaryPolicy_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetPrimaryPolicy.c:247
TSS2_RC Esys_SetPrimaryPolicy_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg)
Definition: Esys_SetPrimaryPolicy.c:145
TSS2_RC Esys_Shutdown_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Shutdown.c:220
TSS2_RC Esys_Shutdown(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_SU shutdownType)
Definition: Esys_Shutdown.c:63
TSS2_RC Esys_Shutdown_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_SU shutdownType)
Definition: Esys_Shutdown.c:134
TSS2_RC Esys_Sign_Finish(ESYS_CONTEXT *esysContext, TPMT_SIGNATURE **signature)
Definition: Esys_Sign.c:254
TSS2_RC Esys_Sign(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *digest, const TPMT_SIG_SCHEME *inScheme, const TPMT_TK_HASHCHECK *validation, TPMT_SIGNATURE **signature)
Definition: Esys_Sign.c:70
TSS2_RC Esys_Sign_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *digest, const TPMT_SIG_SCHEME *inScheme, const TPMT_TK_HASHCHECK *validation)
Definition: Esys_Sign.c:149
TSS2_RC Esys_StartAuthSession_Async(ESYS_CONTEXT *esysContext, ESYS_TR tpmKey, ESYS_TR bind, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceCaller, TPM2_SE sessionType, const TPMT_SYM_DEF *symmetric, TPMI_ALG_HASH authHash)
Definition: Esys_StartAuthSession.c:184
TSS2_RC Esys_StartAuthSession(ESYS_CONTEXT *esysContext, ESYS_TR tpmKey, ESYS_TR bind, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_NONCE *nonceCaller, TPM2_SE sessionType, const TPMT_SYM_DEF *symmetric, TPMI_ALG_HASH authHash, ESYS_TR *sessionHandle)
Definition: Esys_StartAuthSession.c:103
TSS2_RC Esys_StartAuthSession_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *sessionHandle)
Definition: Esys_StartAuthSession.c:327
TSS2_RC Esys_Startup_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Startup.c:163
TSS2_RC Esys_Startup(ESYS_CONTEXT *esysContext, TPM2_SU startupType)
Definition: Esys_Startup.c:50
TSS2_RC Esys_Startup_Async(ESYS_CONTEXT *esysContext, TPM2_SU startupType)
Definition: Esys_Startup.c:104
TSS2_RC Esys_StirRandom_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_StirRandom.c:214
TSS2_RC Esys_StirRandom_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_DATA *inData)
Definition: Esys_StirRandom.c:128
TSS2_RC Esys_StirRandom(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_SENSITIVE_DATA *inData)
Definition: Esys_StirRandom.c:60
TSS2_RC Esys_TestParms_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_TestParms.c:222
TSS2_RC Esys_TestParms(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPMT_PUBLIC_PARMS *parameters)
Definition: Esys_TestParms.c:63
TSS2_RC Esys_TestParms_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPMT_PUBLIC_PARMS *parameters)
Definition: Esys_TestParms.c:136
TSS2_RC Esys_Unseal_Async(ESYS_CONTEXT *esysContext, ESYS_TR itemHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Unseal.c:138
TSS2_RC Esys_Unseal_Finish(ESYS_CONTEXT *esysContext, TPM2B_SENSITIVE_DATA **outData)
Definition: Esys_Unseal.c:238
TSS2_RC Esys_Unseal(ESYS_CONTEXT *esysContext, ESYS_TR itemHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_SENSITIVE_DATA **outData)
Definition: Esys_Unseal.c:66
TSS2_RC Esys_Vendor_TCG_Test(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *inputData, TPM2B_DATA **outputData)
Definition: Esys_Vendor_TCG_Test.c:59
TSS2_RC Esys_Vendor_TCG_Test_Finish(ESYS_CONTEXT *esysContext, TPM2B_DATA **outputData)
Definition: Esys_Vendor_TCG_Test.c:213
TSS2_RC Esys_Vendor_TCG_Test_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DATA *inputData)
Definition: Esys_Vendor_TCG_Test.c:125
TSS2_RC Esys_VerifySignature_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *digest, const TPMT_SIGNATURE *signature)
Definition: Esys_VerifySignature.c:146
TSS2_RC Esys_VerifySignature_Finish(ESYS_CONTEXT *esysContext, TPMT_TK_VERIFIED **validation)
Definition: Esys_VerifySignature.c:245
TSS2_RC Esys_VerifySignature(ESYS_CONTEXT *esysContext, ESYS_TR keyHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *digest, const TPMT_SIGNATURE *signature, TPMT_TK_VERIFIED **validation)
Definition: Esys_VerifySignature.c:69
TSS2_RC Esys_ZGen_2Phase_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **outZ1, TPM2B_ECC_POINT **outZ2)
Definition: Esys_ZGen_2Phase.c:260
TSS2_RC Esys_ZGen_2Phase(ESYS_CONTEXT *esysContext, ESYS_TR keyA, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *inQsB, const TPM2B_ECC_POINT *inQeB, TPMI_ECC_KEY_EXCHANGE inScheme, UINT16 counter, TPM2B_ECC_POINT **outZ1, TPM2B_ECC_POINT **outZ2)
Definition: Esys_ZGen_2Phase.c:71
TSS2_RC Esys_ZGen_2Phase_Async(ESYS_CONTEXT *esysContext, ESYS_TR keyA, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_ECC_POINT *inQsB, const TPM2B_ECC_POINT *inQeB, TPMI_ECC_KEY_EXCHANGE inScheme, UINT16 counter)
Definition: Esys_ZGen_2Phase.c:149
Definition: esys_int.h:168
Definition: tss2_esys.h:416
Definition: esys_crypto_mbed.c:35