tpm2-tss  3.2.1
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 
61 #define ESYS_TR_RH_AUTH_FIRST 0x110U
62 #define ESYS_TR_RH_AUTH(x) (ESYS_TR_RH_AUTH_FIRST + (ESYS_TR)(x))
63 #define ESYS_TR_RH_ACT_FIRST 0x120U
64 #define ESYS_TR_RH_ACT(x) (ESYS_TR_RH_ACT_FIRST + (ESYS_TR)(x))
65 #define ESYS_TR_RH_ACT_0 ESYS_TR_RH_ACT_FIRST
66 #define ESYS_TR_RH_ACT_1 0x121U
67 #define ESYS_TR_RH_ACT_2 0x122U
68 #define ESYS_TR_RH_ACT_3 0x123U
69 #define ESYS_TR_RH_ACT_4 0x124U
70 #define ESYS_TR_RH_ACT_5 0x125U
71 #define ESYS_TR_RH_ACT_6 0x126U
72 #define ESYS_TR_RH_ACT_7 0x127U
73 #define ESYS_TR_RH_ACT_8 0x128U
74 #define ESYS_TR_RH_ACT_9 0x129U
75 #define ESYS_TR_RH_ACT_A 0x12AU
76 #define ESYS_TR_RH_ACT_B 0x12BU
77 #define ESYS_TR_RH_ACT_C 0x12CU
78 #define ESYS_TR_RH_ACT_D 0x12DU
79 #define ESYS_TR_RH_ACT_E 0x12EU
80 #define ESYS_TR_RH_ACT_F 0x12FU
81 #define ESYS_TR_RH_ACT_LAST ESYS_TR_RH_ACT_F
82 #define ESYS_TR_RH_AC_FIRST 0x140U
83 #define ESYS_TR_RH_AC(x) (ESYS_TR_RH_AC_FIRST + (ESYS_TR)(x))
84 #define ESYS_TR_RH_AC_LAST (ESYS_TR_RH_AC_FIRST + 0xFFFFU)
85 
86 typedef struct ESYS_CONTEXT ESYS_CONTEXT;
87 
89 
90 /*
91  * Crypto Backend Support
92  */
93 
103 typedef TSS2_RC
104  (*ESYS_CRYPTO_HASH_START_FNP)(
105  ESYS_CRYPTO_CONTEXT_BLOB ** context,
106  TPM2_ALG_ID hashAlg,
107  void *userdata);
108 
120 typedef TSS2_RC
121  (*ESYS_CRYPTO_HASH_UPDATE_FNP)(
122  ESYS_CRYPTO_CONTEXT_BLOB * context,
123  const uint8_t *buffer,
124  size_t size,
125  void *userdata);
126 
138 typedef TSS2_RC
139  (*ESYS_CRYPTO_HASH_FINISH_FNP)(
140  ESYS_CRYPTO_CONTEXT_BLOB **context,
141  uint8_t *buffer,
142  size_t *size,
143  void *userdata);
144 
151 typedef void
152  (*ESYS_CRYPTO_HASH_ABORT_FNP)(
153  ESYS_CRYPTO_CONTEXT_BLOB **context,
154  void *userdata);
155 
168 typedef TSS2_RC
169  (*ESYS_CRYPTO_HMAC_START_FNP)(
170  ESYS_CRYPTO_CONTEXT_BLOB **context,
171  TPM2_ALG_ID hashAlg,
172  const uint8_t *key,
173  size_t size,
174  void *userdata);
175 
187 typedef TSS2_RC
188  (*ESYS_CRYPTO_HMAC_UPDATE_FNP)(
189  ESYS_CRYPTO_CONTEXT_BLOB *context,
190  const uint8_t *buffer,
191  size_t size,
192  void *userdata);
193 
205 typedef TSS2_RC
206  (*ESYS_CRYPTO_HMAC_FINISH_FNP)(
207  ESYS_CRYPTO_CONTEXT_BLOB **context,
208  uint8_t *buffer,
209  size_t *size,
210  void *userdata);
211 
218 typedef void
219  (*ESYS_CRYPTO_HMAC_ABORT_FNP)(
220  ESYS_CRYPTO_CONTEXT_BLOB **context,
221  void *userdata);
222 
233 typedef TSS2_RC
234  (*ESYS_CRYPTO_GET_RANDOM2B_FNP)(
235  TPM2B_NONCE *nonce,
236  size_t num_bytes,
237  void *userdata);
238 
256 typedef TSS2_RC
257  (*ESYS_CRYPTO_GET_ECDH_POINT_FNP)(
258  TPM2B_PUBLIC *key,
259  size_t max_out_size,
260  TPM2B_ECC_PARAMETER *Z,
261  TPMS_ECC_POINT *Q,
262  BYTE *out_buffer,
263  size_t *out_size,
264  void *userdata);
265 
281 typedef TSS2_RC
282  (*ESYS_CRYPTO_AES_ENCRYPT_FNP)(
283  uint8_t *key,
284  TPM2_ALG_ID tpm_sym_alg,
285  TPMI_AES_KEY_BITS key_bits,
286  TPM2_ALG_ID tpm_mode,
287  uint8_t *buffer,
288  size_t buffer_size,
289  uint8_t *iv,
290  void *userdata);
291 
307 typedef TSS2_RC
308  (*ESYS_CRYPTO_AES_DECRYPT_FNP)(
309  uint8_t *key,
310  TPM2_ALG_ID tpm_sym_alg,
311  TPMI_AES_KEY_BITS key_bits,
312  TPM2_ALG_ID tpm_mode,
313  uint8_t *buffer,
314  size_t buffer_size,
315  uint8_t *iv,
316  void *userdata);
317 
333 typedef TSS2_RC
334  (*ESYS_CRYPTO_SM4_ENCRYPT_FNP)(
335  uint8_t *key,
336  TPM2_ALG_ID tpm_sym_alg,
337  TPMI_SM4_KEY_BITS key_bits,
338  TPM2_ALG_ID tpm_mode,
339  uint8_t *buffer,
340  size_t buffer_size,
341  uint8_t *iv,
342  void *userdata);
343 
359 typedef TSS2_RC
360  (*ESYS_CRYPTO_SM4_DECRYPT_FNP)(
361  uint8_t *key,
362  TPM2_ALG_ID tpm_sym_alg,
363  TPMI_SM4_KEY_BITS key_bits,
364  TPM2_ALG_ID tpm_mode,
365  uint8_t *buffer,
366  size_t buffer_size,
367  uint8_t *iv,
368  void *userdata);
369 
385 typedef TSS2_RC
386  (*ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP)(
387  TPM2B_PUBLIC * pub_tpm_key,
388  size_t in_size,
389  BYTE *in_buffer,
390  size_t max_out_size,
391  BYTE *out_buffer,
392  size_t *out_size,
393  const char *label,
394  void *userdata);
395 
405 typedef TSS2_RC (*ESYS_CRYPTO_INIT_FNP)(void *userdata);
406 
409  ESYS_CRYPTO_PK_RSA_ENCRYPT_FNP rsa_pk_encrypt;
410  ESYS_CRYPTO_HASH_START_FNP hash_start;
411  ESYS_CRYPTO_HASH_UPDATE_FNP hash_update;
412  ESYS_CRYPTO_HASH_FINISH_FNP hash_finish;
413  ESYS_CRYPTO_HASH_ABORT_FNP hash_abort;
414  ESYS_CRYPTO_HMAC_START_FNP hmac_start;
415  ESYS_CRYPTO_HMAC_UPDATE_FNP hmac_update;
416  ESYS_CRYPTO_HMAC_FINISH_FNP hmac_finish;
417  ESYS_CRYPTO_HMAC_ABORT_FNP hmac_abort;
418  ESYS_CRYPTO_GET_RANDOM2B_FNP get_random2b;
419  ESYS_CRYPTO_GET_ECDH_POINT_FNP get_ecdh_point;
420  ESYS_CRYPTO_AES_ENCRYPT_FNP aes_encrypt;
421  ESYS_CRYPTO_AES_DECRYPT_FNP aes_decrypt;
422  ESYS_CRYPTO_SM4_ENCRYPT_FNP sm4_encrypt;
423  ESYS_CRYPTO_SM4_DECRYPT_FNP sm4_decrypt;
424  ESYS_CRYPTO_INIT_FNP init;
425  void *userdata;
426 };
427 
428 /*
429  * TPM 2.0 ESAPI Functions
430  */
431 
432 TSS2_RC
434  ESYS_CONTEXT **esys_context,
435  TSS2_TCTI_CONTEXT *tcti,
436  TSS2_ABI_VERSION *abiVersion);
437 
438 void
439 Esys_Finalize(
440  ESYS_CONTEXT **context);
441 
442 TSS2_RC
444  ESYS_CONTEXT *esys_context,
445  TSS2_TCTI_CONTEXT **tcti);
446 
447 TSS2_RC
449  ESYS_CONTEXT *esys_context,
450  TSS2_TCTI_POLL_HANDLE **handles,
451  size_t *count);
452 
453 TSS2_RC
455  ESYS_CONTEXT *esys_context,
456  int32_t timeout);
457 
458 TSS2_RC
460  ESYS_CONTEXT *esys_context,
461  ESYS_TR object,
462  uint8_t **buffer,
463  size_t *buffer_size);
464 
465 TSS2_RC
467  ESYS_CONTEXT *esys_context,
468  uint8_t const *buffer,
469  size_t buffer_size,
470  ESYS_TR *esys_handle);
471 
472 TSS2_RC
474  ESYS_CONTEXT *esysContext,
475  TPM2_HANDLE tpm_handle,
476  ESYS_TR optionalSession1,
477  ESYS_TR optionalSession2,
478  ESYS_TR optionalSession3);
479 
480 TSS2_RC
482  ESYS_CONTEXT *esysContext,
483  ESYS_TR *object);
484 
485 TSS2_RC
487  ESYS_CONTEXT *esysContext,
488  TPM2_HANDLE tpm_handle,
489  ESYS_TR optionalSession1,
490  ESYS_TR optionalSession2,
491  ESYS_TR optionalSession3,
492  ESYS_TR *object);
493 
494 TSS2_RC
496  ESYS_CONTEXT *esys_context,
497  ESYS_TR *rsrc_handle);
498 
499 TSS2_RC
501  ESYS_CONTEXT *esysContext,
502  ESYS_TR handle,
503  TPM2B_AUTH const *authValue);
504 
505 TSS2_RC
507  ESYS_CONTEXT *esysContext,
508  ESYS_TR handle,
509  TPM2B_NAME **name);
510 
511 TSS2_RC
513  ESYS_CONTEXT *esysContext,
514  ESYS_TR session,
515  TPMA_SESSION *flags);
516 
517 TSS2_RC
519  ESYS_CONTEXT *esysContext,
520  ESYS_TR session,
521  TPMA_SESSION flags,
522  TPMA_SESSION mask);
523 
524 TSS2_RC
525 Esys_TRSess_GetNonceTPM(
526  ESYS_CONTEXT *esysContext,
527  ESYS_TR session,
528  TPM2B_NONCE **nonceTPM);
529 
530 TSS2_RC
531 Esys_TR_GetTpmHandle(
532  ESYS_CONTEXT *esys_context,
533  ESYS_TR esys_handle,
534  TPM2_HANDLE *tpm_handle);
535 
536 TSS2_RC
537 Esys_TRSess_GetAuthRequired(
538  ESYS_CONTEXT *esys_context,
539  ESYS_TR esys_handle,
540  TPMI_YES_NO *auth_needed);
541 
542 /* Table 5 - TPM2_Startup Command */
543 
544 TSS2_RC
546  ESYS_CONTEXT *esysContext,
547  TPM2_SU startupType);
548 
549 TSS2_RC
551  ESYS_CONTEXT *esysContext,
552  TPM2_SU startupType);
553 
554 TSS2_RC
556  ESYS_CONTEXT *esysContext);
557 
558 /* Table 7 - TPM2_Shutdown Command */
559 
560 TSS2_RC
562  ESYS_CONTEXT *esysContext,
563  ESYS_TR shandle1,
564  ESYS_TR shandle2,
565  ESYS_TR shandle3,
566  TPM2_SU shutdownType);
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 
580 /* Table 9 - TPM2_SelfTest Command */
581 
582 TSS2_RC
584  ESYS_CONTEXT *esysContext,
585  ESYS_TR shandle1,
586  ESYS_TR shandle2,
587  ESYS_TR shandle3,
588  TPMI_YES_NO fullTest);
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 
602 /* Table 11 - TPM2_IncrementalSelfTest Command */
603 
604 TSS2_RC
606  ESYS_CONTEXT *esysContext,
607  ESYS_TR shandle1,
608  ESYS_TR shandle2,
609  ESYS_TR shandle3,
610  const TPML_ALG *toTest,
611  TPML_ALG **toDoList);
612 
613 TSS2_RC
615  ESYS_CONTEXT *esysContext,
616  ESYS_TR shandle1,
617  ESYS_TR shandle2,
618  ESYS_TR shandle3,
619  const TPML_ALG *toTest);
620 
621 TSS2_RC
623  ESYS_CONTEXT *esysContext,
624  TPML_ALG **toDoList);
625 
626 /* Table 13 - TPM2_GetTestResult Command */
627 
628 TSS2_RC
630  ESYS_CONTEXT *esysContext,
631  ESYS_TR shandle1,
632  ESYS_TR shandle2,
633  ESYS_TR shandle3,
634  TPM2B_MAX_BUFFER **outData,
635  TPM2_RC *testResult);
636 
637 TSS2_RC
639  ESYS_CONTEXT *esysContext,
640  ESYS_TR shandle1,
641  ESYS_TR shandle2,
642  ESYS_TR shandle3);
643 
644 TSS2_RC
646  ESYS_CONTEXT *esysContext,
647  TPM2B_MAX_BUFFER **outData,
648  TPM2_RC *testResult);
649 
650 /* Table 15 - TPM2_StartAuthSession Command */
651 
652 TSS2_RC
654  ESYS_CONTEXT *esysContext,
655  ESYS_TR tpmKey,
656  ESYS_TR bind,
657  ESYS_TR shandle1,
658  ESYS_TR shandle2,
659  ESYS_TR shandle3,
660  const TPM2B_NONCE *nonceCaller,
661  TPM2_SE sessionType,
662  const TPMT_SYM_DEF *symmetric,
663  TPMI_ALG_HASH authHash,
664  ESYS_TR *sessionHandle);
665 
666 TSS2_RC
668  ESYS_CONTEXT *esysContext,
669  ESYS_TR tpmKey,
670  ESYS_TR bind,
671  ESYS_TR shandle1,
672  ESYS_TR shandle2,
673  ESYS_TR shandle3,
674  const TPM2B_NONCE *nonceCaller,
675  TPM2_SE sessionType,
676  const TPMT_SYM_DEF *symmetric,
677  TPMI_ALG_HASH authHash);
678 
679 TSS2_RC
680 Esys_StartAuthSession_Finish(
681  ESYS_CONTEXT *esysContext,
682  ESYS_TR *sessionHandle);
683 
684 /* Table 17 - TPM2_PolicyRestart Command */
685 
686 TSS2_RC
688  ESYS_CONTEXT *esysContext,
689  ESYS_TR sessionHandle,
690  ESYS_TR shandle1,
691  ESYS_TR shandle2,
692  ESYS_TR shandle3);
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 
706 /* Table 19 - TPM2_Create Command */
707 
708 TSS2_RC
710  ESYS_CONTEXT *esysContext,
711  ESYS_TR parentHandle,
712  ESYS_TR shandle1,
713  ESYS_TR shandle2,
714  ESYS_TR shandle3,
715  const TPM2B_SENSITIVE_CREATE *inSensitive,
716  const TPM2B_PUBLIC *inPublic,
717  const TPM2B_DATA *outsideInfo,
718  const TPML_PCR_SELECTION *creationPCR,
719  TPM2B_PRIVATE **outPrivate,
720  TPM2B_PUBLIC **outPublic,
721  TPM2B_CREATION_DATA **creationData,
722  TPM2B_DIGEST **creationHash,
723  TPMT_TK_CREATION **creationTicket);
724 
725 TSS2_RC
727  ESYS_CONTEXT *esysContext,
728  ESYS_TR parentHandle,
729  ESYS_TR shandle1,
730  ESYS_TR shandle2,
731  ESYS_TR shandle3,
732  const TPM2B_SENSITIVE_CREATE *inSensitive,
733  const TPM2B_PUBLIC *inPublic,
734  const TPM2B_DATA *outsideInfo,
735  const TPML_PCR_SELECTION *creationPCR);
736 
737 TSS2_RC
739  ESYS_CONTEXT *esysContext,
740  TPM2B_PRIVATE **outPrivate,
741  TPM2B_PUBLIC **outPublic,
742  TPM2B_CREATION_DATA **creationData,
743  TPM2B_DIGEST **creationHash,
744  TPMT_TK_CREATION **creationTicket);
745 
746 /* Table 21 - TPM2_Load Command */
747 
748 TSS2_RC
749 Esys_Load(
750  ESYS_CONTEXT *esysContext,
751  ESYS_TR parentHandle,
752  ESYS_TR shandle1,
753  ESYS_TR shandle2,
754  ESYS_TR shandle3,
755  const TPM2B_PRIVATE *inPrivate,
756  const TPM2B_PUBLIC *inPublic,
757  ESYS_TR *objectHandle);
758 
759 TSS2_RC
761  ESYS_CONTEXT *esysContext,
762  ESYS_TR parentHandle,
763  ESYS_TR shandle1,
764  ESYS_TR shandle2,
765  ESYS_TR shandle3,
766  const TPM2B_PRIVATE *inPrivate,
767  const TPM2B_PUBLIC *inPublic);
768 
769 TSS2_RC
771  ESYS_CONTEXT *esysContext,
772  ESYS_TR *objectHandle);
773 
774 /* Table 23 - TPM2_LoadExternal Command */
775 
776 TSS2_RC
777 Esys_LoadExternal(
778  ESYS_CONTEXT *esysContext,
779  ESYS_TR shandle1,
780  ESYS_TR shandle2,
781  ESYS_TR shandle3,
782  const TPM2B_SENSITIVE *inPrivate,
783  const TPM2B_PUBLIC *inPublic,
784  ESYS_TR hierarchy,
785  ESYS_TR *objectHandle);
786 
787 TSS2_RC
788 Esys_LoadExternal_Async(
789  ESYS_CONTEXT *esysContext,
790  ESYS_TR shandle1,
791  ESYS_TR shandle2,
792  ESYS_TR shandle3,
793  const TPM2B_SENSITIVE *inPrivate,
794  const TPM2B_PUBLIC *inPublic,
795  ESYS_TR hierarchy);
796 
797 TSS2_RC
799  ESYS_CONTEXT *esysContext,
800  ESYS_TR *objectHandle);
801 
802 /* Table 25 - TPM2_ReadPublic Command */
803 
804 TSS2_RC
806  ESYS_CONTEXT *esysContext,
807  ESYS_TR objectHandle,
808  ESYS_TR shandle1,
809  ESYS_TR shandle2,
810  ESYS_TR shandle3,
811  TPM2B_PUBLIC **outPublic,
812  TPM2B_NAME **name,
813  TPM2B_NAME **qualifiedName);
814 
815 TSS2_RC
817  ESYS_CONTEXT *esysContext,
818  ESYS_TR objectHandle,
819  ESYS_TR shandle1,
820  ESYS_TR shandle2,
821  ESYS_TR shandle3);
822 
823 TSS2_RC
825  ESYS_CONTEXT *esysContext,
826  TPM2B_PUBLIC **outPublic,
827  TPM2B_NAME **name,
828  TPM2B_NAME **qualifiedName);
829 
830 /* Table 27 - TPM2_ActivateCredential Command */
831 
832 TSS2_RC
834  ESYS_CONTEXT *esysContext,
835  ESYS_TR activateHandle,
836  ESYS_TR keyHandle,
837  ESYS_TR shandle1,
838  ESYS_TR shandle2,
839  ESYS_TR shandle3,
840  const TPM2B_ID_OBJECT *credentialBlob,
841  const TPM2B_ENCRYPTED_SECRET *secret,
842  TPM2B_DIGEST **certInfo);
843 
844 TSS2_RC
846  ESYS_CONTEXT *esysContext,
847  ESYS_TR activateHandle,
848  ESYS_TR keyHandle,
849  ESYS_TR shandle1,
850  ESYS_TR shandle2,
851  ESYS_TR shandle3,
852  const TPM2B_ID_OBJECT *credentialBlob,
853  const TPM2B_ENCRYPTED_SECRET *secret);
854 
855 TSS2_RC
857  ESYS_CONTEXT *esysContext,
858  TPM2B_DIGEST **certInfo);
859 
860 TSS2_RC
861 Esys_ACT_SetTimeout(
862  ESYS_CONTEXT *esysContext,
863  ESYS_TR actHandle,
864  ESYS_TR shandle1,
865  ESYS_TR shandle2,
866  ESYS_TR shandle3,
867  UINT32 startTimeout);
868 
869 TSS2_RC
870 Esys_ACT_SetTimeout_Async(
871  ESYS_CONTEXT *esysContext,
872  ESYS_TR actHandle,
873  ESYS_TR shandle1,
874  ESYS_TR shandle2,
875  ESYS_TR shandle3,
876  UINT32 startTimeout);
877 
878 TSS2_RC
879 Esys_ACT_SetTimeout_Finish(
880  ESYS_CONTEXT *esysContext);
881 
882 TSS2_RC
883 Esys_AC_GetCapability_Async(
884  ESYS_CONTEXT *esysContext,
885  ESYS_TR optionalSession1,
886  ESYS_TR optionalSession2,
887  ESYS_TR optionalSession3,
888  ESYS_TR ac,
889  TPM_AT capability,
890  UINT32 count);
891 
892 TSS2_RC
893 Esys_AC_GetCapability_Finish(
894  ESYS_CONTEXT *esysContext,
895  TPMI_YES_NO *moreData,
896  TPML_AC_CAPABILITIES **capabilityData);
897 
898 TSS2_RC
899 Esys_AC_GetCapability(
900  ESYS_CONTEXT *esysContext,
901  ESYS_TR optionalSession1,
902  ESYS_TR optionalSession2,
903  ESYS_TR optionalSession3,
904  ESYS_TR ac,
905  TPM_AT capability,
906  UINT32 count,
907  TPMI_YES_NO *moreData,
908  TPML_AC_CAPABILITIES **capabilityData);
909 
910 TSS2_RC
911 Esys_AC_Send_Async(
912  ESYS_CONTEXT *esysContext,
913  ESYS_TR sendObject,
914  ESYS_TR nvAuthHandle,
915  ESYS_TR optionalSession1,
916  ESYS_TR optionalSession2,
917  ESYS_TR optionalSession3,
918  ESYS_TR ac,
919  TPM2B_MAX_BUFFER *acDataIn);
920 
921 TSS2_RC
922 Esys_AC_Send_Finish(
923  ESYS_CONTEXT *esysContext,
924  TPMS_AC_OUTPUT **acDataOut);
925 
926 TSS2_RC
927 Esys_AC_Send(
928  ESYS_CONTEXT *esysContext,
929  ESYS_TR sendObject,
930  ESYS_TR nvAuthHandle,
931  ESYS_TR optionalSession1,
932  ESYS_TR optionalSession2,
933  ESYS_TR optionalSession3,
934  ESYS_TR ac,
935  TPM2B_MAX_BUFFER *acDataIn,
936  TPMS_AC_OUTPUT **acDataOut);
937 
938 TSS2_RC
939 Esys_Policy_AC_SendSelect_Async(
940  ESYS_CONTEXT *esysContext,
941  ESYS_TR policySession1,
942  ESYS_TR optionalSession2,
943  ESYS_TR optionalSession3,
944  TPM2B_NAME *objectName,
945  TPM2B_NAME *authHandleName,
946  TPM2B_NAME *acName,
947  const TPMI_YES_NO includeObject);
948 
949 TSS2_RC
950 Esys_Policy_AC_SendSelect_Finish(
951  ESYS_CONTEXT *esysContext);
952 
953 TSS2_RC
954 Esys_Policy_AC_SendSelect(
955  ESYS_CONTEXT *esysContext,
956  ESYS_TR policySession1,
957  ESYS_TR optionalSession2,
958  ESYS_TR optionalSession3,
959  TPM2B_NAME *objectName,
960  TPM2B_NAME *authHandleName,
961  TPM2B_NAME *acName,
962  TPMI_YES_NO includeObject);
963 
964 /* Table 29 - TPM2_MakeCredential Command */
965 
966 TSS2_RC
968  ESYS_CONTEXT *esysContext,
969  ESYS_TR handle,
970  ESYS_TR shandle1,
971  ESYS_TR shandle2,
972  ESYS_TR shandle3,
973  const TPM2B_DIGEST *credential,
974  const TPM2B_NAME *objectName,
975  TPM2B_ID_OBJECT **credentialBlob,
976  TPM2B_ENCRYPTED_SECRET **secret);
977 
978 TSS2_RC
980  ESYS_CONTEXT *esysContext,
981  ESYS_TR handle,
982  ESYS_TR shandle1,
983  ESYS_TR shandle2,
984  ESYS_TR shandle3,
985  const TPM2B_DIGEST *credential,
986  const TPM2B_NAME *objectName);
987 
988 TSS2_RC
990  ESYS_CONTEXT *esysContext,
991  TPM2B_ID_OBJECT **credentialBlob,
992  TPM2B_ENCRYPTED_SECRET **secret);
993 
994 /* Table 31 - TPM2_Unseal Command */
995 
996 TSS2_RC
998  ESYS_CONTEXT *esysContext,
999  ESYS_TR itemHandle,
1000  ESYS_TR shandle1,
1001  ESYS_TR shandle2,
1002  ESYS_TR shandle3,
1003  TPM2B_SENSITIVE_DATA **outData);
1004 
1005 TSS2_RC
1007  ESYS_CONTEXT *esysContext,
1008  ESYS_TR itemHandle,
1009  ESYS_TR shandle1,
1010  ESYS_TR shandle2,
1011  ESYS_TR shandle3);
1012 
1013 TSS2_RC
1015  ESYS_CONTEXT *esysContext,
1016  TPM2B_SENSITIVE_DATA **outData);
1017 
1018 /* Table 33 - TPM2_ObjectChangeAuth Command */
1019 
1020 TSS2_RC
1022  ESYS_CONTEXT *esysContext,
1023  ESYS_TR objectHandle,
1024  ESYS_TR parentHandle,
1025  ESYS_TR shandle1,
1026  ESYS_TR shandle2,
1027  ESYS_TR shandle3,
1028  const TPM2B_AUTH *newAuth,
1029  TPM2B_PRIVATE **outPrivate);
1030 
1031 TSS2_RC
1033  ESYS_CONTEXT *esysContext,
1034  ESYS_TR objectHandle,
1035  ESYS_TR parentHandle,
1036  ESYS_TR shandle1,
1037  ESYS_TR shandle2,
1038  ESYS_TR shandle3,
1039  const TPM2B_AUTH *newAuth);
1040 
1041 TSS2_RC
1043  ESYS_CONTEXT *esysContext,
1044  TPM2B_PRIVATE **outPrivate);
1045 
1046 /* Table 35 - TPM2_CreateLoaded Command */
1047 
1048 TSS2_RC
1049 Esys_CreateLoaded(
1050  ESYS_CONTEXT *esysContext,
1051  ESYS_TR parentHandle,
1052  ESYS_TR shandle1,
1053  ESYS_TR shandle2,
1054  ESYS_TR shandle3,
1055  const TPM2B_SENSITIVE_CREATE *inSensitive,
1056  const TPM2B_TEMPLATE *inPublic,
1057  ESYS_TR *objectHandle,
1058  TPM2B_PRIVATE **outPrivate,
1059  TPM2B_PUBLIC **outPublic);
1060 
1061 TSS2_RC
1062 Esys_CreateLoaded_Async(
1063  ESYS_CONTEXT *esysContext,
1064  ESYS_TR parentHandle,
1065  ESYS_TR shandle1,
1066  ESYS_TR shandle2,
1067  ESYS_TR shandle3,
1068  const TPM2B_SENSITIVE_CREATE *inSensitive,
1069  const TPM2B_TEMPLATE *inPublic);
1070 
1071 TSS2_RC
1072 Esys_CreateLoaded_Finish(
1073  ESYS_CONTEXT *esysContext,
1074  ESYS_TR *objectHandle,
1075  TPM2B_PRIVATE **outPrivate,
1076  TPM2B_PUBLIC **outPublic);
1077 
1078 /* Table 37 - TPM2_Duplicate Command */
1079 
1080 TSS2_RC
1082  ESYS_CONTEXT *esysContext,
1083  ESYS_TR objectHandle,
1084  ESYS_TR newParentHandle,
1085  ESYS_TR shandle1,
1086  ESYS_TR shandle2,
1087  ESYS_TR shandle3,
1088  const TPM2B_DATA *encryptionKeyIn,
1089  const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1090  TPM2B_DATA **encryptionKeyOut,
1091  TPM2B_PRIVATE **duplicate,
1092  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1093 
1094 TSS2_RC
1096  ESYS_CONTEXT *esysContext,
1097  ESYS_TR objectHandle,
1098  ESYS_TR newParentHandle,
1099  ESYS_TR shandle1,
1100  ESYS_TR shandle2,
1101  ESYS_TR shandle3,
1102  const TPM2B_DATA *encryptionKeyIn,
1103  const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1104 
1105 TSS2_RC
1107  ESYS_CONTEXT *esysContext,
1108  TPM2B_DATA **encryptionKeyOut,
1109  TPM2B_PRIVATE **duplicate,
1110  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1111 
1112 /* Table 39 - TPM2_Rewrap Command */
1113 
1114 TSS2_RC
1115 Esys_Rewrap(
1116  ESYS_CONTEXT *esysContext,
1117  ESYS_TR oldParent,
1118  ESYS_TR newParent,
1119  ESYS_TR shandle1,
1120  ESYS_TR shandle2,
1121  ESYS_TR shandle3,
1122  const TPM2B_PRIVATE *inDuplicate,
1123  const TPM2B_NAME *name,
1124  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1125  TPM2B_PRIVATE **outDuplicate,
1126  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1127 
1128 TSS2_RC
1130  ESYS_CONTEXT *esysContext,
1131  ESYS_TR oldParent,
1132  ESYS_TR newParent,
1133  ESYS_TR shandle1,
1134  ESYS_TR shandle2,
1135  ESYS_TR shandle3,
1136  const TPM2B_PRIVATE *inDuplicate,
1137  const TPM2B_NAME *name,
1138  const TPM2B_ENCRYPTED_SECRET *inSymSeed);
1139 
1140 TSS2_RC
1142  ESYS_CONTEXT *esysContext,
1143  TPM2B_PRIVATE **outDuplicate,
1144  TPM2B_ENCRYPTED_SECRET **outSymSeed);
1145 
1146 /* Table 41 - TPM2_Import Command */
1147 
1148 TSS2_RC
1149 Esys_Import(
1150  ESYS_CONTEXT *esysContext,
1151  ESYS_TR parentHandle,
1152  ESYS_TR shandle1,
1153  ESYS_TR shandle2,
1154  ESYS_TR shandle3,
1155  const TPM2B_DATA *encryptionKey,
1156  const TPM2B_PUBLIC *objectPublic,
1157  const TPM2B_PRIVATE *duplicate,
1158  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1159  const TPMT_SYM_DEF_OBJECT *symmetricAlg,
1160  TPM2B_PRIVATE **outPrivate);
1161 
1162 TSS2_RC
1164  ESYS_CONTEXT *esysContext,
1165  ESYS_TR parentHandle,
1166  ESYS_TR shandle1,
1167  ESYS_TR shandle2,
1168  ESYS_TR shandle3,
1169  const TPM2B_DATA *encryptionKey,
1170  const TPM2B_PUBLIC *objectPublic,
1171  const TPM2B_PRIVATE *duplicate,
1172  const TPM2B_ENCRYPTED_SECRET *inSymSeed,
1173  const TPMT_SYM_DEF_OBJECT *symmetricAlg);
1174 
1175 TSS2_RC
1177  ESYS_CONTEXT *esysContext,
1178  TPM2B_PRIVATE **outPrivate);
1179 
1180 /* Table 45 - TPM2_RSA_Encrypt Command */
1181 
1182 TSS2_RC
1184  ESYS_CONTEXT *esysContext,
1185  ESYS_TR keyHandle,
1186  ESYS_TR shandle1,
1187  ESYS_TR shandle2,
1188  ESYS_TR shandle3,
1189  const TPM2B_PUBLIC_KEY_RSA *message,
1190  const TPMT_RSA_DECRYPT *inScheme,
1191  const TPM2B_DATA *label,
1192  TPM2B_PUBLIC_KEY_RSA **outData);
1193 
1194 TSS2_RC
1196  ESYS_CONTEXT *esysContext,
1197  ESYS_TR keyHandle,
1198  ESYS_TR shandle1,
1199  ESYS_TR shandle2,
1200  ESYS_TR shandle3,
1201  const TPM2B_PUBLIC_KEY_RSA *message,
1202  const TPMT_RSA_DECRYPT *inScheme,
1203  const TPM2B_DATA *label);
1204 
1205 TSS2_RC
1207  ESYS_CONTEXT *esysContext,
1208  TPM2B_PUBLIC_KEY_RSA **outData);
1209 
1210 /* Table 47 - TPM2_RSA_Decrypt Command */
1211 
1212 TSS2_RC
1214  ESYS_CONTEXT *esysContext,
1215  ESYS_TR keyHandle,
1216  ESYS_TR shandle1,
1217  ESYS_TR shandle2,
1218  ESYS_TR shandle3,
1219  const TPM2B_PUBLIC_KEY_RSA *cipherText,
1220  const TPMT_RSA_DECRYPT *inScheme,
1221  const TPM2B_DATA *label,
1222  TPM2B_PUBLIC_KEY_RSA **message);
1223 
1224 TSS2_RC
1226  ESYS_CONTEXT *esysContext,
1227  ESYS_TR keyHandle,
1228  ESYS_TR shandle1,
1229  ESYS_TR shandle2,
1230  ESYS_TR shandle3,
1231  const TPM2B_PUBLIC_KEY_RSA *cipherText,
1232  const TPMT_RSA_DECRYPT *inScheme,
1233  const TPM2B_DATA *label);
1234 
1235 TSS2_RC
1237  ESYS_CONTEXT *esysContext,
1238  TPM2B_PUBLIC_KEY_RSA **message);
1239 
1240 /* Table 49 - TPM2_ECDH_KeyGen Command */
1241 
1242 TSS2_RC
1244  ESYS_CONTEXT *esysContext,
1245  ESYS_TR keyHandle,
1246  ESYS_TR shandle1,
1247  ESYS_TR shandle2,
1248  ESYS_TR shandle3,
1249  TPM2B_ECC_POINT **zPoint,
1250  TPM2B_ECC_POINT **pubPoint);
1251 
1252 TSS2_RC
1254  ESYS_CONTEXT *esysContext,
1255  ESYS_TR keyHandle,
1256  ESYS_TR shandle1,
1257  ESYS_TR shandle2,
1258  ESYS_TR shandle3);
1259 
1260 TSS2_RC
1262  ESYS_CONTEXT *esysContext,
1263  TPM2B_ECC_POINT **zPoint,
1264  TPM2B_ECC_POINT **pubPoint);
1265 
1266 /* Table 51 - TPM2_ECDH_ZGen Command */
1267 
1268 TSS2_RC
1270  ESYS_CONTEXT *esysContext,
1271  ESYS_TR keyHandle,
1272  ESYS_TR shandle1,
1273  ESYS_TR shandle2,
1274  ESYS_TR shandle3,
1275  const TPM2B_ECC_POINT *inPoint,
1276  TPM2B_ECC_POINT **outPoint);
1277 
1278 TSS2_RC
1280  ESYS_CONTEXT *esysContext,
1281  ESYS_TR keyHandle,
1282  ESYS_TR shandle1,
1283  ESYS_TR shandle2,
1284  ESYS_TR shandle3,
1285  const TPM2B_ECC_POINT *inPoint);
1286 
1287 TSS2_RC
1289  ESYS_CONTEXT *esysContext,
1290  TPM2B_ECC_POINT **outPoint);
1291 
1292 /* Table 53 - TPM2_ECC_Parameters Command */
1293 
1294 TSS2_RC
1296  ESYS_CONTEXT *esysContext,
1297  ESYS_TR shandle1,
1298  ESYS_TR shandle2,
1299  ESYS_TR shandle3,
1300  TPMI_ECC_CURVE curveID,
1301  TPMS_ALGORITHM_DETAIL_ECC **parameters);
1302 
1303 TSS2_RC
1305  ESYS_CONTEXT *esysContext,
1306  ESYS_TR shandle1,
1307  ESYS_TR shandle2,
1308  ESYS_TR shandle3,
1309  TPMI_ECC_CURVE curveID);
1310 
1311 TSS2_RC
1313  ESYS_CONTEXT *esysContext,
1314  TPMS_ALGORITHM_DETAIL_ECC **parameters);
1315 
1316 /* Table 55 - TPM2_ZGen_2Phase Command */
1317 
1318 TSS2_RC
1320  ESYS_CONTEXT *esysContext,
1321  ESYS_TR keyA,
1322  ESYS_TR shandle1,
1323  ESYS_TR shandle2,
1324  ESYS_TR shandle3,
1325  const TPM2B_ECC_POINT *inQsB,
1326  const TPM2B_ECC_POINT *inQeB,
1327  TPMI_ECC_KEY_EXCHANGE inScheme,
1328  UINT16 counter,
1329  TPM2B_ECC_POINT **outZ1,
1330  TPM2B_ECC_POINT **outZ2);
1331 
1332 TSS2_RC
1334  ESYS_CONTEXT *esysContext,
1335  ESYS_TR keyA,
1336  ESYS_TR shandle1,
1337  ESYS_TR shandle2,
1338  ESYS_TR shandle3,
1339  const TPM2B_ECC_POINT *inQsB,
1340  const TPM2B_ECC_POINT *inQeB,
1341  TPMI_ECC_KEY_EXCHANGE inScheme,
1342  UINT16 counter);
1343 
1344 TSS2_RC
1346  ESYS_CONTEXT *esysContext,
1347  TPM2B_ECC_POINT **outZ1,
1348  TPM2B_ECC_POINT **outZ2);
1349 
1350 /* Table 58 - TPM2_EncryptDecrypt Command */
1351 
1352 TSS2_RC
1354  ESYS_CONTEXT *esysContext,
1355  ESYS_TR keyHandle,
1356  ESYS_TR shandle1,
1357  ESYS_TR shandle2,
1358  ESYS_TR shandle3,
1359  TPMI_YES_NO decrypt,
1360  TPMI_ALG_CIPHER_MODE mode,
1361  const TPM2B_IV *ivIn,
1362  const TPM2B_MAX_BUFFER *inData,
1363  TPM2B_MAX_BUFFER **outData,
1364  TPM2B_IV **ivOut);
1365 
1366 TSS2_RC
1368  ESYS_CONTEXT *esysContext,
1369  ESYS_TR keyHandle,
1370  ESYS_TR shandle1,
1371  ESYS_TR shandle2,
1372  ESYS_TR shandle3,
1373  TPMI_YES_NO decrypt,
1374  TPMI_ALG_CIPHER_MODE mode,
1375  const TPM2B_IV *ivIn,
1376  const TPM2B_MAX_BUFFER *inData);
1377 
1378 TSS2_RC
1380  ESYS_CONTEXT *esysContext,
1381  TPM2B_MAX_BUFFER **outData,
1382  TPM2B_IV **ivOut);
1383 
1384 /* Table 60 - TPM2_EncryptDecrypt2 Command */
1385 
1386 TSS2_RC
1387 Esys_EncryptDecrypt2(
1388  ESYS_CONTEXT *esysContext,
1389  ESYS_TR keyHandle,
1390  ESYS_TR shandle1,
1391  ESYS_TR shandle2,
1392  ESYS_TR shandle3,
1393  const TPM2B_MAX_BUFFER *inData,
1394  TPMI_YES_NO decrypt,
1395  TPMI_ALG_CIPHER_MODE mode,
1396  const TPM2B_IV *ivIn,
1397  TPM2B_MAX_BUFFER **outData,
1398  TPM2B_IV **ivOut);
1399 
1400 TSS2_RC
1401 Esys_EncryptDecrypt2_Async(
1402  ESYS_CONTEXT *esysContext,
1403  ESYS_TR keyHandle,
1404  ESYS_TR shandle1,
1405  ESYS_TR shandle2,
1406  ESYS_TR shandle3,
1407  const TPM2B_MAX_BUFFER *inData,
1408  TPMI_YES_NO decrypt,
1409  TPMI_ALG_CIPHER_MODE mode,
1410  const TPM2B_IV *ivIn);
1411 
1412 TSS2_RC
1413 Esys_EncryptDecrypt2_Finish(
1414  ESYS_CONTEXT *esysContext,
1415  TPM2B_MAX_BUFFER **outData,
1416  TPM2B_IV **ivOut);
1417 
1418 /* Table 62 - TPM2_Hash Command */
1419 
1420 TSS2_RC
1421 Esys_Hash(
1422  ESYS_CONTEXT *esysContext,
1423  ESYS_TR shandle1,
1424  ESYS_TR shandle2,
1425  ESYS_TR shandle3,
1426  const TPM2B_MAX_BUFFER *data,
1427  TPMI_ALG_HASH hashAlg,
1428  ESYS_TR hierarchy,
1429  TPM2B_DIGEST **outHash,
1430  TPMT_TK_HASHCHECK **validation);
1431 
1432 TSS2_RC
1433 Esys_Hash_Async(
1434  ESYS_CONTEXT *esysContext,
1435  ESYS_TR shandle1,
1436  ESYS_TR shandle2,
1437  ESYS_TR shandle3,
1438  const TPM2B_MAX_BUFFER *data,
1439  TPMI_ALG_HASH hashAlg,
1440  ESYS_TR hierarchy);
1441 
1442 TSS2_RC
1444  ESYS_CONTEXT *esysContext,
1445  TPM2B_DIGEST **outHash,
1446  TPMT_TK_HASHCHECK **validation);
1447 
1448 /* Table 64 - TPM2_HMAC Command */
1449 
1450 TSS2_RC
1451 Esys_HMAC(
1452  ESYS_CONTEXT *esysContext,
1453  ESYS_TR handle,
1454  ESYS_TR shandle1,
1455  ESYS_TR shandle2,
1456  ESYS_TR shandle3,
1457  const TPM2B_MAX_BUFFER *buffer,
1458  TPMI_ALG_HASH hashAlg,
1459  TPM2B_DIGEST **outHMAC);
1460 
1461 TSS2_RC
1463  ESYS_CONTEXT *esysContext,
1464  ESYS_TR handle,
1465  ESYS_TR shandle1,
1466  ESYS_TR shandle2,
1467  ESYS_TR shandle3,
1468  const TPM2B_MAX_BUFFER *buffer,
1469  TPMI_ALG_HASH hashAlg);
1470 
1471 TSS2_RC
1473  ESYS_CONTEXT *esysContext,
1474  TPM2B_DIGEST **outHMAC);
1475 
1476 TSS2_RC
1477 Esys_MAC_Async(
1478  ESYS_CONTEXT *esysContext,
1479  ESYS_TR handle,
1480  ESYS_TR handleSession1,
1481  ESYS_TR optionalSession2,
1482  ESYS_TR optionalSession3,
1483  const TPM2B_MAX_BUFFER *buffer,
1484  TPMI_ALG_MAC_SCHEME inScheme);
1485 
1486 TSS2_RC
1487 Esys_MAC_Finish(
1488  ESYS_CONTEXT *esysContext,
1489  TPM2B_DIGEST **outMAC);
1490 
1491 TSS2_RC
1492 Esys_MAC(
1493  ESYS_CONTEXT *esysContext,
1494  ESYS_TR handle,
1495  ESYS_TR handleSession1,
1496  ESYS_TR optionalSession2,
1497  ESYS_TR optionalSession3,
1498  const TPM2B_MAX_BUFFER *buffer,
1499  TPMI_ALG_MAC_SCHEME inScheme,
1500  TPM2B_DIGEST **outMAC);
1501 
1502 /* Table 66 - TPM2_GetRandom Command */
1503 
1504 TSS2_RC
1506  ESYS_CONTEXT *esysContext,
1507  ESYS_TR shandle1,
1508  ESYS_TR shandle2,
1509  ESYS_TR shandle3,
1510  UINT16 bytesRequested,
1511  TPM2B_DIGEST **randomBytes);
1512 
1513 TSS2_RC
1515  ESYS_CONTEXT *esysContext,
1516  ESYS_TR shandle1,
1517  ESYS_TR shandle2,
1518  ESYS_TR shandle3,
1519  UINT16 bytesRequested);
1520 
1521 TSS2_RC
1523  ESYS_CONTEXT *esysContext,
1524  TPM2B_DIGEST **randomBytes);
1525 
1526 /* Table 68 - TPM2_StirRandom Command */
1527 
1528 TSS2_RC
1530  ESYS_CONTEXT *esysContext,
1531  ESYS_TR shandle1,
1532  ESYS_TR shandle2,
1533  ESYS_TR shandle3,
1534  const TPM2B_SENSITIVE_DATA *inData);
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 
1548 /* Table 71 - TPM2_HMAC_Start Command */
1549 
1550 TSS2_RC
1552  ESYS_CONTEXT *esysContext,
1553  ESYS_TR handle,
1554  ESYS_TR shandle1,
1555  ESYS_TR shandle2,
1556  ESYS_TR shandle3,
1557  const TPM2B_AUTH *auth,
1558  TPMI_ALG_HASH hashAlg,
1559  ESYS_TR *sequenceHandle);
1560 
1561 TSS2_RC
1563  ESYS_CONTEXT *esysContext,
1564  ESYS_TR handle,
1565  ESYS_TR shandle1,
1566  ESYS_TR shandle2,
1567  ESYS_TR shandle3,
1568  const TPM2B_AUTH *auth,
1569  TPMI_ALG_HASH hashAlg);
1570 
1571 TSS2_RC
1573  ESYS_CONTEXT *esysContext,
1574  ESYS_TR *sequenceHandle);
1575 
1576 TSS2_RC
1577 Esys_MAC_Start(
1578  ESYS_CONTEXT *esysContext,
1579  ESYS_TR handle,
1580  ESYS_TR handleSession1,
1581  ESYS_TR optionalSession2,
1582  ESYS_TR optionalSession3,
1583  const TPM2B_AUTH *auth,
1584  TPMI_ALG_MAC_SCHEME inScheme,
1585  ESYS_TR *sequenceHandle);
1586 
1587 TSS2_RC
1588 Esys_MAC_Start_Async(
1589  ESYS_CONTEXT *esysContext,
1590  ESYS_TR handle,
1591  ESYS_TR handleSession1,
1592  ESYS_TR optionalSession2,
1593  ESYS_TR optionalSession3,
1594  const TPM2B_AUTH *auth,
1595  TPMI_ALG_MAC_SCHEME inScheme);
1596 
1597 TSS2_RC
1598 Esys_MAC_Start_Finish(
1599  ESYS_CONTEXT *esysContext,
1600  ESYS_TR *sequenceHandle);
1601 
1602 /* Table 73 - TPM2_HashSequenceStart Command */
1603 
1604 TSS2_RC
1606  ESYS_CONTEXT *esysContext,
1607  ESYS_TR shandle1,
1608  ESYS_TR shandle2,
1609  ESYS_TR shandle3,
1610  const TPM2B_AUTH *auth,
1611  TPMI_ALG_HASH hashAlg,
1612  ESYS_TR *sequenceHandle);
1613 
1614 TSS2_RC
1616  ESYS_CONTEXT *esysContext,
1617  ESYS_TR shandle1,
1618  ESYS_TR shandle2,
1619  ESYS_TR shandle3,
1620  const TPM2B_AUTH *auth,
1621  TPMI_ALG_HASH hashAlg);
1622 
1623 TSS2_RC
1625  ESYS_CONTEXT *esysContext,
1626  ESYS_TR *sequenceHandle);
1627 
1628 /* Table 75 - TPM2_SequenceUpdate Command */
1629 
1630 TSS2_RC
1632  ESYS_CONTEXT *esysContext,
1633  ESYS_TR sequenceHandle,
1634  ESYS_TR shandle1,
1635  ESYS_TR shandle2,
1636  ESYS_TR shandle3,
1637  const TPM2B_MAX_BUFFER *buffer);
1638 
1639 TSS2_RC
1641  ESYS_CONTEXT *esysContext,
1642  ESYS_TR sequenceHandle,
1643  ESYS_TR shandle1,
1644  ESYS_TR shandle2,
1645  ESYS_TR shandle3,
1646  const TPM2B_MAX_BUFFER *buffer);
1647 
1648 TSS2_RC
1650  ESYS_CONTEXT *esysContext);
1651 
1652 /* Table 77 - TPM2_SequenceComplete Command */
1653 
1654 TSS2_RC
1655 Esys_SequenceComplete(
1656  ESYS_CONTEXT *esysContext,
1657  ESYS_TR sequenceHandle,
1658  ESYS_TR shandle1,
1659  ESYS_TR shandle2,
1660  ESYS_TR shandle3,
1661  const TPM2B_MAX_BUFFER *buffer,
1662  ESYS_TR hierarchy,
1663  TPM2B_DIGEST **result,
1664  TPMT_TK_HASHCHECK **validation);
1665 
1666 TSS2_RC
1667 Esys_SequenceComplete_Async(
1668  ESYS_CONTEXT *esysContext,
1669  ESYS_TR sequenceHandle,
1670  ESYS_TR shandle1,
1671  ESYS_TR shandle2,
1672  ESYS_TR shandle3,
1673  const TPM2B_MAX_BUFFER *buffer,
1674  ESYS_TR hierarchy);
1675 
1676 TSS2_RC
1678  ESYS_CONTEXT *esysContext,
1679  TPM2B_DIGEST **result,
1680  TPMT_TK_HASHCHECK **validation);
1681 
1682 /* Table 79 - TPM2_EventSequenceComplete Command */
1683 
1684 TSS2_RC
1686  ESYS_CONTEXT *esysContext,
1687  ESYS_TR pcrHandle,
1688  ESYS_TR sequenceHandle,
1689  ESYS_TR shandle1,
1690  ESYS_TR shandle2,
1691  ESYS_TR shandle3,
1692  const TPM2B_MAX_BUFFER *buffer,
1693  TPML_DIGEST_VALUES **results);
1694 
1695 TSS2_RC
1697  ESYS_CONTEXT *esysContext,
1698  ESYS_TR pcrHandle,
1699  ESYS_TR sequenceHandle,
1700  ESYS_TR shandle1,
1701  ESYS_TR shandle2,
1702  ESYS_TR shandle3,
1703  const TPM2B_MAX_BUFFER *buffer);
1704 
1705 TSS2_RC
1707  ESYS_CONTEXT *esysContext,
1708  TPML_DIGEST_VALUES **results);
1709 
1710 /* Table 81 - TPM2_Certify Command */
1711 
1712 TSS2_RC
1713 Esys_Certify(
1714  ESYS_CONTEXT *esysContext,
1715  ESYS_TR objectHandle,
1716  ESYS_TR signHandle,
1717  ESYS_TR shandle1,
1718  ESYS_TR shandle2,
1719  ESYS_TR shandle3,
1720  const TPM2B_DATA *qualifyingData,
1721  const TPMT_SIG_SCHEME *inScheme,
1722  TPM2B_ATTEST **certifyInfo,
1723  TPMT_SIGNATURE **signature);
1724 
1725 TSS2_RC
1727  ESYS_CONTEXT *esysContext,
1728  ESYS_TR objectHandle,
1729  ESYS_TR signHandle,
1730  ESYS_TR shandle1,
1731  ESYS_TR shandle2,
1732  ESYS_TR shandle3,
1733  const TPM2B_DATA *qualifyingData,
1734  const TPMT_SIG_SCHEME *inScheme);
1735 
1736 TSS2_RC
1738  ESYS_CONTEXT *esysContext,
1739  TPM2B_ATTEST **certifyInfo,
1740  TPMT_SIGNATURE **signature);
1741 
1742 /* Table 83 - TPM2_CertifyCreation Command */
1743 
1744 TSS2_RC
1746  ESYS_CONTEXT *esysContext,
1747  ESYS_TR signHandle,
1748  ESYS_TR objectHandle,
1749  ESYS_TR shandle1,
1750  ESYS_TR shandle2,
1751  ESYS_TR shandle3,
1752  const TPM2B_DATA *qualifyingData,
1753  const TPM2B_DIGEST *creationHash,
1754  const TPMT_SIG_SCHEME *inScheme,
1755  const TPMT_TK_CREATION *creationTicket,
1756  TPM2B_ATTEST **certifyInfo,
1757  TPMT_SIGNATURE **signature);
1758 
1759 TSS2_RC
1761  ESYS_CONTEXT *esysContext,
1762  ESYS_TR signHandle,
1763  ESYS_TR objectHandle,
1764  ESYS_TR shandle1,
1765  ESYS_TR shandle2,
1766  ESYS_TR shandle3,
1767  const TPM2B_DATA *qualifyingData,
1768  const TPM2B_DIGEST *creationHash,
1769  const TPMT_SIG_SCHEME *inScheme,
1770  const TPMT_TK_CREATION *creationTicket);
1771 
1772 TSS2_RC
1774  ESYS_CONTEXT *esysContext,
1775  TPM2B_ATTEST **certifyInfo,
1776  TPMT_SIGNATURE **signature);
1777 
1778 TSS2_RC
1779 Esys_CertifyX509(
1780  ESYS_CONTEXT *esysContext,
1781  ESYS_TR objectHandle,
1782  ESYS_TR signHandle,
1783  ESYS_TR shandle1,
1784  ESYS_TR shandle2,
1785  ESYS_TR shandle3,
1786  const TPM2B_DATA *reserved,
1787  const TPMT_SIG_SCHEME *inScheme,
1788  const TPM2B_MAX_BUFFER *partialCertificate,
1789  TPM2B_MAX_BUFFER **addedToCertificate,
1790  TPM2B_DIGEST **tbsDigest,
1791  TPMT_SIGNATURE **signature);
1792 
1793 TSS2_RC
1794 Esys_CertifyX509_Async(
1795  ESYS_CONTEXT *esysContext,
1796  ESYS_TR objectHandle,
1797  ESYS_TR signHandle,
1798  ESYS_TR shandle1,
1799  ESYS_TR shandle2,
1800  ESYS_TR shandle3,
1801  const TPM2B_DATA *reserved,
1802  const TPMT_SIG_SCHEME *inScheme,
1803  const TPM2B_MAX_BUFFER *partialCertificate);
1804 
1805 TSS2_RC
1806 Esys_CertifyX509_Finish(
1807  ESYS_CONTEXT *esysContext,
1808  TPM2B_MAX_BUFFER **addedToCertificate,
1809  TPM2B_DIGEST **tbsDigest,
1810  TPMT_SIGNATURE **signature);
1811 
1812 /* Table 85 - TPM2_Quote Command */
1813 
1814 TSS2_RC
1815 Esys_Quote(
1816  ESYS_CONTEXT *esysContext,
1817  ESYS_TR signHandle,
1818  ESYS_TR shandle1,
1819  ESYS_TR shandle2,
1820  ESYS_TR shandle3,
1821  const TPM2B_DATA *qualifyingData,
1822  const TPMT_SIG_SCHEME *inScheme,
1823  const TPML_PCR_SELECTION *PCRselect,
1824  TPM2B_ATTEST **quoted,
1825  TPMT_SIGNATURE **signature);
1826 
1827 TSS2_RC
1829  ESYS_CONTEXT *esysContext,
1830  ESYS_TR signHandle,
1831  ESYS_TR shandle1,
1832  ESYS_TR shandle2,
1833  ESYS_TR shandle3,
1834  const TPM2B_DATA *qualifyingData,
1835  const TPMT_SIG_SCHEME *inScheme,
1836  const TPML_PCR_SELECTION *PCRselect);
1837 
1838 TSS2_RC
1840  ESYS_CONTEXT *esysContext,
1841  TPM2B_ATTEST **quoted,
1842  TPMT_SIGNATURE **signature);
1843 
1844 /* Table 87 - TPM2_GetSessionAuditDigest Command */
1845 
1846 TSS2_RC
1848  ESYS_CONTEXT *esysContext,
1849  ESYS_TR privacyAdminHandle,
1850  ESYS_TR signHandle,
1851  ESYS_TR sessionHandle,
1852  ESYS_TR shandle1,
1853  ESYS_TR shandle2,
1854  ESYS_TR shandle3,
1855  const TPM2B_DATA *qualifyingData,
1856  const TPMT_SIG_SCHEME *inScheme,
1857  TPM2B_ATTEST **auditInfo,
1858  TPMT_SIGNATURE **signature);
1859 
1860 TSS2_RC
1862  ESYS_CONTEXT *esysContext,
1863  ESYS_TR privacyAdminHandle,
1864  ESYS_TR signHandle,
1865  ESYS_TR sessionHandle,
1866  ESYS_TR shandle1,
1867  ESYS_TR shandle2,
1868  ESYS_TR shandle3,
1869  const TPM2B_DATA *qualifyingData,
1870  const TPMT_SIG_SCHEME *inScheme);
1871 
1872 TSS2_RC
1874  ESYS_CONTEXT *esysContext,
1875  TPM2B_ATTEST **auditInfo,
1876  TPMT_SIGNATURE **signature);
1877 
1878 /* Table 89 - TPM2_GetCommandAuditDigest Command */
1879 
1880 TSS2_RC
1882  ESYS_CONTEXT *esysContext,
1883  ESYS_TR privacyHandle,
1884  ESYS_TR signHandle,
1885  ESYS_TR shandle1,
1886  ESYS_TR shandle2,
1887  ESYS_TR shandle3,
1888  const TPM2B_DATA *qualifyingData,
1889  const TPMT_SIG_SCHEME *inScheme,
1890  TPM2B_ATTEST **auditInfo,
1891  TPMT_SIGNATURE **signature);
1892 
1893 TSS2_RC
1895  ESYS_CONTEXT *esysContext,
1896  ESYS_TR privacyHandle,
1897  ESYS_TR signHandle,
1898  ESYS_TR shandle1,
1899  ESYS_TR shandle2,
1900  ESYS_TR shandle3,
1901  const TPM2B_DATA *qualifyingData,
1902  const TPMT_SIG_SCHEME *inScheme);
1903 
1904 TSS2_RC
1906  ESYS_CONTEXT *esysContext,
1907  TPM2B_ATTEST **auditInfo,
1908  TPMT_SIGNATURE **signature);
1909 
1910 /* Table 91 - TPM2_GetTime Command */
1911 
1912 TSS2_RC
1913 Esys_GetTime(
1914  ESYS_CONTEXT *esysContext,
1915  ESYS_TR privacyAdminHandle,
1916  ESYS_TR signHandle,
1917  ESYS_TR shandle1,
1918  ESYS_TR shandle2,
1919  ESYS_TR shandle3,
1920  const TPM2B_DATA *qualifyingData,
1921  const TPMT_SIG_SCHEME *inScheme,
1922  TPM2B_ATTEST **timeInfo,
1923  TPMT_SIGNATURE **signature);
1924 
1925 TSS2_RC
1927  ESYS_CONTEXT *esysContext,
1928  ESYS_TR privacyAdminHandle,
1929  ESYS_TR signHandle,
1930  ESYS_TR shandle1,
1931  ESYS_TR shandle2,
1932  ESYS_TR shandle3,
1933  const TPM2B_DATA *qualifyingData,
1934  const TPMT_SIG_SCHEME *inScheme);
1935 
1936 TSS2_RC
1938  ESYS_CONTEXT *esysContext,
1939  TPM2B_ATTEST **timeInfo,
1940  TPMT_SIGNATURE **signature);
1941 
1942 /* Table 93 - TPM2_Commit Command */
1943 
1944 TSS2_RC
1945 Esys_Commit(
1946  ESYS_CONTEXT *esysContext,
1947  ESYS_TR signHandle,
1948  ESYS_TR shandle1,
1949  ESYS_TR shandle2,
1950  ESYS_TR shandle3,
1951  const TPM2B_ECC_POINT *P1,
1952  const TPM2B_SENSITIVE_DATA *s2,
1953  const TPM2B_ECC_PARAMETER *y2,
1954  TPM2B_ECC_POINT **K,
1955  TPM2B_ECC_POINT **L,
1956  TPM2B_ECC_POINT **E,
1957  UINT16 *counter);
1958 
1959 TSS2_RC
1961  ESYS_CONTEXT *esysContext,
1962  ESYS_TR signHandle,
1963  ESYS_TR shandle1,
1964  ESYS_TR shandle2,
1965  ESYS_TR shandle3,
1966  const TPM2B_ECC_POINT *P1,
1967  const TPM2B_SENSITIVE_DATA *s2,
1968  const TPM2B_ECC_PARAMETER *y2);
1969 
1970 TSS2_RC
1972  ESYS_CONTEXT *esysContext,
1973  TPM2B_ECC_POINT **K,
1974  TPM2B_ECC_POINT **L,
1975  TPM2B_ECC_POINT **E,
1976  UINT16 *counter);
1977 
1978 /* Table 95 - TPM2_EC_Ephemeral Command */
1979 
1980 TSS2_RC
1982  ESYS_CONTEXT *esysContext,
1983  ESYS_TR shandle1,
1984  ESYS_TR shandle2,
1985  ESYS_TR shandle3,
1986  TPMI_ECC_CURVE curveID,
1987  TPM2B_ECC_POINT **Q,
1988  UINT16 *counter);
1989 
1990 TSS2_RC
1992  ESYS_CONTEXT *esysContext,
1993  ESYS_TR shandle1,
1994  ESYS_TR shandle2,
1995  ESYS_TR shandle3,
1996  TPMI_ECC_CURVE curveID);
1997 
1998 TSS2_RC
2000  ESYS_CONTEXT *esysContext,
2001  TPM2B_ECC_POINT **Q,
2002  UINT16 *counter);
2003 
2004 /* Table 97 - TPM2_VerifySignature Command */
2005 
2006 TSS2_RC
2008  ESYS_CONTEXT *esysContext,
2009  ESYS_TR keyHandle,
2010  ESYS_TR shandle1,
2011  ESYS_TR shandle2,
2012  ESYS_TR shandle3,
2013  const TPM2B_DIGEST *digest,
2014  const TPMT_SIGNATURE *signature,
2015  TPMT_TK_VERIFIED **validation);
2016 
2017 TSS2_RC
2019  ESYS_CONTEXT *esysContext,
2020  ESYS_TR keyHandle,
2021  ESYS_TR shandle1,
2022  ESYS_TR shandle2,
2023  ESYS_TR shandle3,
2024  const TPM2B_DIGEST *digest,
2025  const TPMT_SIGNATURE *signature);
2026 
2027 TSS2_RC
2029  ESYS_CONTEXT *esysContext,
2030  TPMT_TK_VERIFIED **validation);
2031 
2032 /* Table 99 - TPM2_Sign Command */
2033 
2034 TSS2_RC
2035 Esys_Sign(
2036  ESYS_CONTEXT *esysContext,
2037  ESYS_TR keyHandle,
2038  ESYS_TR shandle1,
2039  ESYS_TR shandle2,
2040  ESYS_TR shandle3,
2041  const TPM2B_DIGEST *digest,
2042  const TPMT_SIG_SCHEME *inScheme,
2043  const TPMT_TK_HASHCHECK *validation,
2044  TPMT_SIGNATURE **signature);
2045 
2046 TSS2_RC
2048  ESYS_CONTEXT *esysContext,
2049  ESYS_TR keyHandle,
2050  ESYS_TR shandle1,
2051  ESYS_TR shandle2,
2052  ESYS_TR shandle3,
2053  const TPM2B_DIGEST *digest,
2054  const TPMT_SIG_SCHEME *inScheme,
2055  const TPMT_TK_HASHCHECK *validation);
2056 
2057 TSS2_RC
2059  ESYS_CONTEXT *esysContext,
2060  TPMT_SIGNATURE **signature);
2061 
2062 /* Table 101 - TPM2_SetCommandCodeAuditStatus Command */
2063 
2064 TSS2_RC
2066  ESYS_CONTEXT *esysContext,
2067  ESYS_TR auth,
2068  ESYS_TR shandle1,
2069  ESYS_TR shandle2,
2070  ESYS_TR shandle3,
2071  TPMI_ALG_HASH auditAlg,
2072  const TPML_CC *setList,
2073  const TPML_CC *clearList);
2074 
2075 TSS2_RC
2077  ESYS_CONTEXT *esysContext,
2078  ESYS_TR auth,
2079  ESYS_TR shandle1,
2080  ESYS_TR shandle2,
2081  ESYS_TR shandle3,
2082  TPMI_ALG_HASH auditAlg,
2083  const TPML_CC *setList,
2084  const TPML_CC *clearList);
2085 
2086 TSS2_RC
2088  ESYS_CONTEXT *esysContext);
2089 
2090 /* Table 103 - TPM2_PCR_Extend Command */
2091 
2092 TSS2_RC
2094  ESYS_CONTEXT *esysContext,
2095  ESYS_TR pcrHandle,
2096  ESYS_TR shandle1,
2097  ESYS_TR shandle2,
2098  ESYS_TR shandle3,
2099  const TPML_DIGEST_VALUES *digests);
2100 
2101 TSS2_RC
2103  ESYS_CONTEXT *esysContext,
2104  ESYS_TR pcrHandle,
2105  ESYS_TR shandle1,
2106  ESYS_TR shandle2,
2107  ESYS_TR shandle3,
2108  const TPML_DIGEST_VALUES *digests);
2109 
2110 TSS2_RC
2112  ESYS_CONTEXT *esysContext);
2113 
2114 /* Table 105 - TPM2_PCR_Event Command */
2115 
2116 TSS2_RC
2118  ESYS_CONTEXT *esysContext,
2119  ESYS_TR pcrHandle,
2120  ESYS_TR shandle1,
2121  ESYS_TR shandle2,
2122  ESYS_TR shandle3,
2123  const TPM2B_EVENT *eventData,
2124  TPML_DIGEST_VALUES **digests);
2125 
2126 TSS2_RC
2128  ESYS_CONTEXT *esysContext,
2129  ESYS_TR pcrHandle,
2130  ESYS_TR shandle1,
2131  ESYS_TR shandle2,
2132  ESYS_TR shandle3,
2133  const TPM2B_EVENT *eventData);
2134 
2135 TSS2_RC
2137  ESYS_CONTEXT *esysContext,
2138  TPML_DIGEST_VALUES **digests);
2139 
2140 /* Table 107 - TPM2_PCR_Read Command */
2141 
2142 TSS2_RC
2144  ESYS_CONTEXT *esysContext,
2145  ESYS_TR shandle1,
2146  ESYS_TR shandle2,
2147  ESYS_TR shandle3,
2148  const TPML_PCR_SELECTION *pcrSelectionIn,
2149  UINT32 *pcrUpdateCounter,
2150  TPML_PCR_SELECTION **pcrSelectionOut,
2151  TPML_DIGEST **pcrValues);
2152 
2153 TSS2_RC
2155  ESYS_CONTEXT *esysContext,
2156  ESYS_TR shandle1,
2157  ESYS_TR shandle2,
2158  ESYS_TR shandle3,
2159  const TPML_PCR_SELECTION *pcrSelectionIn);
2160 
2161 TSS2_RC
2163  ESYS_CONTEXT *esysContext,
2164  UINT32 *pcrUpdateCounter,
2165  TPML_PCR_SELECTION **pcrSelectionOut,
2166  TPML_DIGEST **pcrValues);
2167 
2168 /* Table 109 - TPM2_PCR_Allocate Command */
2169 
2170 TSS2_RC
2172  ESYS_CONTEXT *esysContext,
2173  ESYS_TR authHandle,
2174  ESYS_TR shandle1,
2175  ESYS_TR shandle2,
2176  ESYS_TR shandle3,
2177  const TPML_PCR_SELECTION *pcrAllocation,
2178  TPMI_YES_NO *allocationSuccess,
2179  UINT32 *maxPCR,
2180  UINT32 *sizeNeeded,
2181  UINT32 *sizeAvailable);
2182 
2183 TSS2_RC
2185  ESYS_CONTEXT *esysContext,
2186  ESYS_TR authHandle,
2187  ESYS_TR shandle1,
2188  ESYS_TR shandle2,
2189  ESYS_TR shandle3,
2190  const TPML_PCR_SELECTION *pcrAllocation);
2191 
2192 TSS2_RC
2194  ESYS_CONTEXT *esysContext,
2195  TPMI_YES_NO *allocationSuccess,
2196  UINT32 *maxPCR,
2197  UINT32 *sizeNeeded,
2198  UINT32 *sizeAvailable);
2199 
2200 /* Table 111 - TPM2_PCR_SetAuthPolicy Command */
2201 
2202 TSS2_RC
2204  ESYS_CONTEXT *esysContext,
2205  ESYS_TR authHandle,
2206  ESYS_TR shandle1,
2207  ESYS_TR shandle2,
2208  ESYS_TR shandle3,
2209  const TPM2B_DIGEST *authPolicy,
2210  TPMI_ALG_HASH hashAlg,
2211  TPMI_DH_PCR pcrNum);
2212 
2213 TSS2_RC
2215  ESYS_CONTEXT *esysContext,
2216  ESYS_TR authHandle,
2217  ESYS_TR shandle1,
2218  ESYS_TR shandle2,
2219  ESYS_TR shandle3,
2220  const TPM2B_DIGEST *authPolicy,
2221  TPMI_ALG_HASH hashAlg,
2222  TPMI_DH_PCR pcrNum);
2223 
2224 TSS2_RC
2226  ESYS_CONTEXT *esysContext);
2227 
2228 /* Table 113 - TPM2_PCR_SetAuthValue Command */
2229 
2230 TSS2_RC
2232  ESYS_CONTEXT *esysContext,
2233  ESYS_TR pcrHandle,
2234  ESYS_TR shandle1,
2235  ESYS_TR shandle2,
2236  ESYS_TR shandle3,
2237  const TPM2B_DIGEST *auth);
2238 
2239 TSS2_RC
2241  ESYS_CONTEXT *esysContext,
2242  ESYS_TR pcrHandle,
2243  ESYS_TR shandle1,
2244  ESYS_TR shandle2,
2245  ESYS_TR shandle3,
2246  const TPM2B_DIGEST *auth);
2247 
2248 TSS2_RC
2250  ESYS_CONTEXT *esysContext);
2251 
2252 /* Table 115 - TPM2_PCR_Reset Command */
2253 
2254 TSS2_RC
2256  ESYS_CONTEXT *esysContext,
2257  ESYS_TR pcrHandle,
2258  ESYS_TR shandle1,
2259  ESYS_TR shandle2,
2260  ESYS_TR shandle3);
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 
2274 /* Table 117 - TPM2_PolicySigned Command */
2275 
2276 TSS2_RC
2278  ESYS_CONTEXT *esysContext,
2279  ESYS_TR authObject,
2280  ESYS_TR policySession,
2281  ESYS_TR shandle1,
2282  ESYS_TR shandle2,
2283  ESYS_TR shandle3,
2284  const TPM2B_NONCE *nonceTPM,
2285  const TPM2B_DIGEST *cpHashA,
2286  const TPM2B_NONCE *policyRef,
2287  INT32 expiration,
2288  const TPMT_SIGNATURE *auth,
2289  TPM2B_TIMEOUT **timeout,
2290  TPMT_TK_AUTH **policyTicket);
2291 
2292 TSS2_RC
2294  ESYS_CONTEXT *esysContext,
2295  ESYS_TR authObject,
2296  ESYS_TR policySession,
2297  ESYS_TR shandle1,
2298  ESYS_TR shandle2,
2299  ESYS_TR shandle3,
2300  const TPM2B_NONCE *nonceTPM,
2301  const TPM2B_DIGEST *cpHashA,
2302  const TPM2B_NONCE *policyRef,
2303  INT32 expiration,
2304  const TPMT_SIGNATURE *auth);
2305 
2306 TSS2_RC
2308  ESYS_CONTEXT *esysContext,
2309  TPM2B_TIMEOUT **timeout,
2310  TPMT_TK_AUTH **policyTicket);
2311 
2312 /* Table 119 - TPM2_PolicySecret Command */
2313 
2314 TSS2_RC
2316  ESYS_CONTEXT *esysContext,
2317  ESYS_TR authHandle,
2318  ESYS_TR policySession,
2319  ESYS_TR shandle1,
2320  ESYS_TR shandle2,
2321  ESYS_TR shandle3,
2322  const TPM2B_NONCE *nonceTPM,
2323  const TPM2B_DIGEST *cpHashA,
2324  const TPM2B_NONCE *policyRef,
2325  INT32 expiration,
2326  TPM2B_TIMEOUT **timeout,
2327  TPMT_TK_AUTH **policyTicket);
2328 
2329 TSS2_RC
2331  ESYS_CONTEXT *esysContext,
2332  ESYS_TR authHandle,
2333  ESYS_TR policySession,
2334  ESYS_TR shandle1,
2335  ESYS_TR shandle2,
2336  ESYS_TR shandle3,
2337  const TPM2B_NONCE *nonceTPM,
2338  const TPM2B_DIGEST *cpHashA,
2339  const TPM2B_NONCE *policyRef,
2340  INT32 expiration);
2341 
2342 TSS2_RC
2344  ESYS_CONTEXT *esysContext,
2345  TPM2B_TIMEOUT **timeout,
2346  TPMT_TK_AUTH **policyTicket);
2347 
2348 /* Table 121 - TPM2_PolicyTicket Command */
2349 
2350 TSS2_RC
2352  ESYS_CONTEXT *esysContext,
2353  ESYS_TR policySession,
2354  ESYS_TR shandle1,
2355  ESYS_TR shandle2,
2356  ESYS_TR shandle3,
2357  const TPM2B_TIMEOUT *timeout,
2358  const TPM2B_DIGEST *cpHashA,
2359  const TPM2B_NONCE *policyRef,
2360  const TPM2B_NAME *authName,
2361  const TPMT_TK_AUTH *ticket);
2362 
2363 TSS2_RC
2365  ESYS_CONTEXT *esysContext,
2366  ESYS_TR policySession,
2367  ESYS_TR shandle1,
2368  ESYS_TR shandle2,
2369  ESYS_TR shandle3,
2370  const TPM2B_TIMEOUT *timeout,
2371  const TPM2B_DIGEST *cpHashA,
2372  const TPM2B_NONCE *policyRef,
2373  const TPM2B_NAME *authName,
2374  const TPMT_TK_AUTH *ticket);
2375 
2376 TSS2_RC
2378  ESYS_CONTEXT *esysContext);
2379 
2380 /* Table 123 - TPM2_PolicyOR Command */
2381 
2382 TSS2_RC
2384  ESYS_CONTEXT *esysContext,
2385  ESYS_TR policySession,
2386  ESYS_TR shandle1,
2387  ESYS_TR shandle2,
2388  ESYS_TR shandle3,
2389  const TPML_DIGEST *pHashList);
2390 
2391 TSS2_RC
2393  ESYS_CONTEXT *esysContext,
2394  ESYS_TR policySession,
2395  ESYS_TR shandle1,
2396  ESYS_TR shandle2,
2397  ESYS_TR shandle3,
2398  const TPML_DIGEST *pHashList);
2399 
2400 TSS2_RC
2402  ESYS_CONTEXT *esysContext);
2403 
2404 /* Table 125 - TPM2_PolicyPCR Command */
2405 
2406 TSS2_RC
2408  ESYS_CONTEXT *esysContext,
2409  ESYS_TR policySession,
2410  ESYS_TR shandle1,
2411  ESYS_TR shandle2,
2412  ESYS_TR shandle3,
2413  const TPM2B_DIGEST *pcrDigest,
2414  const TPML_PCR_SELECTION *pcrs);
2415 
2416 TSS2_RC
2418  ESYS_CONTEXT *esysContext,
2419  ESYS_TR policySession,
2420  ESYS_TR shandle1,
2421  ESYS_TR shandle2,
2422  ESYS_TR shandle3,
2423  const TPM2B_DIGEST *pcrDigest,
2424  const TPML_PCR_SELECTION *pcrs);
2425 
2426 TSS2_RC
2428  ESYS_CONTEXT *esysContext);
2429 
2430 /* Table 127 - TPM2_PolicyLocality Command */
2431 
2432 TSS2_RC
2434  ESYS_CONTEXT *esysContext,
2435  ESYS_TR policySession,
2436  ESYS_TR shandle1,
2437  ESYS_TR shandle2,
2438  ESYS_TR shandle3,
2439  TPMA_LOCALITY locality);
2440 
2441 TSS2_RC
2443  ESYS_CONTEXT *esysContext,
2444  ESYS_TR policySession,
2445  ESYS_TR shandle1,
2446  ESYS_TR shandle2,
2447  ESYS_TR shandle3,
2448  TPMA_LOCALITY locality);
2449 
2450 TSS2_RC
2452  ESYS_CONTEXT *esysContext);
2453 
2454 /* Table 129 - TPM2_PolicyNV Command */
2455 
2456 TSS2_RC
2458  ESYS_CONTEXT *esysContext,
2459  ESYS_TR authHandle,
2460  ESYS_TR nvIndex,
2461  ESYS_TR policySession,
2462  ESYS_TR shandle1,
2463  ESYS_TR shandle2,
2464  ESYS_TR shandle3,
2465  const TPM2B_OPERAND *operandB,
2466  UINT16 offset,
2467  TPM2_EO operation);
2468 
2469 TSS2_RC
2471  ESYS_CONTEXT *esysContext,
2472  ESYS_TR authHandle,
2473  ESYS_TR nvIndex,
2474  ESYS_TR policySession,
2475  ESYS_TR shandle1,
2476  ESYS_TR shandle2,
2477  ESYS_TR shandle3,
2478  const TPM2B_OPERAND *operandB,
2479  UINT16 offset,
2480  TPM2_EO operation);
2481 
2482 TSS2_RC
2484  ESYS_CONTEXT *esysContext);
2485 
2486 /* Table 131 - TPM2_PolicyCounterTimer Command */
2487 
2488 TSS2_RC
2490  ESYS_CONTEXT *esysContext,
2491  ESYS_TR policySession,
2492  ESYS_TR shandle1,
2493  ESYS_TR shandle2,
2494  ESYS_TR shandle3,
2495  const TPM2B_OPERAND *operandB,
2496  UINT16 offset,
2497  TPM2_EO operation);
2498 
2499 TSS2_RC
2501  ESYS_CONTEXT *esysContext,
2502  ESYS_TR policySession,
2503  ESYS_TR shandle1,
2504  ESYS_TR shandle2,
2505  ESYS_TR shandle3,
2506  const TPM2B_OPERAND *operandB,
2507  UINT16 offset,
2508  TPM2_EO operation);
2509 
2510 TSS2_RC
2512  ESYS_CONTEXT *esysContext);
2513 
2514 /* Table 133 - TPM2_PolicyCommandCode Command */
2515 
2516 TSS2_RC
2518  ESYS_CONTEXT *esysContext,
2519  ESYS_TR policySession,
2520  ESYS_TR shandle1,
2521  ESYS_TR shandle2,
2522  ESYS_TR shandle3,
2523  TPM2_CC code);
2524 
2525 TSS2_RC
2527  ESYS_CONTEXT *esysContext,
2528  ESYS_TR policySession,
2529  ESYS_TR shandle1,
2530  ESYS_TR shandle2,
2531  ESYS_TR shandle3,
2532  TPM2_CC code);
2533 
2534 TSS2_RC
2536  ESYS_CONTEXT *esysContext);
2537 
2538 /* Table 135 - TPM2_PolicyPhysicalPresence Command */
2539 
2540 TSS2_RC
2542  ESYS_CONTEXT *esysContext,
2543  ESYS_TR policySession,
2544  ESYS_TR shandle1,
2545  ESYS_TR shandle2,
2546  ESYS_TR shandle3);
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 
2560 /* Table 137 - TPM2_PolicyCpHash Command */
2561 
2562 TSS2_RC
2564  ESYS_CONTEXT *esysContext,
2565  ESYS_TR policySession,
2566  ESYS_TR shandle1,
2567  ESYS_TR shandle2,
2568  ESYS_TR shandle3,
2569  const TPM2B_DIGEST *cpHashA);
2570 
2571 TSS2_RC
2573  ESYS_CONTEXT *esysContext,
2574  ESYS_TR policySession,
2575  ESYS_TR shandle1,
2576  ESYS_TR shandle2,
2577  ESYS_TR shandle3,
2578  const TPM2B_DIGEST *cpHashA);
2579 
2580 TSS2_RC
2582  ESYS_CONTEXT *esysContext);
2583 
2584 /* Table 139 - TPM2_PolicyNameHash Command */
2585 
2586 TSS2_RC
2588  ESYS_CONTEXT *esysContext,
2589  ESYS_TR policySession,
2590  ESYS_TR shandle1,
2591  ESYS_TR shandle2,
2592  ESYS_TR shandle3,
2593  const TPM2B_DIGEST *nameHash);
2594 
2595 TSS2_RC
2597  ESYS_CONTEXT *esysContext,
2598  ESYS_TR policySession,
2599  ESYS_TR shandle1,
2600  ESYS_TR shandle2,
2601  ESYS_TR shandle3,
2602  const TPM2B_DIGEST *nameHash);
2603 
2604 TSS2_RC
2606  ESYS_CONTEXT *esysContext);
2607 
2608 /* Table 141 - TPM2_PolicyDuplicationSelect Command */
2609 
2610 TSS2_RC
2612  ESYS_CONTEXT *esysContext,
2613  ESYS_TR policySession,
2614  ESYS_TR shandle1,
2615  ESYS_TR shandle2,
2616  ESYS_TR shandle3,
2617  const TPM2B_NAME *objectName,
2618  const TPM2B_NAME *newParentName,
2619  TPMI_YES_NO includeObject);
2620 
2621 TSS2_RC
2623  ESYS_CONTEXT *esysContext,
2624  ESYS_TR policySession,
2625  ESYS_TR shandle1,
2626  ESYS_TR shandle2,
2627  ESYS_TR shandle3,
2628  const TPM2B_NAME *objectName,
2629  const TPM2B_NAME *newParentName,
2630  TPMI_YES_NO includeObject);
2631 
2632 TSS2_RC
2634  ESYS_CONTEXT *esysContext);
2635 
2636 /* Table 143 - TPM2_PolicyAuthorize Command */
2637 
2638 TSS2_RC
2640  ESYS_CONTEXT *esysContext,
2641  ESYS_TR policySession,
2642  ESYS_TR shandle1,
2643  ESYS_TR shandle2,
2644  ESYS_TR shandle3,
2645  const TPM2B_DIGEST *approvedPolicy,
2646  const TPM2B_NONCE *policyRef,
2647  const TPM2B_NAME *keySign,
2648  const TPMT_TK_VERIFIED *checkTicket);
2649 
2650 TSS2_RC
2652  ESYS_CONTEXT *esysContext,
2653  ESYS_TR policySession,
2654  ESYS_TR shandle1,
2655  ESYS_TR shandle2,
2656  ESYS_TR shandle3,
2657  const TPM2B_DIGEST *approvedPolicy,
2658  const TPM2B_NONCE *policyRef,
2659  const TPM2B_NAME *keySign,
2660  const TPMT_TK_VERIFIED *checkTicket);
2661 
2662 TSS2_RC
2664  ESYS_CONTEXT *esysContext);
2665 
2666 /* Table 145 - TPM2_PolicyAuthValue Command */
2667 
2668 TSS2_RC
2670  ESYS_CONTEXT *esysContext,
2671  ESYS_TR policySession,
2672  ESYS_TR shandle1,
2673  ESYS_TR shandle2,
2674  ESYS_TR shandle3);
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 
2688 /* Table 147 - TPM2_PolicyPassword Command */
2689 
2690 TSS2_RC
2692  ESYS_CONTEXT *esysContext,
2693  ESYS_TR policySession,
2694  ESYS_TR shandle1,
2695  ESYS_TR shandle2,
2696  ESYS_TR shandle3);
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 
2710 /* Table 149 - TPM2_PolicyGetDigest Command */
2711 
2712 TSS2_RC
2714  ESYS_CONTEXT *esysContext,
2715  ESYS_TR policySession,
2716  ESYS_TR shandle1,
2717  ESYS_TR shandle2,
2718  ESYS_TR shandle3,
2719  TPM2B_DIGEST **policyDigest);
2720 
2721 TSS2_RC
2723  ESYS_CONTEXT *esysContext,
2724  ESYS_TR policySession,
2725  ESYS_TR shandle1,
2726  ESYS_TR shandle2,
2727  ESYS_TR shandle3);
2728 
2729 TSS2_RC
2731  ESYS_CONTEXT *esysContext,
2732  TPM2B_DIGEST **policyDigest);
2733 
2734 /* Table 151 - TPM2_PolicyNvWritten Command */
2735 
2736 TSS2_RC
2738  ESYS_CONTEXT *esysContext,
2739  ESYS_TR policySession,
2740  ESYS_TR shandle1,
2741  ESYS_TR shandle2,
2742  ESYS_TR shandle3,
2743  TPMI_YES_NO writtenSet);
2744 
2745 TSS2_RC
2747  ESYS_CONTEXT *esysContext,
2748  ESYS_TR policySession,
2749  ESYS_TR shandle1,
2750  ESYS_TR shandle2,
2751  ESYS_TR shandle3,
2752  TPMI_YES_NO writtenSet);
2753 
2754 TSS2_RC
2756  ESYS_CONTEXT *esysContext);
2757 
2758 /* Table 153 - TPM2_PolicyTemplate Command */
2759 
2760 TSS2_RC
2761 Esys_PolicyTemplate(
2762  ESYS_CONTEXT *esysContext,
2763  ESYS_TR policySession,
2764  ESYS_TR shandle1,
2765  ESYS_TR shandle2,
2766  ESYS_TR shandle3,
2767  const TPM2B_DIGEST *templateHash);
2768 
2769 TSS2_RC
2770 Esys_PolicyTemplate_Async(
2771  ESYS_CONTEXT *esysContext,
2772  ESYS_TR policySession,
2773  ESYS_TR shandle1,
2774  ESYS_TR shandle2,
2775  ESYS_TR shandle3,
2776  const TPM2B_DIGEST *templateHash);
2777 
2778 TSS2_RC
2779 Esys_PolicyTemplate_Finish(
2780  ESYS_CONTEXT *esysContext);
2781 
2782 /* Table 155 - TPM2_PolicyAuthorizeNV Command */
2783 
2784 TSS2_RC
2785 Esys_PolicyAuthorizeNV(
2786  ESYS_CONTEXT *esysContext,
2787  ESYS_TR authHandle,
2788  ESYS_TR nvIndex,
2789  ESYS_TR policySession,
2790  ESYS_TR shandle1,
2791  ESYS_TR shandle2,
2792  ESYS_TR shandle3);
2793 
2794 TSS2_RC
2795 Esys_PolicyAuthorizeNV_Async(
2796  ESYS_CONTEXT *esysContext,
2797  ESYS_TR authHandle,
2798  ESYS_TR nvIndex,
2799  ESYS_TR policySession,
2800  ESYS_TR shandle1,
2801  ESYS_TR shandle2,
2802  ESYS_TR shandle3);
2803 
2804 TSS2_RC
2805 Esys_PolicyAuthorizeNV_Finish(
2806  ESYS_CONTEXT *esysContext);
2807 
2808 /* Table 157 - TPM2_CreatePrimary Command */
2809 
2810 TSS2_RC
2812  ESYS_CONTEXT *esysContext,
2813  ESYS_TR primaryHandle,
2814  ESYS_TR shandle1,
2815  ESYS_TR shandle2,
2816  ESYS_TR shandle3,
2817  const TPM2B_SENSITIVE_CREATE *inSensitive,
2818  const TPM2B_PUBLIC *inPublic,
2819  const TPM2B_DATA *outsideInfo,
2820  const TPML_PCR_SELECTION *creationPCR,
2821  ESYS_TR *objectHandle,
2822  TPM2B_PUBLIC **outPublic,
2823  TPM2B_CREATION_DATA **creationData,
2824  TPM2B_DIGEST **creationHash,
2825  TPMT_TK_CREATION **creationTicket);
2826 
2827 TSS2_RC
2829  ESYS_CONTEXT *esysContext,
2830  ESYS_TR primaryHandle,
2831  ESYS_TR shandle1,
2832  ESYS_TR shandle2,
2833  ESYS_TR shandle3,
2834  const TPM2B_SENSITIVE_CREATE *inSensitive,
2835  const TPM2B_PUBLIC *inPublic,
2836  const TPM2B_DATA *outsideInfo,
2837  const TPML_PCR_SELECTION *creationPCR);
2838 
2839 TSS2_RC
2841  ESYS_CONTEXT *esysContext,
2842  ESYS_TR *objectHandle,
2843  TPM2B_PUBLIC **outPublic,
2844  TPM2B_CREATION_DATA **creationData,
2845  TPM2B_DIGEST **creationHash,
2846  TPMT_TK_CREATION **creationTicket);
2847 
2848 /* Table 159 - TPM2_HierarchyControl Command */
2849 
2850 TSS2_RC
2851 Esys_HierarchyControl(
2852  ESYS_CONTEXT *esysContext,
2853  ESYS_TR authHandle,
2854  ESYS_TR shandle1,
2855  ESYS_TR shandle2,
2856  ESYS_TR shandle3,
2857  ESYS_TR enable,
2858  TPMI_YES_NO state);
2859 
2860 TSS2_RC
2861 Esys_HierarchyControl_Async(
2862  ESYS_CONTEXT *esysContext,
2863  ESYS_TR authHandle,
2864  ESYS_TR shandle1,
2865  ESYS_TR shandle2,
2866  ESYS_TR shandle3,
2867  ESYS_TR enable,
2868  TPMI_YES_NO state);
2869 
2870 TSS2_RC
2872  ESYS_CONTEXT *esysContext);
2873 
2874 /* Table 161 - TPM2_SetPrimaryPolicy Command */
2875 
2876 TSS2_RC
2878  ESYS_CONTEXT *esysContext,
2879  ESYS_TR authHandle,
2880  ESYS_TR shandle1,
2881  ESYS_TR shandle2,
2882  ESYS_TR shandle3,
2883  const TPM2B_DIGEST *authPolicy,
2884  TPMI_ALG_HASH hashAlg);
2885 
2886 TSS2_RC
2888  ESYS_CONTEXT *esysContext,
2889  ESYS_TR authHandle,
2890  ESYS_TR shandle1,
2891  ESYS_TR shandle2,
2892  ESYS_TR shandle3,
2893  const TPM2B_DIGEST *authPolicy,
2894  TPMI_ALG_HASH hashAlg);
2895 
2896 TSS2_RC
2898  ESYS_CONTEXT *esysContext);
2899 
2900 /* Table 163 - TPM2_ChangePPS Command */
2901 
2902 TSS2_RC
2904  ESYS_CONTEXT *esysContext,
2905  ESYS_TR authHandle,
2906  ESYS_TR shandle1,
2907  ESYS_TR shandle2,
2908  ESYS_TR shandle3);
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 
2922 /* Table 165 - TPM2_ChangeEPS Command */
2923 
2924 TSS2_RC
2926  ESYS_CONTEXT *esysContext,
2927  ESYS_TR authHandle,
2928  ESYS_TR shandle1,
2929  ESYS_TR shandle2,
2930  ESYS_TR shandle3);
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 
2944 /* Table 167 - TPM2_Clear Command */
2945 
2946 TSS2_RC
2947 Esys_Clear(
2948  ESYS_CONTEXT *esysContext,
2949  ESYS_TR authHandle,
2950  ESYS_TR shandle1,
2951  ESYS_TR shandle2,
2952  ESYS_TR shandle3);
2953 
2954 TSS2_RC
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 
2966 /* Table 169 - TPM2_ClearControl Command */
2967 
2968 TSS2_RC
2970  ESYS_CONTEXT *esysContext,
2971  ESYS_TR auth,
2972  ESYS_TR shandle1,
2973  ESYS_TR shandle2,
2974  ESYS_TR shandle3,
2975  TPMI_YES_NO disable);
2976 
2977 TSS2_RC
2979  ESYS_CONTEXT *esysContext,
2980  ESYS_TR auth,
2981  ESYS_TR shandle1,
2982  ESYS_TR shandle2,
2983  ESYS_TR shandle3,
2984  TPMI_YES_NO disable);
2985 
2986 TSS2_RC
2988  ESYS_CONTEXT *esysContext);
2989 
2990 /* Table 171 - TPM2_HierarchyChangeAuth Command */
2991 
2992 TSS2_RC
2994  ESYS_CONTEXT *esysContext,
2995  ESYS_TR authHandle,
2996  ESYS_TR shandle1,
2997  ESYS_TR shandle2,
2998  ESYS_TR shandle3,
2999  const TPM2B_AUTH *newAuth);
3000 
3001 TSS2_RC
3003  ESYS_CONTEXT *esysContext,
3004  ESYS_TR authHandle,
3005  ESYS_TR shandle1,
3006  ESYS_TR shandle2,
3007  ESYS_TR shandle3,
3008  const TPM2B_AUTH *newAuth);
3009 
3010 TSS2_RC
3012  ESYS_CONTEXT *esysContext);
3013 
3014 /* Table 173 - TPM2_DictionaryAttackLockReset Command */
3015 
3016 TSS2_RC
3018  ESYS_CONTEXT *esysContext,
3019  ESYS_TR lockHandle,
3020  ESYS_TR shandle1,
3021  ESYS_TR shandle2,
3022  ESYS_TR shandle3);
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 
3036 /* Table 175 - TPM2_DictionaryAttackParameters Command */
3037 
3038 TSS2_RC
3040  ESYS_CONTEXT *esysContext,
3041  ESYS_TR lockHandle,
3042  ESYS_TR shandle1,
3043  ESYS_TR shandle2,
3044  ESYS_TR shandle3,
3045  UINT32 newMaxTries,
3046  UINT32 newRecoveryTime,
3047  UINT32 lockoutRecovery);
3048 
3049 TSS2_RC
3051  ESYS_CONTEXT *esysContext,
3052  ESYS_TR lockHandle,
3053  ESYS_TR shandle1,
3054  ESYS_TR shandle2,
3055  ESYS_TR shandle3,
3056  UINT32 newMaxTries,
3057  UINT32 newRecoveryTime,
3058  UINT32 lockoutRecovery);
3059 
3060 TSS2_RC
3062  ESYS_CONTEXT *esysContext);
3063 
3064 /* Table 177 - TPM2_PP_Commands Command */
3065 
3066 TSS2_RC
3068  ESYS_CONTEXT *esysContext,
3069  ESYS_TR auth,
3070  ESYS_TR shandle1,
3071  ESYS_TR shandle2,
3072  ESYS_TR shandle3,
3073  const TPML_CC *setList,
3074  const TPML_CC *clearList);
3075 
3076 TSS2_RC
3078  ESYS_CONTEXT *esysContext,
3079  ESYS_TR auth,
3080  ESYS_TR shandle1,
3081  ESYS_TR shandle2,
3082  ESYS_TR shandle3,
3083  const TPML_CC *setList,
3084  const TPML_CC *clearList);
3085 
3086 TSS2_RC
3088  ESYS_CONTEXT *esysContext);
3089 
3090 /* Table 179 - TPM2_SetAlgorithmSet Command */
3091 
3092 TSS2_RC
3094  ESYS_CONTEXT *esysContext,
3095  ESYS_TR authHandle,
3096  ESYS_TR shandle1,
3097  ESYS_TR shandle2,
3098  ESYS_TR shandle3,
3099  UINT32 algorithmSet);
3100 
3101 TSS2_RC
3103  ESYS_CONTEXT *esysContext,
3104  ESYS_TR authHandle,
3105  ESYS_TR shandle1,
3106  ESYS_TR shandle2,
3107  ESYS_TR shandle3,
3108  UINT32 algorithmSet);
3109 
3110 TSS2_RC
3112  ESYS_CONTEXT *esysContext);
3113 
3114 /* Table 181 - TPM2_FieldUpgradeStart Command */
3115 
3116 TSS2_RC
3117 Esys_FieldUpgradeStart(
3118  ESYS_CONTEXT *esysContext,
3119  ESYS_TR authorization,
3120  ESYS_TR keyHandle,
3121  ESYS_TR shandle1,
3122  ESYS_TR shandle2,
3123  ESYS_TR shandle3,
3124  const TPM2B_DIGEST *fuDigest,
3125  const TPMT_SIGNATURE *manifestSignature);
3126 
3127 TSS2_RC
3128 Esys_FieldUpgradeStart_Async(
3129  ESYS_CONTEXT *esysContext,
3130  ESYS_TR authorization,
3131  ESYS_TR keyHandle,
3132  ESYS_TR shandle1,
3133  ESYS_TR shandle2,
3134  ESYS_TR shandle3,
3135  const TPM2B_DIGEST *fuDigest,
3136  const TPMT_SIGNATURE *manifestSignature);
3137 
3138 TSS2_RC
3139 Esys_FieldUpgradeStart_Finish(
3140  ESYS_CONTEXT *esysContext);
3141 
3142 /* Table 183 - TPM2_FieldUpgradeData Command */
3143 
3144 TSS2_RC
3145 Esys_FieldUpgradeData(
3146  ESYS_CONTEXT *esysContext,
3147  ESYS_TR shandle1,
3148  ESYS_TR shandle2,
3149  ESYS_TR shandle3,
3150  const TPM2B_MAX_BUFFER *fuData,
3151  TPMT_HA **nextDigest,
3152  TPMT_HA **firstDigest);
3153 
3154 TSS2_RC
3155 Esys_FieldUpgradeData_Async(
3156  ESYS_CONTEXT *esysContext,
3157  ESYS_TR shandle1,
3158  ESYS_TR shandle2,
3159  ESYS_TR shandle3,
3160  const TPM2B_MAX_BUFFER *fuData);
3161 
3162 TSS2_RC
3163 Esys_FieldUpgradeData_Finish(
3164  ESYS_CONTEXT *esysContext,
3165  TPMT_HA **nextDigest,
3166  TPMT_HA **firstDigest);
3167 
3168 /* Table 185 - TPM2_FirmwareRead Command */
3169 
3170 TSS2_RC
3171 Esys_FirmwareRead(
3172  ESYS_CONTEXT *esysContext,
3173  ESYS_TR shandle1,
3174  ESYS_TR shandle2,
3175  ESYS_TR shandle3,
3176  UINT32 sequenceNumber,
3177  TPM2B_MAX_BUFFER **fuData);
3178 
3179 TSS2_RC
3180 Esys_FirmwareRead_Async(
3181  ESYS_CONTEXT *esysContext,
3182  ESYS_TR shandle1,
3183  ESYS_TR shandle2,
3184  ESYS_TR shandle3,
3185  UINT32 sequenceNumber);
3186 
3187 TSS2_RC
3188 Esys_FirmwareRead_Finish(
3189  ESYS_CONTEXT *esysContext,
3190  TPM2B_MAX_BUFFER **fuData);
3191 
3192 /* Table 187 - TPM2_ContextSave Command */
3193 
3194 TSS2_RC
3196  ESYS_CONTEXT *esysContext,
3197  ESYS_TR saveHandle,
3198  TPMS_CONTEXT **context);
3199 
3200 TSS2_RC
3202  ESYS_CONTEXT *esysContext,
3203  ESYS_TR saveHandle);
3204 
3205 TSS2_RC
3207  ESYS_CONTEXT *esysContext,
3208  TPMS_CONTEXT **context);
3209 
3210 /* Table 189 - TPM2_ContextLoad Command */
3211 
3212 TSS2_RC
3214  ESYS_CONTEXT *esysContext,
3215  const TPMS_CONTEXT *context,
3216  ESYS_TR *loadedHandle);
3217 
3218 TSS2_RC
3220  ESYS_CONTEXT *esysContext,
3221  const TPMS_CONTEXT *context);
3222 
3223 TSS2_RC
3225  ESYS_CONTEXT *esysContext,
3226  ESYS_TR *loadedHandle);
3227 
3228 /* Table 191 - TPM2_FlushContext Command */
3229 
3230 TSS2_RC
3232  ESYS_CONTEXT *esysContext,
3233  ESYS_TR flushHandle);
3234 
3235 TSS2_RC
3237  ESYS_CONTEXT *esysContext,
3238  ESYS_TR flushHandle);
3239 
3240 TSS2_RC
3242  ESYS_CONTEXT *esysContext);
3243 
3244 /* Table 193 - TPM2_EvictControl Command */
3245 
3246 TSS2_RC
3248  ESYS_CONTEXT *esysContext,
3249  ESYS_TR auth,
3250  ESYS_TR objectHandle,
3251  ESYS_TR shandle1,
3252  ESYS_TR shandle2,
3253  ESYS_TR shandle3,
3254  TPMI_DH_PERSISTENT persistentHandle,
3255  ESYS_TR *newObjectHandle);
3256 
3257 TSS2_RC
3259  ESYS_CONTEXT *esysContext,
3260  ESYS_TR auth,
3261  ESYS_TR objectHandle,
3262  ESYS_TR shandle1,
3263  ESYS_TR shandle2,
3264  ESYS_TR shandle3,
3265  TPMI_DH_PERSISTENT persistentHandle);
3266 
3267 TSS2_RC
3269  ESYS_CONTEXT *esysContext,
3270  ESYS_TR *newObjectHandle);
3271 
3272 /* Table 195 - TPM2_ReadClock Command */
3273 
3274 TSS2_RC
3276  ESYS_CONTEXT *esysContext,
3277  ESYS_TR shandle1,
3278  ESYS_TR shandle2,
3279  ESYS_TR shandle3,
3280  TPMS_TIME_INFO **currentTime);
3281 
3282 TSS2_RC
3284  ESYS_CONTEXT *esysContext,
3285  ESYS_TR shandle1,
3286  ESYS_TR shandle2,
3287  ESYS_TR shandle3);
3288 
3289 TSS2_RC
3291  ESYS_CONTEXT *esysContext,
3292  TPMS_TIME_INFO **currentTime);
3293 
3294 /* Table 197 - TPM2_ClockSet Command */
3295 
3296 TSS2_RC
3298  ESYS_CONTEXT *esysContext,
3299  ESYS_TR auth,
3300  ESYS_TR shandle1,
3301  ESYS_TR shandle2,
3302  ESYS_TR shandle3,
3303  UINT64 newTime);
3304 
3305 TSS2_RC
3307  ESYS_CONTEXT *esysContext,
3308  ESYS_TR auth,
3309  ESYS_TR shandle1,
3310  ESYS_TR shandle2,
3311  ESYS_TR shandle3,
3312  UINT64 newTime);
3313 
3314 TSS2_RC
3316  ESYS_CONTEXT *esysContext);
3317 
3318 /* Table 199 - TPM2_ClockRateAdjust Command */
3319 
3320 TSS2_RC
3322  ESYS_CONTEXT *esysContext,
3323  ESYS_TR auth,
3324  ESYS_TR shandle1,
3325  ESYS_TR shandle2,
3326  ESYS_TR shandle3,
3327  TPM2_CLOCK_ADJUST rateAdjust);
3328 
3329 TSS2_RC
3331  ESYS_CONTEXT *esysContext,
3332  ESYS_TR auth,
3333  ESYS_TR shandle1,
3334  ESYS_TR shandle2,
3335  ESYS_TR shandle3,
3336  TPM2_CLOCK_ADJUST rateAdjust);
3337 
3338 TSS2_RC
3340  ESYS_CONTEXT *esysContext);
3341 
3342 /* Table 201 - TPM2_GetCapability Command */
3343 
3344 TSS2_RC
3346  ESYS_CONTEXT *esysContext,
3347  ESYS_TR shandle1,
3348  ESYS_TR shandle2,
3349  ESYS_TR shandle3,
3350  TPM2_CAP capability,
3351  UINT32 property,
3352  UINT32 propertyCount,
3353  TPMI_YES_NO *moreData,
3354  TPMS_CAPABILITY_DATA **capabilityData);
3355 
3356 TSS2_RC
3358  ESYS_CONTEXT *esysContext,
3359  ESYS_TR shandle1,
3360  ESYS_TR shandle2,
3361  ESYS_TR shandle3,
3362  TPM2_CAP capability,
3363  UINT32 property,
3364  UINT32 propertyCount);
3365 
3366 TSS2_RC
3368  ESYS_CONTEXT *esysContext,
3369  TPMI_YES_NO *moreData,
3370  TPMS_CAPABILITY_DATA **capabilityData);
3371 
3372 /* Table 203 - TPM2_TestParms Command */
3373 
3374 TSS2_RC
3376  ESYS_CONTEXT *esysContext,
3377  ESYS_TR shandle1,
3378  ESYS_TR shandle2,
3379  ESYS_TR shandle3,
3380  const TPMT_PUBLIC_PARMS *parameters);
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 
3394 /* Table 205 - TPM2_NV_DefineSpace Command */
3395 
3396 TSS2_RC
3398  ESYS_CONTEXT *esysContext,
3399  ESYS_TR authHandle,
3400  ESYS_TR shandle1,
3401  ESYS_TR shandle2,
3402  ESYS_TR shandle3,
3403  const TPM2B_AUTH *auth,
3404  const TPM2B_NV_PUBLIC *publicInfo,
3405  ESYS_TR *nvHandle);
3406 
3407 TSS2_RC
3409  ESYS_CONTEXT *esysContext,
3410  ESYS_TR authHandle,
3411  ESYS_TR shandle1,
3412  ESYS_TR shandle2,
3413  ESYS_TR shandle3,
3414  const TPM2B_AUTH *auth,
3415  const TPM2B_NV_PUBLIC *publicInfo);
3416 
3417 TSS2_RC
3419  ESYS_CONTEXT *esysContext,
3420  ESYS_TR *nvHandle);
3421 
3422 /* Table 207 - TPM2_NV_UndefineSpace Command */
3423 
3424 TSS2_RC
3426  ESYS_CONTEXT *esysContext,
3427  ESYS_TR authHandle,
3428  ESYS_TR nvIndex,
3429  ESYS_TR shandle1,
3430  ESYS_TR shandle2,
3431  ESYS_TR shandle3);
3432 
3433 TSS2_RC
3435  ESYS_CONTEXT *esysContext,
3436  ESYS_TR authHandle,
3437  ESYS_TR nvIndex,
3438  ESYS_TR shandle1,
3439  ESYS_TR shandle2,
3440  ESYS_TR shandle3);
3441 
3442 TSS2_RC
3444  ESYS_CONTEXT *esysContext);
3445 
3446 /* Table 209 - TPM2_NV_UndefineSpaceSpecial Command */
3447 
3448 TSS2_RC
3450  ESYS_CONTEXT *esysContext,
3451  ESYS_TR nvIndex,
3452  ESYS_TR platform,
3453  ESYS_TR shandle1,
3454  ESYS_TR shandle2,
3455  ESYS_TR shandle3);
3456 
3457 TSS2_RC
3459  ESYS_CONTEXT *esysContext,
3460  ESYS_TR nvIndex,
3461  ESYS_TR platform,
3462  ESYS_TR shandle1,
3463  ESYS_TR shandle2,
3464  ESYS_TR shandle3);
3465 
3466 TSS2_RC
3468  ESYS_CONTEXT *esysContext);
3469 
3470 /* Table 211 - TPM2_NV_ReadPublic Command */
3471 
3472 TSS2_RC
3474  ESYS_CONTEXT *esysContext,
3475  ESYS_TR nvIndex,
3476  ESYS_TR shandle1,
3477  ESYS_TR shandle2,
3478  ESYS_TR shandle3,
3479  TPM2B_NV_PUBLIC **nvPublic,
3480  TPM2B_NAME **nvName);
3481 
3482 TSS2_RC
3484  ESYS_CONTEXT *esysContext,
3485  ESYS_TR nvIndex,
3486  ESYS_TR shandle1,
3487  ESYS_TR shandle2,
3488  ESYS_TR shandle3);
3489 
3490 TSS2_RC
3492  ESYS_CONTEXT *esysContext,
3493  TPM2B_NV_PUBLIC **nvPublic,
3494  TPM2B_NAME **nvName);
3495 
3496 /* Table 213 - TPM2_NV_Write Command */
3497 
3498 TSS2_RC
3500  ESYS_CONTEXT *esysContext,
3501  ESYS_TR authHandle,
3502  ESYS_TR nvIndex,
3503  ESYS_TR shandle1,
3504  ESYS_TR shandle2,
3505  ESYS_TR shandle3,
3506  const TPM2B_MAX_NV_BUFFER *data,
3507  UINT16 offset);
3508 
3509 TSS2_RC
3511  ESYS_CONTEXT *esysContext,
3512  ESYS_TR authHandle,
3513  ESYS_TR nvIndex,
3514  ESYS_TR shandle1,
3515  ESYS_TR shandle2,
3516  ESYS_TR shandle3,
3517  const TPM2B_MAX_NV_BUFFER *data,
3518  UINT16 offset);
3519 
3520 TSS2_RC
3522  ESYS_CONTEXT *esysContext);
3523 
3524 /* Table 215 - TPM2_NV_Increment Command */
3525 
3526 TSS2_RC
3528  ESYS_CONTEXT *esysContext,
3529  ESYS_TR authHandle,
3530  ESYS_TR nvIndex,
3531  ESYS_TR shandle1,
3532  ESYS_TR shandle2,
3533  ESYS_TR shandle3);
3534 
3535 TSS2_RC
3537  ESYS_CONTEXT *esysContext,
3538  ESYS_TR authHandle,
3539  ESYS_TR nvIndex,
3540  ESYS_TR shandle1,
3541  ESYS_TR shandle2,
3542  ESYS_TR shandle3);
3543 
3544 TSS2_RC
3546  ESYS_CONTEXT *esysContext);
3547 
3548 /* Table 217 - TPM2_NV_Extend Command */
3549 
3550 TSS2_RC
3552  ESYS_CONTEXT *esysContext,
3553  ESYS_TR authHandle,
3554  ESYS_TR nvIndex,
3555  ESYS_TR shandle1,
3556  ESYS_TR shandle2,
3557  ESYS_TR shandle3,
3558  const TPM2B_MAX_NV_BUFFER *data);
3559 
3560 TSS2_RC
3562  ESYS_CONTEXT *esysContext,
3563  ESYS_TR authHandle,
3564  ESYS_TR nvIndex,
3565  ESYS_TR shandle1,
3566  ESYS_TR shandle2,
3567  ESYS_TR shandle3,
3568  const TPM2B_MAX_NV_BUFFER *data);
3569 
3570 TSS2_RC
3572  ESYS_CONTEXT *esysContext);
3573 
3574 /* Table 219 - TPM2_NV_SetBits Command */
3575 
3576 TSS2_RC
3578  ESYS_CONTEXT *esysContext,
3579  ESYS_TR authHandle,
3580  ESYS_TR nvIndex,
3581  ESYS_TR shandle1,
3582  ESYS_TR shandle2,
3583  ESYS_TR shandle3,
3584  UINT64 bits);
3585 
3586 TSS2_RC
3588  ESYS_CONTEXT *esysContext,
3589  ESYS_TR authHandle,
3590  ESYS_TR nvIndex,
3591  ESYS_TR shandle1,
3592  ESYS_TR shandle2,
3593  ESYS_TR shandle3,
3594  UINT64 bits);
3595 
3596 TSS2_RC
3598  ESYS_CONTEXT *esysContext);
3599 
3600 /* Table 221 - TPM2_NV_WriteLock Command */
3601 
3602 TSS2_RC
3604  ESYS_CONTEXT *esysContext,
3605  ESYS_TR authHandle,
3606  ESYS_TR nvIndex,
3607  ESYS_TR shandle1,
3608  ESYS_TR shandle2,
3609  ESYS_TR shandle3);
3610 
3611 TSS2_RC
3613  ESYS_CONTEXT *esysContext,
3614  ESYS_TR authHandle,
3615  ESYS_TR nvIndex,
3616  ESYS_TR shandle1,
3617  ESYS_TR shandle2,
3618  ESYS_TR shandle3);
3619 
3620 TSS2_RC
3622  ESYS_CONTEXT *esysContext);
3623 
3624 /* Table 223 - TPM2_NV_GlobalWriteLock Command */
3625 
3626 TSS2_RC
3628  ESYS_CONTEXT *esysContext,
3629  ESYS_TR authHandle,
3630  ESYS_TR shandle1,
3631  ESYS_TR shandle2,
3632  ESYS_TR shandle3);
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 
3646 /* Table 225 - TPM2_NV_Read Command */
3647 
3648 TSS2_RC
3649 Esys_NV_Read(
3650  ESYS_CONTEXT *esysContext,
3651  ESYS_TR authHandle,
3652  ESYS_TR nvIndex,
3653  ESYS_TR shandle1,
3654  ESYS_TR shandle2,
3655  ESYS_TR shandle3,
3656  UINT16 size,
3657  UINT16 offset,
3658  TPM2B_MAX_NV_BUFFER **data);
3659 
3660 TSS2_RC
3662  ESYS_CONTEXT *esysContext,
3663  ESYS_TR authHandle,
3664  ESYS_TR nvIndex,
3665  ESYS_TR shandle1,
3666  ESYS_TR shandle2,
3667  ESYS_TR shandle3,
3668  UINT16 size,
3669  UINT16 offset);
3670 
3671 TSS2_RC
3673  ESYS_CONTEXT *esysContext,
3674  TPM2B_MAX_NV_BUFFER **data);
3675 
3676 /* Table 227 - TPM2_NV_ReadLock Command */
3677 
3678 TSS2_RC
3680  ESYS_CONTEXT *esysContext,
3681  ESYS_TR authHandle,
3682  ESYS_TR nvIndex,
3683  ESYS_TR shandle1,
3684  ESYS_TR shandle2,
3685  ESYS_TR shandle3);
3686 
3687 TSS2_RC
3689  ESYS_CONTEXT *esysContext,
3690  ESYS_TR authHandle,
3691  ESYS_TR nvIndex,
3692  ESYS_TR shandle1,
3693  ESYS_TR shandle2,
3694  ESYS_TR shandle3);
3695 
3696 TSS2_RC
3698  ESYS_CONTEXT *esysContext);
3699 
3700 /* Table 229 - TPM2_NV_ChangeAuth Command */
3701 
3702 TSS2_RC
3704  ESYS_CONTEXT *esysContext,
3705  ESYS_TR nvIndex,
3706  ESYS_TR shandle1,
3707  ESYS_TR shandle2,
3708  ESYS_TR shandle3,
3709  const TPM2B_AUTH *newAuth);
3710 
3711 TSS2_RC
3713  ESYS_CONTEXT *esysContext,
3714  ESYS_TR nvIndex,
3715  ESYS_TR shandle1,
3716  ESYS_TR shandle2,
3717  ESYS_TR shandle3,
3718  const TPM2B_AUTH *newAuth);
3719 
3720 TSS2_RC
3722  ESYS_CONTEXT *esysContext);
3723 
3724 /* Table 231 - TPM2_NV_Certify Command */
3725 
3726 TSS2_RC
3728  ESYS_CONTEXT *esysContext,
3729  ESYS_TR signHandle,
3730  ESYS_TR authHandle,
3731  ESYS_TR nvIndex,
3732  ESYS_TR shandle1,
3733  ESYS_TR shandle2,
3734  ESYS_TR shandle3,
3735  const TPM2B_DATA *qualifyingData,
3736  const TPMT_SIG_SCHEME *inScheme,
3737  UINT16 size,
3738  UINT16 offset,
3739  TPM2B_ATTEST **certifyInfo,
3740  TPMT_SIGNATURE **signature);
3741 
3742 TSS2_RC
3744  ESYS_CONTEXT *esysContext,
3745  ESYS_TR signHandle,
3746  ESYS_TR authHandle,
3747  ESYS_TR nvIndex,
3748  ESYS_TR shandle1,
3749  ESYS_TR shandle2,
3750  ESYS_TR shandle3,
3751  const TPM2B_DATA *qualifyingData,
3752  const TPMT_SIG_SCHEME *inScheme,
3753  UINT16 size,
3754  UINT16 offset);
3755 
3756 TSS2_RC
3758  ESYS_CONTEXT *esysContext,
3759  TPM2B_ATTEST **certifyInfo,
3760  TPMT_SIGNATURE **signature);
3761 
3762 /* Table 233 - TPM2_Vendor_TCG_Test Command */
3763 
3764 TSS2_RC
3766  ESYS_CONTEXT *esysContext,
3767  ESYS_TR shandle1,
3768  ESYS_TR shandle2,
3769  ESYS_TR shandle3,
3770  const TPM2B_DATA *inputData,
3771  TPM2B_DATA **outputData);
3772 
3773 TSS2_RC
3775  ESYS_CONTEXT *esysContext,
3776  ESYS_TR shandle1,
3777  ESYS_TR shandle2,
3778  ESYS_TR shandle3,
3779  const TPM2B_DATA *inputData);
3780 
3781 TSS2_RC
3783  ESYS_CONTEXT *esysContext,
3784  TPM2B_DATA **outputData);
3785 
3786 /*
3787  * TPM 2.0 ESAPI Helper Functions
3788  */
3789 void
3790 Esys_Free(
3791  void *__ptr);
3792 
3793 TSS2_RC
3795  ESYS_CONTEXT *esys_context,
3796  TSS2_SYS_CONTEXT **sys_context);
3797 
3798 TSS2_RC
3800  ESYS_CONTEXT *esysContext,
3801  ESYS_CRYPTO_CALLBACKS *callbacks);
3802 
3803 #ifdef __cplusplus
3804 }
3805 #endif
3806 
3807 #endif /* TSS2_ESYS_H */
TSS2_RC Esys_SetCryptoCallbacks(ESYS_CONTEXT *esysContext, ESYS_CRYPTO_CALLBACKS *callbacks)
Definition: esys_context.c:267
TSS2_RC Esys_GetSysContext(ESYS_CONTEXT *esys_context, TSS2_SYS_CONTEXT **sys_context)
Definition: esys_context.c:236
TSS2_RC Esys_GetPollHandles(ESYS_CONTEXT *esys_context, TSS2_TCTI_POLL_HANDLE **handles, size_t *count)
Definition: esys_context.c:184
TSS2_RC Esys_Initialize(ESYS_CONTEXT **esys_context, TSS2_TCTI_CONTEXT *tcti, TSS2_ABI_VERSION *abiVersion)
Definition: esys_context.c:44
TSS2_RC Esys_SetTimeout(ESYS_CONTEXT *esys_context, int32_t timeout)
Definition: esys_context.c:220
TSS2_RC Esys_GetTcti(ESYS_CONTEXT *esys_context, TSS2_TCTI_CONTEXT **tcti)
Definition: esys_context.c:163
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:80
TSS2_RC Esys_TR_Close(ESYS_CONTEXT *esys_context, ESYS_TR *rsrc_handle)
Definition: esys_tr.c:417
TSS2_RC Esys_TRSess_GetAttributes(ESYS_CONTEXT *esysContext, ESYS_TR session, TPMA_SESSION *flags)
Definition: esys_tr.c:569
TSS2_RC Esys_TR_FromTPMPublic_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *object)
Definition: esys_tr.c:216
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:127
TSS2_RC Esys_TR_SetAuth(ESYS_CONTEXT *esysContext, ESYS_TR handle, TPM2B_AUTH const *authValue)
Definition: esys_tr.c:456
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:38
TSS2_RC Esys_TRSess_SetAttributes(ESYS_CONTEXT *esysContext, ESYS_TR session, TPMA_SESSION flags, TPMA_SESSION mask)
Definition: esys_tr.c:599
TSS2_RC Esys_TR_GetName(ESYS_CONTEXT *esysContext, ESYS_TR handle, TPM2B_NAME **name)
Definition: esys_tr.c:509
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:367
TSS2_RC Esys_ActivateCredential_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **certInfo)
Definition: Esys_ActivateCredential.c:261
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:145
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:66
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:71
TSS2_RC Esys_CertifyCreation_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_CertifyCreation.c:274
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:156
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:68
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:146
TSS2_RC Esys_Certify_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_Certify.c:264
TSS2_RC Esys_ChangeEPS(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangeEPS.c:64
TSS2_RC Esys_ChangeEPS_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ChangeEPS.c:236
TSS2_RC Esys_ChangeEPS_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangeEPS.c:138
TSS2_RC Esys_ChangePPS(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangePPS.c:64
TSS2_RC Esys_ChangePPS_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ChangePPS.c:138
TSS2_RC Esys_ChangePPS_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ChangePPS.c:236
TSS2_RC Esys_Clear(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Clear.c:64
TSS2_RC Esys_Clear_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Clear.c:240
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:66
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:143
TSS2_RC Esys_ClearControl_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClearControl.c:242
TSS2_RC Esys_Clear_Async(ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Clear.c:137
TSS2_RC Esys_ClockRateAdjust_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClockRateAdjust.c:240
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:141
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:65
TSS2_RC Esys_ClockSet_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_ClockSet.c:240
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:141
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:65
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:69
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:257
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:148
TSS2_RC Esys_ContextLoad(ESYS_CONTEXT *esysContext, const TPMS_CONTEXT *context, ESYS_TR *loadedHandle)
Definition: Esys_ContextLoad.c:63
TSS2_RC Esys_ContextLoad_Async(ESYS_CONTEXT *esysContext, const TPMS_CONTEXT *context)
Definition: Esys_ContextLoad.c:117
TSS2_RC Esys_ContextLoad_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *loadedHandle)
Definition: Esys_ContextLoad.c:208
TSS2_RC Esys_ContextSave(ESYS_CONTEXT *esysContext, ESYS_TR saveHandle, TPMS_CONTEXT **context)
Definition: Esys_ContextSave.c:61
TSS2_RC Esys_ContextSave_Finish(ESYS_CONTEXT *esysContext, TPMS_CONTEXT **context)
Definition: Esys_ContextSave.c:188
TSS2_RC Esys_ContextSave_Async(ESYS_CONTEXT *esysContext, ESYS_TR saveHandle)
Definition: Esys_ContextSave.c:119
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:174
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:89
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:301
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:302
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:90
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:177
TSS2_RC Esys_DictionaryAttackLockReset_Async(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_DictionaryAttackLockReset.c:138
TSS2_RC Esys_DictionaryAttackLockReset_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_DictionaryAttackLockReset.c:237
TSS2_RC Esys_DictionaryAttackLockReset(ESYS_CONTEXT *esysContext, ESYS_TR lockHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_DictionaryAttackLockReset.c:64
TSS2_RC Esys_DictionaryAttackParameters_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_DictionaryAttackParameters.c:259
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:154
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:70
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:155
TSS2_RC Esys_Duplicate_Finish(ESYS_CONTEXT *esysContext, TPM2B_DATA **encryptionKeyOut, TPM2B_PRIVATE **duplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Duplicate.c:274
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:74
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:131
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:61
TSS2_RC Esys_EC_Ephemeral_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **Q, UINT16 *counter)
Definition: Esys_EC_Ephemeral.c:220
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:135
TSS2_RC Esys_ECC_Parameters_Finish(ESYS_CONTEXT *esysContext, TPMS_ALGORITHM_DETAIL_ECC **parameters)
Definition: Esys_ECC_Parameters.c:223
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:63
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:65
TSS2_RC Esys_ECDH_KeyGen_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **zPoint, TPM2B_ECC_POINT **pubPoint)
Definition: Esys_ECDH_KeyGen.c:235
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:138
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:133
TSS2_RC Esys_ECDH_ZGen_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **outPoint)
Definition: Esys_ECDH_ZGen.c:235
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:62
TSS2_RC Esys_EncryptDecrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_BUFFER **outData, TPM2B_IV **ivOut)
Definition: Esys_EncryptDecrypt.c:261
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:70
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:152
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:141
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:65
TSS2_RC Esys_EventSequenceComplete_Finish(ESYS_CONTEXT *esysContext, TPML_DIGEST_VALUES **results)
Definition: Esys_EventSequenceComplete.c:257
TSS2_RC Esys_EvictControl_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *newObjectHandle)
Definition: Esys_EvictControl.c:271
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:157
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:78
TSS2_RC Esys_FlushContext_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_FlushContext.c:183
TSS2_RC Esys_FlushContext_Async(ESYS_CONTEXT *esysContext, ESYS_TR flushHandle)
Definition: Esys_FlushContext.c:116
TSS2_RC Esys_FlushContext(ESYS_CONTEXT *esysContext, ESYS_TR flushHandle)
Definition: Esys_FlushContext.c:59
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:147
TSS2_RC Esys_GetCapability_Finish(ESYS_CONTEXT *esysContext, TPMI_YES_NO *moreData, TPMS_CAPABILITY_DATA **capabilityData)
Definition: Esys_GetCapability.c:240
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:68
TSS2_RC Esys_GetCommandAuditDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetCommandAuditDigest.c:262
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:67
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:147
TSS2_RC Esys_GetRandom_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, UINT16 bytesRequested)
Definition: Esys_GetRandom.c:129
TSS2_RC Esys_GetRandom_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **randomBytes)
Definition: Esys_GetRandom.c:217
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:60
TSS2_RC Esys_GetSessionAuditDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **auditInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetSessionAuditDigest.c:276
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:153
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:69
TSS2_RC Esys_GetTestResult_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_GetTestResult.c:127
TSS2_RC Esys_GetTestResult_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_BUFFER **outData, TPM2_RC *testResult)
Definition: Esys_GetTestResult.c:215
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:60
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:147
TSS2_RC Esys_GetTime_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **timeInfo, TPMT_SIGNATURE **signature)
Definition: Esys_GetTime.c:260
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:68
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:76
TSS2_RC Esys_HMAC_Start_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *sequenceHandle)
Definition: Esys_HMAC_Start.c:254
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:151
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:63
TSS2_RC Esys_HMAC_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **outHMAC)
Definition: Esys_HMAC.c:240
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:137
TSS2_RC Esys_Hash_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **outHash, TPMT_TK_HASHCHECK **validation)
Definition: Esys_Hash.c:239
TSS2_RC Esys_HashSequenceStart_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *sequenceHandle)
Definition: Esys_HashSequenceStart.c:218
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:130
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:60
TSS2_RC Esys_HierarchyChangeAuth_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_HierarchyChangeAuth.c:253
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:77
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:151
TSS2_RC Esys_HierarchyControl_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_HierarchyControl.c:260
TSS2_RC Esys_Import_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outPrivate)
Definition: Esys_Import.c:263
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:152
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:69
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:135
TSS2_RC Esys_IncrementalSelfTest_Finish(ESYS_CONTEXT *esysContext, TPML_ALG **toDoList)
Definition: Esys_IncrementalSelfTest.c:223
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:63
TSS2_RC Esys_LoadExternal_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *objectHandle)
Definition: Esys_LoadExternal.c:243
TSS2_RC Esys_Load_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *objectHandle)
Definition: Esys_Load.c:253
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:76
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:149
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:141
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:66
TSS2_RC Esys_MakeCredential_Finish(ESYS_CONTEXT *esysContext, TPM2B_ID_OBJECT **credentialBlob, TPM2B_ENCRYPTED_SECRET **secret)
Definition: Esys_MakeCredential.c:243
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:72
TSS2_RC Esys_NV_Certify_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **certifyInfo, TPMT_SIGNATURE **signature)
Definition: Esys_NV_Certify.c:286
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:158
TSS2_RC Esys_NV_ChangeAuth_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_ChangeAuth.c:249
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:76
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:149
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:160
TSS2_RC Esys_NV_DefineSpace_Finish(ESYS_CONTEXT *esysContext, ESYS_TR *nvHandle)
Definition: Esys_NV_DefineSpace.c:283
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:85
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:148
TSS2_RC Esys_NV_Extend_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Extend.c:255
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:72
TSS2_RC Esys_NV_GlobalWriteLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_GlobalWriteLock.c:237
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:138
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:64
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:151
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:74
TSS2_RC Esys_NV_Increment_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Increment.c:256
TSS2_RC Esys_NV_Read_Finish(ESYS_CONTEXT *esysContext, TPM2B_MAX_NV_BUFFER **data)
Definition: Esys_NV_Read.c:255
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:67
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:146
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:151
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:74
TSS2_RC Esys_NV_ReadLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_ReadLock.c:256
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:73
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:146
TSS2_RC Esys_NV_ReadPublic_Finish(ESYS_CONTEXT *esysContext, TPM2B_NV_PUBLIC **nvPublic, TPM2B_NAME **nvName)
Definition: Esys_NV_ReadPublic.c:244
TSS2_RC Esys_NV_SetBits_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_SetBits.c:261
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:154
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:75
TSS2_RC Esys_NV_UndefineSpace_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_UndefineSpace.c:254
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:73
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:149
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:73
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:149
TSS2_RC Esys_NV_UndefineSpaceSpecial_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_UndefineSpaceSpecial.c:261
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:151
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:73
TSS2_RC Esys_NV_Write_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_Write.c:259
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:74
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:151
TSS2_RC Esys_NV_WriteLock_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_NV_WriteLock.c:256
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:135
TSS2_RC Esys_ObjectChangeAuth_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outPrivate)
Definition: Esys_ObjectChangeAuth.c:246
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:62
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:70
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:151
TSS2_RC Esys_PCR_Allocate_Finish(ESYS_CONTEXT *esysContext, TPMI_YES_NO *allocationSuccess, UINT32 *maxPCR, UINT32 *sizeNeeded, UINT32 *sizeAvailable)
Definition: Esys_PCR_Allocate.c:256
TSS2_RC Esys_PCR_Event_Finish(ESYS_CONTEXT *esysContext, TPML_DIGEST_VALUES **digests)
Definition: Esys_PCR_Event.c:239
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:138
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:64
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:65
TSS2_RC Esys_PCR_Extend_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_Extend.c:240
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:141
TSS2_RC Esys_PCR_Read_Finish(ESYS_CONTEXT *esysContext, UINT32 *pcrUpdateCounter, TPML_PCR_SELECTION **pcrSelectionOut, TPML_DIGEST **pcrValues)
Definition: Esys_PCR_Read.c:234
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:67
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:142
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:138
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:64
TSS2_RC Esys_PCR_Reset_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_Reset.c:236
TSS2_RC Esys_PCR_SetAuthPolicy_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_SetAuthPolicy.c:245
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:64
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:141
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:152
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:78
TSS2_RC Esys_PCR_SetAuthValue_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PCR_SetAuthValue.c:253
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:148
TSS2_RC Esys_PP_Commands_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PP_Commands.c:250
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:68
TSS2_RC Esys_PolicyAuthValue(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyAuthValue.c:72
TSS2_RC Esys_PolicyAuthValue_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyAuthValue.c:146
TSS2_RC Esys_PolicyAuthValue_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyAuthValue.c:241
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:153
TSS2_RC Esys_PolicyAuthorize_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyAuthorize.c:255
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:69
TSS2_RC Esys_PolicyCommandCode_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCommandCode.c:237
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:65
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:141
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:65
TSS2_RC Esys_PolicyCounterTimer_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCounterTimer.c:243
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:144
TSS2_RC Esys_PolicyCpHash_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyCpHash.c:236
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:65
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:141
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:68
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:150
TSS2_RC Esys_PolicyDuplicationSelect_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyDuplicationSelect.c:250
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:64
TSS2_RC Esys_PolicyGetDigest_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **policyDigest)
Definition: Esys_PolicyGetDigest.c:233
TSS2_RC Esys_PolicyGetDigest_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyGetDigest.c:136
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:141
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:65
TSS2_RC Esys_PolicyLocality_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyLocality.c:237
TSS2_RC Esys_PolicyNV_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNV.c:267
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:150
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:67
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:65
TSS2_RC Esys_PolicyNameHash_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNameHash.c:237
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:141
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:141
TSS2_RC Esys_PolicyNvWritten_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyNvWritten.c:237
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:65
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:141
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:65
TSS2_RC Esys_PolicyOR_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyOR.c:235
TSS2_RC Esys_PolicyPCR_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPCR.c:237
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:64
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:140
TSS2_RC Esys_PolicyPassword_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPassword.c:241
TSS2_RC Esys_PolicyPassword_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPassword.c:146
TSS2_RC Esys_PolicyPassword(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPassword.c:72
TSS2_RC Esys_PolicyPhysicalPresence_Async(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPhysicalPresence.c:138
TSS2_RC Esys_PolicyPhysicalPresence_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyPhysicalPresence.c:232
TSS2_RC Esys_PolicyPhysicalPresence(ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyPhysicalPresence.c:64
TSS2_RC Esys_PolicyRestart(ESYS_CONTEXT *esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyRestart.c:64
TSS2_RC Esys_PolicyRestart_Async(ESYS_CONTEXT *esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_PolicyRestart.c:138
TSS2_RC Esys_PolicyRestart_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyRestart.c:231
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:157
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:73
TSS2_RC Esys_PolicySecret_Finish(ESYS_CONTEXT *esysContext, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySecret.c:276
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:160
TSS2_RC Esys_PolicySigned_Finish(ESYS_CONTEXT *esysContext, TPM2B_TIMEOUT **timeout, TPMT_TK_AUTH **policyTicket)
Definition: Esys_PolicySigned.c:276
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:74
TSS2_RC Esys_PolicyTicket_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_PolicyTicket.c:256
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:154
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:69
TSS2_RC Esys_Quote_Finish(ESYS_CONTEXT *esysContext, TPM2B_ATTEST **quoted, TPMT_SIGNATURE **signature)
Definition: Esys_Quote.c:250
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:66
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:143
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:64
TSS2_RC Esys_RSA_Decrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC_KEY_RSA **message)
Definition: Esys_RSA_Decrypt.c:245
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:140
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:65
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:142
TSS2_RC Esys_RSA_Encrypt_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC_KEY_RSA **outData)
Definition: Esys_RSA_Encrypt.c:242
TSS2_RC Esys_ReadClock(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMS_TIME_INFO **currentTime)
Definition: Esys_ReadClock.c:62
TSS2_RC Esys_ReadClock_Finish(ESYS_CONTEXT *esysContext, TPMS_TIME_INFO **currentTime)
Definition: Esys_ReadClock.c:218
TSS2_RC Esys_ReadClock_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ReadClock.c:131
TSS2_RC Esys_ReadPublic_Async(ESYS_CONTEXT *esysContext, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_ReadPublic.c:141
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:67
TSS2_RC Esys_ReadPublic_Finish(ESYS_CONTEXT *esysContext, TPM2B_PUBLIC **outPublic, TPM2B_NAME **name, TPM2B_NAME **qualifiedName)
Definition: Esys_ReadPublic.c:240
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:148
TSS2_RC Esys_Rewrap_Finish(ESYS_CONTEXT *esysContext, TPM2B_PRIVATE **outDuplicate, TPM2B_ENCRYPTED_SECRET **outSymSeed)
Definition: Esys_Rewrap.c:264
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:69
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:132
TSS2_RC Esys_SelfTest(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO fullTest)
Definition: Esys_SelfTest.c:61
TSS2_RC Esys_SelfTest_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SelfTest.c:218
TSS2_RC Esys_SequenceComplete_Finish(ESYS_CONTEXT *esysContext, TPM2B_DIGEST **result, TPMT_TK_HASHCHECK **validation)
Definition: Esys_SequenceComplete.c:266
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:62
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:135
TSS2_RC Esys_SequenceUpdate_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SequenceUpdate.c:236
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:143
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:66
TSS2_RC Esys_SetAlgorithmSet_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetAlgorithmSet.c:243
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:152
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:69
TSS2_RC Esys_SetCommandCodeAuditStatus_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetCommandCodeAuditStatus.c:257
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:65
TSS2_RC Esys_SetPrimaryPolicy_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_SetPrimaryPolicy.c:244
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:142
TSS2_RC Esys_Shutdown_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Shutdown.c:218
TSS2_RC Esys_Shutdown(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_SU shutdownType)
Definition: Esys_Shutdown.c:61
TSS2_RC Esys_Shutdown_Async(ESYS_CONTEXT *esysContext, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_SU shutdownType)
Definition: Esys_Shutdown.c:132
TSS2_RC Esys_Sign_Finish(ESYS_CONTEXT *esysContext, TPMT_SIGNATURE **signature)
Definition: Esys_Sign.c:251
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:67
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:146
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:177
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:96
TSS2_RC Esys_Startup_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_Startup.c:161
TSS2_RC Esys_Startup(ESYS_CONTEXT *esysContext, TPM2_SU startupType)
Definition: Esys_Startup.c:48
TSS2_RC Esys_Startup_Async(ESYS_CONTEXT *esysContext, TPM2_SU startupType)
Definition: Esys_Startup.c:102
TSS2_RC Esys_StirRandom_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_StirRandom.c:212
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:126
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:58
TSS2_RC Esys_TestParms_Finish(ESYS_CONTEXT *esysContext)
Definition: Esys_TestParms.c:220
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:61
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:134
TSS2_RC Esys_Unseal_Async(ESYS_CONTEXT *esysContext, ESYS_TR itemHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
Definition: Esys_Unseal.c:135
TSS2_RC Esys_Unseal_Finish(ESYS_CONTEXT *esysContext, TPM2B_SENSITIVE_DATA **outData)
Definition: Esys_Unseal.c:235
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:63
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:57
TSS2_RC Esys_Vendor_TCG_Test_Finish(ESYS_CONTEXT *esysContext, TPM2B_DATA **outputData)
Definition: Esys_Vendor_TCG_Test.c:211
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:123
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:143
TSS2_RC Esys_VerifySignature_Finish(ESYS_CONTEXT *esysContext, TPMT_TK_VERIFIED **validation)
Definition: Esys_VerifySignature.c:242
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:66
TSS2_RC Esys_ZGen_2Phase_Finish(ESYS_CONTEXT *esysContext, TPM2B_ECC_POINT **outZ1, TPM2B_ECC_POINT **outZ2)
Definition: Esys_ZGen_2Phase.c:257
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:68
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:146
Definition: esys_int.h:161
Definition: tss2_esys.h:408
Definition: esys_crypto_mbed.c:34