1*758e9fbaSOystein Eftevaag /* SPDX-License-Identifier: BSD-2-Clause */ 2*758e9fbaSOystein Eftevaag /******************************************************************************* 3*758e9fbaSOystein Eftevaag * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG 4*758e9fbaSOystein Eftevaag * All rights reserved. 5*758e9fbaSOystein Eftevaag *******************************************************************************/ 6*758e9fbaSOystein Eftevaag #ifndef TSS2_ESYS_H 7*758e9fbaSOystein Eftevaag #define TSS2_ESYS_H 8*758e9fbaSOystein Eftevaag 9*758e9fbaSOystein Eftevaag #include "tss2_tcti.h" 10*758e9fbaSOystein Eftevaag #include "tss2_sys.h" 11*758e9fbaSOystein Eftevaag 12*758e9fbaSOystein Eftevaag #ifdef __cplusplus 13*758e9fbaSOystein Eftevaag extern "C" { 14*758e9fbaSOystein Eftevaag #endif 15*758e9fbaSOystein Eftevaag 16*758e9fbaSOystein Eftevaag typedef uint32_t ESYS_TR; 17*758e9fbaSOystein Eftevaag 18*758e9fbaSOystein Eftevaag #define ESYS_TR_NONE 0xfffU 19*758e9fbaSOystein Eftevaag #define ESYS_TR_PASSWORD 0x0ffU 20*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR0 0U 21*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR1 1U 22*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR2 2U 23*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR3 3U 24*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR4 4U 25*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR5 5U 26*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR6 6U 27*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR7 7U 28*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR8 8U 29*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR9 9U 30*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR10 10U 31*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR11 11U 32*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR12 12U 33*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR13 13U 34*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR14 14U 35*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR15 15U 36*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR16 16U 37*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR17 17U 38*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR18 18U 39*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR19 19U 40*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR20 20U 41*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR21 21U 42*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR22 22U 43*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR23 23U 44*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR24 24U 45*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR25 25U 46*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR26 26U 47*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR27 27U 48*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR28 28U 49*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR29 29U 50*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR30 30U 51*758e9fbaSOystein Eftevaag #define ESYS_TR_PCR31 31U 52*758e9fbaSOystein Eftevaag 53*758e9fbaSOystein Eftevaag /* From TPM_RH_CONSTANTS */ 54*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_OWNER 0x101U 55*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_NULL 0x107U 56*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_LOCKOUT 0x10AU 57*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_ENDORSEMENT 0x10BU 58*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_PLATFORM 0x10CU 59*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_PLATFORM_NV 0x10DU 60*758e9fbaSOystein Eftevaag 61*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_AUTH_FIRST 0x110U 62*758e9fbaSOystein Eftevaag #define ESYS_TR_RH_AUTH(x) (ESYS_TR_RH_AUTH_FIRST + (ESYS_TR)(x)) 63*758e9fbaSOystein Eftevaag 64*758e9fbaSOystein Eftevaag #define ESYS_TR_MIN_OBJECT 0x1000U 65*758e9fbaSOystein Eftevaag 66*758e9fbaSOystein Eftevaag typedef struct ESYS_CONTEXT ESYS_CONTEXT; 67*758e9fbaSOystein Eftevaag 68*758e9fbaSOystein Eftevaag /* 69*758e9fbaSOystein Eftevaag * TPM 2.0 ESAPI Functions 70*758e9fbaSOystein Eftevaag */ 71*758e9fbaSOystein Eftevaag 72*758e9fbaSOystein Eftevaag TSS2_RC 73*758e9fbaSOystein Eftevaag Esys_Initialize( 74*758e9fbaSOystein Eftevaag ESYS_CONTEXT **esys_context, 75*758e9fbaSOystein Eftevaag TSS2_TCTI_CONTEXT *tcti, 76*758e9fbaSOystein Eftevaag TSS2_ABI_VERSION *abiVersion); 77*758e9fbaSOystein Eftevaag 78*758e9fbaSOystein Eftevaag void 79*758e9fbaSOystein Eftevaag Esys_Finalize( 80*758e9fbaSOystein Eftevaag ESYS_CONTEXT **context); 81*758e9fbaSOystein Eftevaag 82*758e9fbaSOystein Eftevaag TSS2_RC 83*758e9fbaSOystein Eftevaag Esys_GetTcti( 84*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 85*758e9fbaSOystein Eftevaag TSS2_TCTI_CONTEXT **tcti); 86*758e9fbaSOystein Eftevaag 87*758e9fbaSOystein Eftevaag TSS2_RC 88*758e9fbaSOystein Eftevaag Esys_GetPollHandles( 89*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 90*758e9fbaSOystein Eftevaag TSS2_TCTI_POLL_HANDLE **handles, 91*758e9fbaSOystein Eftevaag size_t *count); 92*758e9fbaSOystein Eftevaag 93*758e9fbaSOystein Eftevaag TSS2_RC 94*758e9fbaSOystein Eftevaag Esys_SetTimeout( 95*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 96*758e9fbaSOystein Eftevaag int32_t timeout); 97*758e9fbaSOystein Eftevaag 98*758e9fbaSOystein Eftevaag TSS2_RC 99*758e9fbaSOystein Eftevaag Esys_TR_Serialize( 100*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 101*758e9fbaSOystein Eftevaag ESYS_TR object, 102*758e9fbaSOystein Eftevaag uint8_t **buffer, 103*758e9fbaSOystein Eftevaag size_t *buffer_size); 104*758e9fbaSOystein Eftevaag 105*758e9fbaSOystein Eftevaag TSS2_RC 106*758e9fbaSOystein Eftevaag Esys_TR_Deserialize( 107*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 108*758e9fbaSOystein Eftevaag uint8_t const *buffer, 109*758e9fbaSOystein Eftevaag size_t buffer_size, 110*758e9fbaSOystein Eftevaag ESYS_TR *esys_handle); 111*758e9fbaSOystein Eftevaag 112*758e9fbaSOystein Eftevaag TSS2_RC 113*758e9fbaSOystein Eftevaag Esys_TR_FromTPMPublic_Async( 114*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 115*758e9fbaSOystein Eftevaag TPM2_HANDLE tpm_handle, 116*758e9fbaSOystein Eftevaag ESYS_TR optionalSession1, 117*758e9fbaSOystein Eftevaag ESYS_TR optionalSession2, 118*758e9fbaSOystein Eftevaag ESYS_TR optionalSession3); 119*758e9fbaSOystein Eftevaag 120*758e9fbaSOystein Eftevaag TSS2_RC 121*758e9fbaSOystein Eftevaag Esys_TR_FromTPMPublic_Finish( 122*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 123*758e9fbaSOystein Eftevaag ESYS_TR *object); 124*758e9fbaSOystein Eftevaag 125*758e9fbaSOystein Eftevaag TSS2_RC 126*758e9fbaSOystein Eftevaag Esys_TR_FromTPMPublic( 127*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 128*758e9fbaSOystein Eftevaag TPM2_HANDLE tpm_handle, 129*758e9fbaSOystein Eftevaag ESYS_TR optionalSession1, 130*758e9fbaSOystein Eftevaag ESYS_TR optionalSession2, 131*758e9fbaSOystein Eftevaag ESYS_TR optionalSession3, 132*758e9fbaSOystein Eftevaag ESYS_TR *object); 133*758e9fbaSOystein Eftevaag 134*758e9fbaSOystein Eftevaag TSS2_RC 135*758e9fbaSOystein Eftevaag Esys_TR_Close( 136*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 137*758e9fbaSOystein Eftevaag ESYS_TR *rsrc_handle); 138*758e9fbaSOystein Eftevaag 139*758e9fbaSOystein Eftevaag TSS2_RC 140*758e9fbaSOystein Eftevaag Esys_TR_SetAuth( 141*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 142*758e9fbaSOystein Eftevaag ESYS_TR handle, 143*758e9fbaSOystein Eftevaag TPM2B_AUTH const *authValue); 144*758e9fbaSOystein Eftevaag 145*758e9fbaSOystein Eftevaag TSS2_RC 146*758e9fbaSOystein Eftevaag Esys_TR_GetName( 147*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 148*758e9fbaSOystein Eftevaag ESYS_TR handle, 149*758e9fbaSOystein Eftevaag TPM2B_NAME **name); 150*758e9fbaSOystein Eftevaag 151*758e9fbaSOystein Eftevaag TSS2_RC 152*758e9fbaSOystein Eftevaag Esys_TRSess_GetAttributes( 153*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 154*758e9fbaSOystein Eftevaag ESYS_TR session, 155*758e9fbaSOystein Eftevaag TPMA_SESSION *flags); 156*758e9fbaSOystein Eftevaag 157*758e9fbaSOystein Eftevaag TSS2_RC 158*758e9fbaSOystein Eftevaag Esys_TRSess_SetAttributes( 159*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 160*758e9fbaSOystein Eftevaag ESYS_TR session, 161*758e9fbaSOystein Eftevaag TPMA_SESSION flags, 162*758e9fbaSOystein Eftevaag TPMA_SESSION mask); 163*758e9fbaSOystein Eftevaag 164*758e9fbaSOystein Eftevaag TSS2_RC 165*758e9fbaSOystein Eftevaag Esys_TRSess_GetNonceTPM( 166*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 167*758e9fbaSOystein Eftevaag ESYS_TR session, 168*758e9fbaSOystein Eftevaag TPM2B_NONCE **nonceTPM); 169*758e9fbaSOystein Eftevaag 170*758e9fbaSOystein Eftevaag TSS2_RC 171*758e9fbaSOystein Eftevaag Esys_TR_GetTpmHandle( 172*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 173*758e9fbaSOystein Eftevaag ESYS_TR esys_handle, 174*758e9fbaSOystein Eftevaag TPM2_HANDLE *tpm_handle); 175*758e9fbaSOystein Eftevaag 176*758e9fbaSOystein Eftevaag TSS2_RC 177*758e9fbaSOystein Eftevaag Esys_TRSess_GetAuthRequired( 178*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 179*758e9fbaSOystein Eftevaag ESYS_TR esys_handle, 180*758e9fbaSOystein Eftevaag TPMI_YES_NO *auth_needed); 181*758e9fbaSOystein Eftevaag 182*758e9fbaSOystein Eftevaag /* Table 5 - TPM2_Startup Command */ 183*758e9fbaSOystein Eftevaag 184*758e9fbaSOystein Eftevaag TSS2_RC 185*758e9fbaSOystein Eftevaag Esys_Startup( 186*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 187*758e9fbaSOystein Eftevaag TPM2_SU startupType); 188*758e9fbaSOystein Eftevaag 189*758e9fbaSOystein Eftevaag TSS2_RC 190*758e9fbaSOystein Eftevaag Esys_Startup_Async( 191*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 192*758e9fbaSOystein Eftevaag TPM2_SU startupType); 193*758e9fbaSOystein Eftevaag 194*758e9fbaSOystein Eftevaag TSS2_RC 195*758e9fbaSOystein Eftevaag Esys_Startup_Finish( 196*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 197*758e9fbaSOystein Eftevaag 198*758e9fbaSOystein Eftevaag /* Table 7 - TPM2_Shutdown Command */ 199*758e9fbaSOystein Eftevaag 200*758e9fbaSOystein Eftevaag TSS2_RC 201*758e9fbaSOystein Eftevaag Esys_Shutdown( 202*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 203*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 204*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 205*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 206*758e9fbaSOystein Eftevaag TPM2_SU shutdownType); 207*758e9fbaSOystein Eftevaag 208*758e9fbaSOystein Eftevaag TSS2_RC 209*758e9fbaSOystein Eftevaag Esys_Shutdown_Async( 210*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 211*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 212*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 213*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 214*758e9fbaSOystein Eftevaag TPM2_SU shutdownType); 215*758e9fbaSOystein Eftevaag 216*758e9fbaSOystein Eftevaag TSS2_RC 217*758e9fbaSOystein Eftevaag Esys_Shutdown_Finish( 218*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 219*758e9fbaSOystein Eftevaag 220*758e9fbaSOystein Eftevaag /* Table 9 - TPM2_SelfTest Command */ 221*758e9fbaSOystein Eftevaag 222*758e9fbaSOystein Eftevaag TSS2_RC 223*758e9fbaSOystein Eftevaag Esys_SelfTest( 224*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 225*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 226*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 227*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 228*758e9fbaSOystein Eftevaag TPMI_YES_NO fullTest); 229*758e9fbaSOystein Eftevaag 230*758e9fbaSOystein Eftevaag TSS2_RC 231*758e9fbaSOystein Eftevaag Esys_SelfTest_Async( 232*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 233*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 234*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 235*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 236*758e9fbaSOystein Eftevaag TPMI_YES_NO fullTest); 237*758e9fbaSOystein Eftevaag 238*758e9fbaSOystein Eftevaag TSS2_RC 239*758e9fbaSOystein Eftevaag Esys_SelfTest_Finish( 240*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 241*758e9fbaSOystein Eftevaag 242*758e9fbaSOystein Eftevaag /* Table 11 - TPM2_IncrementalSelfTest Command */ 243*758e9fbaSOystein Eftevaag 244*758e9fbaSOystein Eftevaag TSS2_RC 245*758e9fbaSOystein Eftevaag Esys_IncrementalSelfTest( 246*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 247*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 248*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 249*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 250*758e9fbaSOystein Eftevaag const TPML_ALG *toTest, 251*758e9fbaSOystein Eftevaag TPML_ALG **toDoList); 252*758e9fbaSOystein Eftevaag 253*758e9fbaSOystein Eftevaag TSS2_RC 254*758e9fbaSOystein Eftevaag Esys_IncrementalSelfTest_Async( 255*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 256*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 257*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 258*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 259*758e9fbaSOystein Eftevaag const TPML_ALG *toTest); 260*758e9fbaSOystein Eftevaag 261*758e9fbaSOystein Eftevaag TSS2_RC 262*758e9fbaSOystein Eftevaag Esys_IncrementalSelfTest_Finish( 263*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 264*758e9fbaSOystein Eftevaag TPML_ALG **toDoList); 265*758e9fbaSOystein Eftevaag 266*758e9fbaSOystein Eftevaag /* Table 13 - TPM2_GetTestResult Command */ 267*758e9fbaSOystein Eftevaag 268*758e9fbaSOystein Eftevaag TSS2_RC 269*758e9fbaSOystein Eftevaag Esys_GetTestResult( 270*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 271*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 272*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 273*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 274*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 275*758e9fbaSOystein Eftevaag TPM2_RC *testResult); 276*758e9fbaSOystein Eftevaag 277*758e9fbaSOystein Eftevaag TSS2_RC 278*758e9fbaSOystein Eftevaag Esys_GetTestResult_Async( 279*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 280*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 281*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 282*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 283*758e9fbaSOystein Eftevaag 284*758e9fbaSOystein Eftevaag TSS2_RC 285*758e9fbaSOystein Eftevaag Esys_GetTestResult_Finish( 286*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 287*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 288*758e9fbaSOystein Eftevaag TPM2_RC *testResult); 289*758e9fbaSOystein Eftevaag 290*758e9fbaSOystein Eftevaag /* Table 15 - TPM2_StartAuthSession Command */ 291*758e9fbaSOystein Eftevaag 292*758e9fbaSOystein Eftevaag TSS2_RC 293*758e9fbaSOystein Eftevaag Esys_StartAuthSession( 294*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 295*758e9fbaSOystein Eftevaag ESYS_TR tpmKey, 296*758e9fbaSOystein Eftevaag ESYS_TR bind, 297*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 298*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 299*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 300*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceCaller, 301*758e9fbaSOystein Eftevaag TPM2_SE sessionType, 302*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF *symmetric, 303*758e9fbaSOystein Eftevaag TPMI_ALG_HASH authHash, 304*758e9fbaSOystein Eftevaag ESYS_TR *sessionHandle); 305*758e9fbaSOystein Eftevaag 306*758e9fbaSOystein Eftevaag TSS2_RC 307*758e9fbaSOystein Eftevaag Esys_StartAuthSession_Async( 308*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 309*758e9fbaSOystein Eftevaag ESYS_TR tpmKey, 310*758e9fbaSOystein Eftevaag ESYS_TR bind, 311*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 312*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 313*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 314*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceCaller, 315*758e9fbaSOystein Eftevaag TPM2_SE sessionType, 316*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF *symmetric, 317*758e9fbaSOystein Eftevaag TPMI_ALG_HASH authHash); 318*758e9fbaSOystein Eftevaag 319*758e9fbaSOystein Eftevaag TSS2_RC 320*758e9fbaSOystein Eftevaag Esys_StartAuthSession_Finish( 321*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 322*758e9fbaSOystein Eftevaag ESYS_TR *sessionHandle); 323*758e9fbaSOystein Eftevaag 324*758e9fbaSOystein Eftevaag /* Table 17 - TPM2_PolicyRestart Command */ 325*758e9fbaSOystein Eftevaag 326*758e9fbaSOystein Eftevaag TSS2_RC 327*758e9fbaSOystein Eftevaag Esys_PolicyRestart( 328*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 329*758e9fbaSOystein Eftevaag ESYS_TR sessionHandle, 330*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 331*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 332*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 333*758e9fbaSOystein Eftevaag 334*758e9fbaSOystein Eftevaag TSS2_RC 335*758e9fbaSOystein Eftevaag Esys_PolicyRestart_Async( 336*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 337*758e9fbaSOystein Eftevaag ESYS_TR sessionHandle, 338*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 339*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 340*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 341*758e9fbaSOystein Eftevaag 342*758e9fbaSOystein Eftevaag TSS2_RC 343*758e9fbaSOystein Eftevaag Esys_PolicyRestart_Finish( 344*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 345*758e9fbaSOystein Eftevaag 346*758e9fbaSOystein Eftevaag /* Table 19 - TPM2_Create Command */ 347*758e9fbaSOystein Eftevaag 348*758e9fbaSOystein Eftevaag TSS2_RC 349*758e9fbaSOystein Eftevaag Esys_Create( 350*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 351*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 352*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 353*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 354*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 355*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 356*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 357*758e9fbaSOystein Eftevaag const TPM2B_DATA *outsideInfo, 358*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *creationPCR, 359*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate, 360*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 361*758e9fbaSOystein Eftevaag TPM2B_CREATION_DATA **creationData, 362*758e9fbaSOystein Eftevaag TPM2B_DIGEST **creationHash, 363*758e9fbaSOystein Eftevaag TPMT_TK_CREATION **creationTicket); 364*758e9fbaSOystein Eftevaag 365*758e9fbaSOystein Eftevaag TSS2_RC 366*758e9fbaSOystein Eftevaag Esys_Create_Async( 367*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 368*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 369*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 370*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 371*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 372*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 373*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 374*758e9fbaSOystein Eftevaag const TPM2B_DATA *outsideInfo, 375*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *creationPCR); 376*758e9fbaSOystein Eftevaag 377*758e9fbaSOystein Eftevaag TSS2_RC 378*758e9fbaSOystein Eftevaag Esys_Create_Finish( 379*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 380*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate, 381*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 382*758e9fbaSOystein Eftevaag TPM2B_CREATION_DATA **creationData, 383*758e9fbaSOystein Eftevaag TPM2B_DIGEST **creationHash, 384*758e9fbaSOystein Eftevaag TPMT_TK_CREATION **creationTicket); 385*758e9fbaSOystein Eftevaag 386*758e9fbaSOystein Eftevaag /* Table 21 - TPM2_Load Command */ 387*758e9fbaSOystein Eftevaag 388*758e9fbaSOystein Eftevaag TSS2_RC 389*758e9fbaSOystein Eftevaag Esys_Load( 390*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 391*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 392*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 393*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 394*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 395*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *inPrivate, 396*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 397*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle); 398*758e9fbaSOystein Eftevaag 399*758e9fbaSOystein Eftevaag TSS2_RC 400*758e9fbaSOystein Eftevaag Esys_Load_Async( 401*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 402*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 403*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 404*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 405*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 406*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *inPrivate, 407*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic); 408*758e9fbaSOystein Eftevaag 409*758e9fbaSOystein Eftevaag TSS2_RC 410*758e9fbaSOystein Eftevaag Esys_Load_Finish( 411*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 412*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle); 413*758e9fbaSOystein Eftevaag 414*758e9fbaSOystein Eftevaag /* Table 23 - TPM2_LoadExternal Command */ 415*758e9fbaSOystein Eftevaag 416*758e9fbaSOystein Eftevaag TSS2_RC 417*758e9fbaSOystein Eftevaag Esys_LoadExternal( 418*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 419*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 420*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 421*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 422*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE *inPrivate, 423*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 424*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy, 425*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle); 426*758e9fbaSOystein Eftevaag 427*758e9fbaSOystein Eftevaag TSS2_RC 428*758e9fbaSOystein Eftevaag Esys_LoadExternal_Async( 429*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 430*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 431*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 432*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 433*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE *inPrivate, 434*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 435*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy); 436*758e9fbaSOystein Eftevaag 437*758e9fbaSOystein Eftevaag TSS2_RC 438*758e9fbaSOystein Eftevaag Esys_LoadExternal_Finish( 439*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 440*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle); 441*758e9fbaSOystein Eftevaag 442*758e9fbaSOystein Eftevaag /* Table 25 - TPM2_ReadPublic Command */ 443*758e9fbaSOystein Eftevaag 444*758e9fbaSOystein Eftevaag TSS2_RC 445*758e9fbaSOystein Eftevaag Esys_ReadPublic( 446*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 447*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 448*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 449*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 450*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 451*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 452*758e9fbaSOystein Eftevaag TPM2B_NAME **name, 453*758e9fbaSOystein Eftevaag TPM2B_NAME **qualifiedName); 454*758e9fbaSOystein Eftevaag 455*758e9fbaSOystein Eftevaag TSS2_RC 456*758e9fbaSOystein Eftevaag Esys_ReadPublic_Async( 457*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 458*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 459*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 460*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 461*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 462*758e9fbaSOystein Eftevaag 463*758e9fbaSOystein Eftevaag TSS2_RC 464*758e9fbaSOystein Eftevaag Esys_ReadPublic_Finish( 465*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 466*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 467*758e9fbaSOystein Eftevaag TPM2B_NAME **name, 468*758e9fbaSOystein Eftevaag TPM2B_NAME **qualifiedName); 469*758e9fbaSOystein Eftevaag 470*758e9fbaSOystein Eftevaag /* Table 27 - TPM2_ActivateCredential Command */ 471*758e9fbaSOystein Eftevaag 472*758e9fbaSOystein Eftevaag TSS2_RC 473*758e9fbaSOystein Eftevaag Esys_ActivateCredential( 474*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 475*758e9fbaSOystein Eftevaag ESYS_TR activateHandle, 476*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 477*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 478*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 479*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 480*758e9fbaSOystein Eftevaag const TPM2B_ID_OBJECT *credentialBlob, 481*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *secret, 482*758e9fbaSOystein Eftevaag TPM2B_DIGEST **certInfo); 483*758e9fbaSOystein Eftevaag 484*758e9fbaSOystein Eftevaag TSS2_RC 485*758e9fbaSOystein Eftevaag Esys_ActivateCredential_Async( 486*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 487*758e9fbaSOystein Eftevaag ESYS_TR activateHandle, 488*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 489*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 490*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 491*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 492*758e9fbaSOystein Eftevaag const TPM2B_ID_OBJECT *credentialBlob, 493*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *secret); 494*758e9fbaSOystein Eftevaag 495*758e9fbaSOystein Eftevaag TSS2_RC 496*758e9fbaSOystein Eftevaag Esys_ActivateCredential_Finish( 497*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 498*758e9fbaSOystein Eftevaag TPM2B_DIGEST **certInfo); 499*758e9fbaSOystein Eftevaag 500*758e9fbaSOystein Eftevaag /* Table 29 - TPM2_MakeCredential Command */ 501*758e9fbaSOystein Eftevaag 502*758e9fbaSOystein Eftevaag TSS2_RC 503*758e9fbaSOystein Eftevaag Esys_MakeCredential( 504*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 505*758e9fbaSOystein Eftevaag ESYS_TR handle, 506*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 507*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 508*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 509*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *credential, 510*758e9fbaSOystein Eftevaag const TPM2B_NAME *objectName, 511*758e9fbaSOystein Eftevaag TPM2B_ID_OBJECT **credentialBlob, 512*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **secret); 513*758e9fbaSOystein Eftevaag 514*758e9fbaSOystein Eftevaag TSS2_RC 515*758e9fbaSOystein Eftevaag Esys_MakeCredential_Async( 516*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 517*758e9fbaSOystein Eftevaag ESYS_TR handle, 518*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 519*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 520*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 521*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *credential, 522*758e9fbaSOystein Eftevaag const TPM2B_NAME *objectName); 523*758e9fbaSOystein Eftevaag 524*758e9fbaSOystein Eftevaag TSS2_RC 525*758e9fbaSOystein Eftevaag Esys_MakeCredential_Finish( 526*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 527*758e9fbaSOystein Eftevaag TPM2B_ID_OBJECT **credentialBlob, 528*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **secret); 529*758e9fbaSOystein Eftevaag 530*758e9fbaSOystein Eftevaag /* Table 31 - TPM2_Unseal Command */ 531*758e9fbaSOystein Eftevaag 532*758e9fbaSOystein Eftevaag TSS2_RC 533*758e9fbaSOystein Eftevaag Esys_Unseal( 534*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 535*758e9fbaSOystein Eftevaag ESYS_TR itemHandle, 536*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 537*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 538*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 539*758e9fbaSOystein Eftevaag TPM2B_SENSITIVE_DATA **outData); 540*758e9fbaSOystein Eftevaag 541*758e9fbaSOystein Eftevaag TSS2_RC 542*758e9fbaSOystein Eftevaag Esys_Unseal_Async( 543*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 544*758e9fbaSOystein Eftevaag ESYS_TR itemHandle, 545*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 546*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 547*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 548*758e9fbaSOystein Eftevaag 549*758e9fbaSOystein Eftevaag TSS2_RC 550*758e9fbaSOystein Eftevaag Esys_Unseal_Finish( 551*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 552*758e9fbaSOystein Eftevaag TPM2B_SENSITIVE_DATA **outData); 553*758e9fbaSOystein Eftevaag 554*758e9fbaSOystein Eftevaag /* Table 33 - TPM2_ObjectChangeAuth Command */ 555*758e9fbaSOystein Eftevaag 556*758e9fbaSOystein Eftevaag TSS2_RC 557*758e9fbaSOystein Eftevaag Esys_ObjectChangeAuth( 558*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 559*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 560*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 561*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 562*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 563*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 564*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth, 565*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate); 566*758e9fbaSOystein Eftevaag 567*758e9fbaSOystein Eftevaag TSS2_RC 568*758e9fbaSOystein Eftevaag Esys_ObjectChangeAuth_Async( 569*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 570*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 571*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 572*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 573*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 574*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 575*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth); 576*758e9fbaSOystein Eftevaag 577*758e9fbaSOystein Eftevaag TSS2_RC 578*758e9fbaSOystein Eftevaag Esys_ObjectChangeAuth_Finish( 579*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 580*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate); 581*758e9fbaSOystein Eftevaag 582*758e9fbaSOystein Eftevaag /* Table 35 - TPM2_CreateLoaded Command */ 583*758e9fbaSOystein Eftevaag 584*758e9fbaSOystein Eftevaag TSS2_RC 585*758e9fbaSOystein Eftevaag Esys_CreateLoaded( 586*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 587*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 588*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 589*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 590*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 591*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 592*758e9fbaSOystein Eftevaag const TPM2B_TEMPLATE *inPublic, 593*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle, 594*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate, 595*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic); 596*758e9fbaSOystein Eftevaag 597*758e9fbaSOystein Eftevaag TSS2_RC 598*758e9fbaSOystein Eftevaag Esys_CreateLoaded_Async( 599*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 600*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 601*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 602*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 603*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 604*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 605*758e9fbaSOystein Eftevaag const TPM2B_TEMPLATE *inPublic); 606*758e9fbaSOystein Eftevaag 607*758e9fbaSOystein Eftevaag TSS2_RC 608*758e9fbaSOystein Eftevaag Esys_CreateLoaded_Finish( 609*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 610*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle, 611*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate, 612*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic); 613*758e9fbaSOystein Eftevaag 614*758e9fbaSOystein Eftevaag /* Table 37 - TPM2_Duplicate Command */ 615*758e9fbaSOystein Eftevaag 616*758e9fbaSOystein Eftevaag TSS2_RC 617*758e9fbaSOystein Eftevaag Esys_Duplicate( 618*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 619*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 620*758e9fbaSOystein Eftevaag ESYS_TR newParentHandle, 621*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 622*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 623*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 624*758e9fbaSOystein Eftevaag const TPM2B_DATA *encryptionKeyIn, 625*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF_OBJECT *symmetricAlg, 626*758e9fbaSOystein Eftevaag TPM2B_DATA **encryptionKeyOut, 627*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **duplicate, 628*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **outSymSeed); 629*758e9fbaSOystein Eftevaag 630*758e9fbaSOystein Eftevaag TSS2_RC 631*758e9fbaSOystein Eftevaag Esys_Duplicate_Async( 632*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 633*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 634*758e9fbaSOystein Eftevaag ESYS_TR newParentHandle, 635*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 636*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 637*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 638*758e9fbaSOystein Eftevaag const TPM2B_DATA *encryptionKeyIn, 639*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF_OBJECT *symmetricAlg); 640*758e9fbaSOystein Eftevaag 641*758e9fbaSOystein Eftevaag TSS2_RC 642*758e9fbaSOystein Eftevaag Esys_Duplicate_Finish( 643*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 644*758e9fbaSOystein Eftevaag TPM2B_DATA **encryptionKeyOut, 645*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **duplicate, 646*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **outSymSeed); 647*758e9fbaSOystein Eftevaag 648*758e9fbaSOystein Eftevaag /* Table 39 - TPM2_Rewrap Command */ 649*758e9fbaSOystein Eftevaag 650*758e9fbaSOystein Eftevaag TSS2_RC 651*758e9fbaSOystein Eftevaag Esys_Rewrap( 652*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 653*758e9fbaSOystein Eftevaag ESYS_TR oldParent, 654*758e9fbaSOystein Eftevaag ESYS_TR newParent, 655*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 656*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 657*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 658*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *inDuplicate, 659*758e9fbaSOystein Eftevaag const TPM2B_NAME *name, 660*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *inSymSeed, 661*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outDuplicate, 662*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **outSymSeed); 663*758e9fbaSOystein Eftevaag 664*758e9fbaSOystein Eftevaag TSS2_RC 665*758e9fbaSOystein Eftevaag Esys_Rewrap_Async( 666*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 667*758e9fbaSOystein Eftevaag ESYS_TR oldParent, 668*758e9fbaSOystein Eftevaag ESYS_TR newParent, 669*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 670*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 671*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 672*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *inDuplicate, 673*758e9fbaSOystein Eftevaag const TPM2B_NAME *name, 674*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *inSymSeed); 675*758e9fbaSOystein Eftevaag 676*758e9fbaSOystein Eftevaag TSS2_RC 677*758e9fbaSOystein Eftevaag Esys_Rewrap_Finish( 678*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 679*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outDuplicate, 680*758e9fbaSOystein Eftevaag TPM2B_ENCRYPTED_SECRET **outSymSeed); 681*758e9fbaSOystein Eftevaag 682*758e9fbaSOystein Eftevaag /* Table 41 - TPM2_Import Command */ 683*758e9fbaSOystein Eftevaag 684*758e9fbaSOystein Eftevaag TSS2_RC 685*758e9fbaSOystein Eftevaag Esys_Import( 686*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 687*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 688*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 689*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 690*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 691*758e9fbaSOystein Eftevaag const TPM2B_DATA *encryptionKey, 692*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *objectPublic, 693*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *duplicate, 694*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *inSymSeed, 695*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF_OBJECT *symmetricAlg, 696*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate); 697*758e9fbaSOystein Eftevaag 698*758e9fbaSOystein Eftevaag TSS2_RC 699*758e9fbaSOystein Eftevaag Esys_Import_Async( 700*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 701*758e9fbaSOystein Eftevaag ESYS_TR parentHandle, 702*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 703*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 704*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 705*758e9fbaSOystein Eftevaag const TPM2B_DATA *encryptionKey, 706*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *objectPublic, 707*758e9fbaSOystein Eftevaag const TPM2B_PRIVATE *duplicate, 708*758e9fbaSOystein Eftevaag const TPM2B_ENCRYPTED_SECRET *inSymSeed, 709*758e9fbaSOystein Eftevaag const TPMT_SYM_DEF_OBJECT *symmetricAlg); 710*758e9fbaSOystein Eftevaag 711*758e9fbaSOystein Eftevaag TSS2_RC 712*758e9fbaSOystein Eftevaag Esys_Import_Finish( 713*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 714*758e9fbaSOystein Eftevaag TPM2B_PRIVATE **outPrivate); 715*758e9fbaSOystein Eftevaag 716*758e9fbaSOystein Eftevaag /* Table 45 - TPM2_RSA_Encrypt Command */ 717*758e9fbaSOystein Eftevaag 718*758e9fbaSOystein Eftevaag TSS2_RC 719*758e9fbaSOystein Eftevaag Esys_RSA_Encrypt( 720*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 721*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 722*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 723*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 724*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 725*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC_KEY_RSA *message, 726*758e9fbaSOystein Eftevaag const TPMT_RSA_DECRYPT *inScheme, 727*758e9fbaSOystein Eftevaag const TPM2B_DATA *label, 728*758e9fbaSOystein Eftevaag TPM2B_PUBLIC_KEY_RSA **outData); 729*758e9fbaSOystein Eftevaag 730*758e9fbaSOystein Eftevaag TSS2_RC 731*758e9fbaSOystein Eftevaag Esys_RSA_Encrypt_Async( 732*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 733*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 734*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 735*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 736*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 737*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC_KEY_RSA *message, 738*758e9fbaSOystein Eftevaag const TPMT_RSA_DECRYPT *inScheme, 739*758e9fbaSOystein Eftevaag const TPM2B_DATA *label); 740*758e9fbaSOystein Eftevaag 741*758e9fbaSOystein Eftevaag TSS2_RC 742*758e9fbaSOystein Eftevaag Esys_RSA_Encrypt_Finish( 743*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 744*758e9fbaSOystein Eftevaag TPM2B_PUBLIC_KEY_RSA **outData); 745*758e9fbaSOystein Eftevaag 746*758e9fbaSOystein Eftevaag /* Table 47 - TPM2_RSA_Decrypt Command */ 747*758e9fbaSOystein Eftevaag 748*758e9fbaSOystein Eftevaag TSS2_RC 749*758e9fbaSOystein Eftevaag Esys_RSA_Decrypt( 750*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 751*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 752*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 753*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 754*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 755*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC_KEY_RSA *cipherText, 756*758e9fbaSOystein Eftevaag const TPMT_RSA_DECRYPT *inScheme, 757*758e9fbaSOystein Eftevaag const TPM2B_DATA *label, 758*758e9fbaSOystein Eftevaag TPM2B_PUBLIC_KEY_RSA **message); 759*758e9fbaSOystein Eftevaag 760*758e9fbaSOystein Eftevaag TSS2_RC 761*758e9fbaSOystein Eftevaag Esys_RSA_Decrypt_Async( 762*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 763*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 764*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 765*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 766*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 767*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC_KEY_RSA *cipherText, 768*758e9fbaSOystein Eftevaag const TPMT_RSA_DECRYPT *inScheme, 769*758e9fbaSOystein Eftevaag const TPM2B_DATA *label); 770*758e9fbaSOystein Eftevaag 771*758e9fbaSOystein Eftevaag TSS2_RC 772*758e9fbaSOystein Eftevaag Esys_RSA_Decrypt_Finish( 773*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 774*758e9fbaSOystein Eftevaag TPM2B_PUBLIC_KEY_RSA **message); 775*758e9fbaSOystein Eftevaag 776*758e9fbaSOystein Eftevaag /* Table 49 - TPM2_ECDH_KeyGen Command */ 777*758e9fbaSOystein Eftevaag 778*758e9fbaSOystein Eftevaag TSS2_RC 779*758e9fbaSOystein Eftevaag Esys_ECDH_KeyGen( 780*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 781*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 782*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 783*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 784*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 785*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **zPoint, 786*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **pubPoint); 787*758e9fbaSOystein Eftevaag 788*758e9fbaSOystein Eftevaag TSS2_RC 789*758e9fbaSOystein Eftevaag Esys_ECDH_KeyGen_Async( 790*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 791*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 792*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 793*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 794*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 795*758e9fbaSOystein Eftevaag 796*758e9fbaSOystein Eftevaag TSS2_RC 797*758e9fbaSOystein Eftevaag Esys_ECDH_KeyGen_Finish( 798*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 799*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **zPoint, 800*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **pubPoint); 801*758e9fbaSOystein Eftevaag 802*758e9fbaSOystein Eftevaag /* Table 51 - TPM2_ECDH_ZGen Command */ 803*758e9fbaSOystein Eftevaag 804*758e9fbaSOystein Eftevaag TSS2_RC 805*758e9fbaSOystein Eftevaag Esys_ECDH_ZGen( 806*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 807*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 808*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 809*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 810*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 811*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inPoint, 812*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outPoint); 813*758e9fbaSOystein Eftevaag 814*758e9fbaSOystein Eftevaag TSS2_RC 815*758e9fbaSOystein Eftevaag Esys_ECDH_ZGen_Async( 816*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 817*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 818*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 819*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 820*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 821*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inPoint); 822*758e9fbaSOystein Eftevaag 823*758e9fbaSOystein Eftevaag TSS2_RC 824*758e9fbaSOystein Eftevaag Esys_ECDH_ZGen_Finish( 825*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 826*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outPoint); 827*758e9fbaSOystein Eftevaag 828*758e9fbaSOystein Eftevaag /* Table 53 - TPM2_ECC_Parameters Command */ 829*758e9fbaSOystein Eftevaag 830*758e9fbaSOystein Eftevaag TSS2_RC 831*758e9fbaSOystein Eftevaag Esys_ECC_Parameters( 832*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 833*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 834*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 835*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 836*758e9fbaSOystein Eftevaag TPMI_ECC_CURVE curveID, 837*758e9fbaSOystein Eftevaag TPMS_ALGORITHM_DETAIL_ECC **parameters); 838*758e9fbaSOystein Eftevaag 839*758e9fbaSOystein Eftevaag TSS2_RC 840*758e9fbaSOystein Eftevaag Esys_ECC_Parameters_Async( 841*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 842*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 843*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 844*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 845*758e9fbaSOystein Eftevaag TPMI_ECC_CURVE curveID); 846*758e9fbaSOystein Eftevaag 847*758e9fbaSOystein Eftevaag TSS2_RC 848*758e9fbaSOystein Eftevaag Esys_ECC_Parameters_Finish( 849*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 850*758e9fbaSOystein Eftevaag TPMS_ALGORITHM_DETAIL_ECC **parameters); 851*758e9fbaSOystein Eftevaag 852*758e9fbaSOystein Eftevaag /* Table 55 - TPM2_ZGen_2Phase Command */ 853*758e9fbaSOystein Eftevaag 854*758e9fbaSOystein Eftevaag TSS2_RC 855*758e9fbaSOystein Eftevaag Esys_ZGen_2Phase( 856*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 857*758e9fbaSOystein Eftevaag ESYS_TR keyA, 858*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 859*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 860*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 861*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inQsB, 862*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inQeB, 863*758e9fbaSOystein Eftevaag TPMI_ECC_KEY_EXCHANGE inScheme, 864*758e9fbaSOystein Eftevaag UINT16 counter, 865*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outZ1, 866*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outZ2); 867*758e9fbaSOystein Eftevaag 868*758e9fbaSOystein Eftevaag TSS2_RC 869*758e9fbaSOystein Eftevaag Esys_ZGen_2Phase_Async( 870*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 871*758e9fbaSOystein Eftevaag ESYS_TR keyA, 872*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 873*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 874*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 875*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inQsB, 876*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *inQeB, 877*758e9fbaSOystein Eftevaag TPMI_ECC_KEY_EXCHANGE inScheme, 878*758e9fbaSOystein Eftevaag UINT16 counter); 879*758e9fbaSOystein Eftevaag 880*758e9fbaSOystein Eftevaag TSS2_RC 881*758e9fbaSOystein Eftevaag Esys_ZGen_2Phase_Finish( 882*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 883*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outZ1, 884*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **outZ2); 885*758e9fbaSOystein Eftevaag 886*758e9fbaSOystein Eftevaag /* Table 58 - TPM2_EncryptDecrypt Command */ 887*758e9fbaSOystein Eftevaag 888*758e9fbaSOystein Eftevaag TSS2_RC 889*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt( 890*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 891*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 892*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 893*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 894*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 895*758e9fbaSOystein Eftevaag TPMI_YES_NO decrypt, 896*758e9fbaSOystein Eftevaag TPMI_ALG_SYM_MODE mode, 897*758e9fbaSOystein Eftevaag const TPM2B_IV *ivIn, 898*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *inData, 899*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 900*758e9fbaSOystein Eftevaag TPM2B_IV **ivOut); 901*758e9fbaSOystein Eftevaag 902*758e9fbaSOystein Eftevaag TSS2_RC 903*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt_Async( 904*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 905*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 906*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 907*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 908*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 909*758e9fbaSOystein Eftevaag TPMI_YES_NO decrypt, 910*758e9fbaSOystein Eftevaag TPMI_ALG_SYM_MODE mode, 911*758e9fbaSOystein Eftevaag const TPM2B_IV *ivIn, 912*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *inData); 913*758e9fbaSOystein Eftevaag 914*758e9fbaSOystein Eftevaag TSS2_RC 915*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt_Finish( 916*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 917*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 918*758e9fbaSOystein Eftevaag TPM2B_IV **ivOut); 919*758e9fbaSOystein Eftevaag 920*758e9fbaSOystein Eftevaag /* Table 60 - TPM2_EncryptDecrypt2 Command */ 921*758e9fbaSOystein Eftevaag 922*758e9fbaSOystein Eftevaag TSS2_RC 923*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt2( 924*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 925*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 926*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 927*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 928*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 929*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *inData, 930*758e9fbaSOystein Eftevaag TPMI_YES_NO decrypt, 931*758e9fbaSOystein Eftevaag TPMI_ALG_SYM_MODE mode, 932*758e9fbaSOystein Eftevaag const TPM2B_IV *ivIn, 933*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 934*758e9fbaSOystein Eftevaag TPM2B_IV **ivOut); 935*758e9fbaSOystein Eftevaag 936*758e9fbaSOystein Eftevaag TSS2_RC 937*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt2_Async( 938*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 939*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 940*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 941*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 942*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 943*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *inData, 944*758e9fbaSOystein Eftevaag TPMI_YES_NO decrypt, 945*758e9fbaSOystein Eftevaag TPMI_ALG_SYM_MODE mode, 946*758e9fbaSOystein Eftevaag const TPM2B_IV *ivIn); 947*758e9fbaSOystein Eftevaag 948*758e9fbaSOystein Eftevaag TSS2_RC 949*758e9fbaSOystein Eftevaag Esys_EncryptDecrypt2_Finish( 950*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 951*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **outData, 952*758e9fbaSOystein Eftevaag TPM2B_IV **ivOut); 953*758e9fbaSOystein Eftevaag 954*758e9fbaSOystein Eftevaag /* Table 62 - TPM2_Hash Command */ 955*758e9fbaSOystein Eftevaag 956*758e9fbaSOystein Eftevaag TSS2_RC 957*758e9fbaSOystein Eftevaag Esys_Hash( 958*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 959*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 960*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 961*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 962*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *data, 963*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 964*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy, 965*758e9fbaSOystein Eftevaag TPM2B_DIGEST **outHash, 966*758e9fbaSOystein Eftevaag TPMT_TK_HASHCHECK **validation); 967*758e9fbaSOystein Eftevaag 968*758e9fbaSOystein Eftevaag TSS2_RC 969*758e9fbaSOystein Eftevaag Esys_Hash_Async( 970*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 971*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 972*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 973*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 974*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *data, 975*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 976*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy); 977*758e9fbaSOystein Eftevaag 978*758e9fbaSOystein Eftevaag TSS2_RC 979*758e9fbaSOystein Eftevaag Esys_Hash_Finish( 980*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 981*758e9fbaSOystein Eftevaag TPM2B_DIGEST **outHash, 982*758e9fbaSOystein Eftevaag TPMT_TK_HASHCHECK **validation); 983*758e9fbaSOystein Eftevaag 984*758e9fbaSOystein Eftevaag /* Table 64 - TPM2_HMAC Command */ 985*758e9fbaSOystein Eftevaag 986*758e9fbaSOystein Eftevaag TSS2_RC 987*758e9fbaSOystein Eftevaag Esys_HMAC( 988*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 989*758e9fbaSOystein Eftevaag ESYS_TR handle, 990*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 991*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 992*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 993*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer, 994*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 995*758e9fbaSOystein Eftevaag TPM2B_DIGEST **outHMAC); 996*758e9fbaSOystein Eftevaag 997*758e9fbaSOystein Eftevaag TSS2_RC 998*758e9fbaSOystein Eftevaag Esys_HMAC_Async( 999*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1000*758e9fbaSOystein Eftevaag ESYS_TR handle, 1001*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1002*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1003*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1004*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer, 1005*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg); 1006*758e9fbaSOystein Eftevaag 1007*758e9fbaSOystein Eftevaag TSS2_RC 1008*758e9fbaSOystein Eftevaag Esys_HMAC_Finish( 1009*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1010*758e9fbaSOystein Eftevaag TPM2B_DIGEST **outHMAC); 1011*758e9fbaSOystein Eftevaag 1012*758e9fbaSOystein Eftevaag /* Table 66 - TPM2_GetRandom Command */ 1013*758e9fbaSOystein Eftevaag 1014*758e9fbaSOystein Eftevaag TSS2_RC 1015*758e9fbaSOystein Eftevaag Esys_GetRandom( 1016*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1017*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1018*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1019*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1020*758e9fbaSOystein Eftevaag UINT16 bytesRequested, 1021*758e9fbaSOystein Eftevaag TPM2B_DIGEST **randomBytes); 1022*758e9fbaSOystein Eftevaag 1023*758e9fbaSOystein Eftevaag TSS2_RC 1024*758e9fbaSOystein Eftevaag Esys_GetRandom_Async( 1025*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1026*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1027*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1028*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1029*758e9fbaSOystein Eftevaag UINT16 bytesRequested); 1030*758e9fbaSOystein Eftevaag 1031*758e9fbaSOystein Eftevaag TSS2_RC 1032*758e9fbaSOystein Eftevaag Esys_GetRandom_Finish( 1033*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1034*758e9fbaSOystein Eftevaag TPM2B_DIGEST **randomBytes); 1035*758e9fbaSOystein Eftevaag 1036*758e9fbaSOystein Eftevaag /* Table 68 - TPM2_StirRandom Command */ 1037*758e9fbaSOystein Eftevaag 1038*758e9fbaSOystein Eftevaag TSS2_RC 1039*758e9fbaSOystein Eftevaag Esys_StirRandom( 1040*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1041*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1042*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1043*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1044*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_DATA *inData); 1045*758e9fbaSOystein Eftevaag 1046*758e9fbaSOystein Eftevaag TSS2_RC 1047*758e9fbaSOystein Eftevaag Esys_StirRandom_Async( 1048*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1049*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1050*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1051*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1052*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_DATA *inData); 1053*758e9fbaSOystein Eftevaag 1054*758e9fbaSOystein Eftevaag TSS2_RC 1055*758e9fbaSOystein Eftevaag Esys_StirRandom_Finish( 1056*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1057*758e9fbaSOystein Eftevaag 1058*758e9fbaSOystein Eftevaag /* Table 71 - TPM2_HMAC_Start Command */ 1059*758e9fbaSOystein Eftevaag 1060*758e9fbaSOystein Eftevaag TSS2_RC 1061*758e9fbaSOystein Eftevaag Esys_HMAC_Start( 1062*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1063*758e9fbaSOystein Eftevaag ESYS_TR handle, 1064*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1065*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1066*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1067*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 1068*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 1069*758e9fbaSOystein Eftevaag ESYS_TR *sequenceHandle); 1070*758e9fbaSOystein Eftevaag 1071*758e9fbaSOystein Eftevaag TSS2_RC 1072*758e9fbaSOystein Eftevaag Esys_HMAC_Start_Async( 1073*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1074*758e9fbaSOystein Eftevaag ESYS_TR handle, 1075*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1076*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1077*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1078*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 1079*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg); 1080*758e9fbaSOystein Eftevaag 1081*758e9fbaSOystein Eftevaag TSS2_RC 1082*758e9fbaSOystein Eftevaag Esys_HMAC_Start_Finish( 1083*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1084*758e9fbaSOystein Eftevaag ESYS_TR *sequenceHandle); 1085*758e9fbaSOystein Eftevaag 1086*758e9fbaSOystein Eftevaag /* Table 73 - TPM2_HashSequenceStart Command */ 1087*758e9fbaSOystein Eftevaag 1088*758e9fbaSOystein Eftevaag TSS2_RC 1089*758e9fbaSOystein Eftevaag Esys_HashSequenceStart( 1090*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1091*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1092*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1093*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1094*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 1095*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 1096*758e9fbaSOystein Eftevaag ESYS_TR *sequenceHandle); 1097*758e9fbaSOystein Eftevaag 1098*758e9fbaSOystein Eftevaag TSS2_RC 1099*758e9fbaSOystein Eftevaag Esys_HashSequenceStart_Async( 1100*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1101*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1102*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1103*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1104*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 1105*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg); 1106*758e9fbaSOystein Eftevaag 1107*758e9fbaSOystein Eftevaag TSS2_RC 1108*758e9fbaSOystein Eftevaag Esys_HashSequenceStart_Finish( 1109*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1110*758e9fbaSOystein Eftevaag ESYS_TR *sequenceHandle); 1111*758e9fbaSOystein Eftevaag 1112*758e9fbaSOystein Eftevaag /* Table 75 - TPM2_SequenceUpdate Command */ 1113*758e9fbaSOystein Eftevaag 1114*758e9fbaSOystein Eftevaag TSS2_RC 1115*758e9fbaSOystein Eftevaag Esys_SequenceUpdate( 1116*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1117*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1118*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1119*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1120*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1121*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer); 1122*758e9fbaSOystein Eftevaag 1123*758e9fbaSOystein Eftevaag TSS2_RC 1124*758e9fbaSOystein Eftevaag Esys_SequenceUpdate_Async( 1125*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1126*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1127*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1128*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1129*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1130*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer); 1131*758e9fbaSOystein Eftevaag 1132*758e9fbaSOystein Eftevaag TSS2_RC 1133*758e9fbaSOystein Eftevaag Esys_SequenceUpdate_Finish( 1134*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1135*758e9fbaSOystein Eftevaag 1136*758e9fbaSOystein Eftevaag /* Table 77 - TPM2_SequenceComplete Command */ 1137*758e9fbaSOystein Eftevaag 1138*758e9fbaSOystein Eftevaag TSS2_RC 1139*758e9fbaSOystein Eftevaag Esys_SequenceComplete( 1140*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1141*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1142*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1143*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1144*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1145*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer, 1146*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy, 1147*758e9fbaSOystein Eftevaag TPM2B_DIGEST **result, 1148*758e9fbaSOystein Eftevaag TPMT_TK_HASHCHECK **validation); 1149*758e9fbaSOystein Eftevaag 1150*758e9fbaSOystein Eftevaag TSS2_RC 1151*758e9fbaSOystein Eftevaag Esys_SequenceComplete_Async( 1152*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1153*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1154*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1155*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1156*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1157*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer, 1158*758e9fbaSOystein Eftevaag TPMI_RH_HIERARCHY hierarchy); 1159*758e9fbaSOystein Eftevaag 1160*758e9fbaSOystein Eftevaag TSS2_RC 1161*758e9fbaSOystein Eftevaag Esys_SequenceComplete_Finish( 1162*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1163*758e9fbaSOystein Eftevaag TPM2B_DIGEST **result, 1164*758e9fbaSOystein Eftevaag TPMT_TK_HASHCHECK **validation); 1165*758e9fbaSOystein Eftevaag 1166*758e9fbaSOystein Eftevaag /* Table 79 - TPM2_EventSequenceComplete Command */ 1167*758e9fbaSOystein Eftevaag 1168*758e9fbaSOystein Eftevaag TSS2_RC 1169*758e9fbaSOystein Eftevaag Esys_EventSequenceComplete( 1170*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1171*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1172*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1173*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1174*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1175*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1176*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer, 1177*758e9fbaSOystein Eftevaag TPML_DIGEST_VALUES **results); 1178*758e9fbaSOystein Eftevaag 1179*758e9fbaSOystein Eftevaag TSS2_RC 1180*758e9fbaSOystein Eftevaag Esys_EventSequenceComplete_Async( 1181*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1182*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1183*758e9fbaSOystein Eftevaag ESYS_TR sequenceHandle, 1184*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1185*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1186*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1187*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *buffer); 1188*758e9fbaSOystein Eftevaag 1189*758e9fbaSOystein Eftevaag TSS2_RC 1190*758e9fbaSOystein Eftevaag Esys_EventSequenceComplete_Finish( 1191*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1192*758e9fbaSOystein Eftevaag TPML_DIGEST_VALUES **results); 1193*758e9fbaSOystein Eftevaag 1194*758e9fbaSOystein Eftevaag /* Table 81 - TPM2_Certify Command */ 1195*758e9fbaSOystein Eftevaag 1196*758e9fbaSOystein Eftevaag TSS2_RC 1197*758e9fbaSOystein Eftevaag Esys_Certify( 1198*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1199*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 1200*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1201*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1202*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1203*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1204*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1205*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1206*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 1207*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1208*758e9fbaSOystein Eftevaag 1209*758e9fbaSOystein Eftevaag TSS2_RC 1210*758e9fbaSOystein Eftevaag Esys_Certify_Async( 1211*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1212*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 1213*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1214*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1215*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1216*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1217*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1218*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme); 1219*758e9fbaSOystein Eftevaag 1220*758e9fbaSOystein Eftevaag TSS2_RC 1221*758e9fbaSOystein Eftevaag Esys_Certify_Finish( 1222*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1223*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 1224*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1225*758e9fbaSOystein Eftevaag 1226*758e9fbaSOystein Eftevaag /* Table 83 - TPM2_CertifyCreation Command */ 1227*758e9fbaSOystein Eftevaag 1228*758e9fbaSOystein Eftevaag TSS2_RC 1229*758e9fbaSOystein Eftevaag Esys_CertifyCreation( 1230*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1231*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1232*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 1233*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1234*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1235*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1236*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1237*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *creationHash, 1238*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1239*758e9fbaSOystein Eftevaag const TPMT_TK_CREATION *creationTicket, 1240*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 1241*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1242*758e9fbaSOystein Eftevaag 1243*758e9fbaSOystein Eftevaag TSS2_RC 1244*758e9fbaSOystein Eftevaag Esys_CertifyCreation_Async( 1245*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1246*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1247*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 1248*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1249*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1250*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1251*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1252*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *creationHash, 1253*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1254*758e9fbaSOystein Eftevaag const TPMT_TK_CREATION *creationTicket); 1255*758e9fbaSOystein Eftevaag 1256*758e9fbaSOystein Eftevaag TSS2_RC 1257*758e9fbaSOystein Eftevaag Esys_CertifyCreation_Finish( 1258*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1259*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 1260*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1261*758e9fbaSOystein Eftevaag 1262*758e9fbaSOystein Eftevaag /* Table 85 - TPM2_Quote Command */ 1263*758e9fbaSOystein Eftevaag 1264*758e9fbaSOystein Eftevaag TSS2_RC 1265*758e9fbaSOystein Eftevaag Esys_Quote( 1266*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1267*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1268*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1269*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1270*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1271*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1272*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1273*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *PCRselect, 1274*758e9fbaSOystein Eftevaag TPM2B_ATTEST **quoted, 1275*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1276*758e9fbaSOystein Eftevaag 1277*758e9fbaSOystein Eftevaag TSS2_RC 1278*758e9fbaSOystein Eftevaag Esys_Quote_Async( 1279*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1280*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1281*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1282*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1283*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1284*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1285*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1286*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *PCRselect); 1287*758e9fbaSOystein Eftevaag 1288*758e9fbaSOystein Eftevaag TSS2_RC 1289*758e9fbaSOystein Eftevaag Esys_Quote_Finish( 1290*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1291*758e9fbaSOystein Eftevaag TPM2B_ATTEST **quoted, 1292*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1293*758e9fbaSOystein Eftevaag 1294*758e9fbaSOystein Eftevaag /* Table 87 - TPM2_GetSessionAuditDigest Command */ 1295*758e9fbaSOystein Eftevaag 1296*758e9fbaSOystein Eftevaag TSS2_RC 1297*758e9fbaSOystein Eftevaag Esys_GetSessionAuditDigest( 1298*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1299*758e9fbaSOystein Eftevaag ESYS_TR privacyAdminHandle, 1300*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1301*758e9fbaSOystein Eftevaag ESYS_TR sessionHandle, 1302*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1303*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1304*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1305*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1306*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1307*758e9fbaSOystein Eftevaag TPM2B_ATTEST **auditInfo, 1308*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1309*758e9fbaSOystein Eftevaag 1310*758e9fbaSOystein Eftevaag TSS2_RC 1311*758e9fbaSOystein Eftevaag Esys_GetSessionAuditDigest_Async( 1312*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1313*758e9fbaSOystein Eftevaag ESYS_TR privacyAdminHandle, 1314*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1315*758e9fbaSOystein Eftevaag ESYS_TR sessionHandle, 1316*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1317*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1318*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1319*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1320*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme); 1321*758e9fbaSOystein Eftevaag 1322*758e9fbaSOystein Eftevaag TSS2_RC 1323*758e9fbaSOystein Eftevaag Esys_GetSessionAuditDigest_Finish( 1324*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1325*758e9fbaSOystein Eftevaag TPM2B_ATTEST **auditInfo, 1326*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1327*758e9fbaSOystein Eftevaag 1328*758e9fbaSOystein Eftevaag /* Table 89 - TPM2_GetCommandAuditDigest Command */ 1329*758e9fbaSOystein Eftevaag 1330*758e9fbaSOystein Eftevaag TSS2_RC 1331*758e9fbaSOystein Eftevaag Esys_GetCommandAuditDigest( 1332*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1333*758e9fbaSOystein Eftevaag ESYS_TR privacyHandle, 1334*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1335*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1336*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1337*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1338*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1339*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1340*758e9fbaSOystein Eftevaag TPM2B_ATTEST **auditInfo, 1341*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1342*758e9fbaSOystein Eftevaag 1343*758e9fbaSOystein Eftevaag TSS2_RC 1344*758e9fbaSOystein Eftevaag Esys_GetCommandAuditDigest_Async( 1345*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1346*758e9fbaSOystein Eftevaag ESYS_TR privacyHandle, 1347*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1348*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1349*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1350*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1351*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1352*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme); 1353*758e9fbaSOystein Eftevaag 1354*758e9fbaSOystein Eftevaag TSS2_RC 1355*758e9fbaSOystein Eftevaag Esys_GetCommandAuditDigest_Finish( 1356*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1357*758e9fbaSOystein Eftevaag TPM2B_ATTEST **auditInfo, 1358*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1359*758e9fbaSOystein Eftevaag 1360*758e9fbaSOystein Eftevaag /* Table 91 - TPM2_GetTime Command */ 1361*758e9fbaSOystein Eftevaag 1362*758e9fbaSOystein Eftevaag TSS2_RC 1363*758e9fbaSOystein Eftevaag Esys_GetTime( 1364*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1365*758e9fbaSOystein Eftevaag ESYS_TR privacyAdminHandle, 1366*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1367*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1368*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1369*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1370*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1371*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1372*758e9fbaSOystein Eftevaag TPM2B_ATTEST **timeInfo, 1373*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1374*758e9fbaSOystein Eftevaag 1375*758e9fbaSOystein Eftevaag TSS2_RC 1376*758e9fbaSOystein Eftevaag Esys_GetTime_Async( 1377*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1378*758e9fbaSOystein Eftevaag ESYS_TR privacyAdminHandle, 1379*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1380*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1381*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1382*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1383*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 1384*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme); 1385*758e9fbaSOystein Eftevaag 1386*758e9fbaSOystein Eftevaag TSS2_RC 1387*758e9fbaSOystein Eftevaag Esys_GetTime_Finish( 1388*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1389*758e9fbaSOystein Eftevaag TPM2B_ATTEST **timeInfo, 1390*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1391*758e9fbaSOystein Eftevaag 1392*758e9fbaSOystein Eftevaag /* Table 93 - TPM2_Commit Command */ 1393*758e9fbaSOystein Eftevaag 1394*758e9fbaSOystein Eftevaag TSS2_RC 1395*758e9fbaSOystein Eftevaag Esys_Commit( 1396*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1397*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1398*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1399*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1400*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1401*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *P1, 1402*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_DATA *s2, 1403*758e9fbaSOystein Eftevaag const TPM2B_ECC_PARAMETER *y2, 1404*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **K, 1405*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **L, 1406*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **E, 1407*758e9fbaSOystein Eftevaag UINT16 *counter); 1408*758e9fbaSOystein Eftevaag 1409*758e9fbaSOystein Eftevaag TSS2_RC 1410*758e9fbaSOystein Eftevaag Esys_Commit_Async( 1411*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1412*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 1413*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1414*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1415*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1416*758e9fbaSOystein Eftevaag const TPM2B_ECC_POINT *P1, 1417*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_DATA *s2, 1418*758e9fbaSOystein Eftevaag const TPM2B_ECC_PARAMETER *y2); 1419*758e9fbaSOystein Eftevaag 1420*758e9fbaSOystein Eftevaag TSS2_RC 1421*758e9fbaSOystein Eftevaag Esys_Commit_Finish( 1422*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1423*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **K, 1424*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **L, 1425*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **E, 1426*758e9fbaSOystein Eftevaag UINT16 *counter); 1427*758e9fbaSOystein Eftevaag 1428*758e9fbaSOystein Eftevaag /* Table 95 - TPM2_EC_Ephemeral Command */ 1429*758e9fbaSOystein Eftevaag 1430*758e9fbaSOystein Eftevaag TSS2_RC 1431*758e9fbaSOystein Eftevaag Esys_EC_Ephemeral( 1432*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1433*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1434*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1435*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1436*758e9fbaSOystein Eftevaag TPMI_ECC_CURVE curveID, 1437*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **Q, 1438*758e9fbaSOystein Eftevaag UINT16 *counter); 1439*758e9fbaSOystein Eftevaag 1440*758e9fbaSOystein Eftevaag TSS2_RC 1441*758e9fbaSOystein Eftevaag Esys_EC_Ephemeral_Async( 1442*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1443*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1444*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1445*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1446*758e9fbaSOystein Eftevaag TPMI_ECC_CURVE curveID); 1447*758e9fbaSOystein Eftevaag 1448*758e9fbaSOystein Eftevaag TSS2_RC 1449*758e9fbaSOystein Eftevaag Esys_EC_Ephemeral_Finish( 1450*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1451*758e9fbaSOystein Eftevaag TPM2B_ECC_POINT **Q, 1452*758e9fbaSOystein Eftevaag UINT16 *counter); 1453*758e9fbaSOystein Eftevaag 1454*758e9fbaSOystein Eftevaag /* Table 97 - TPM2_VerifySignature Command */ 1455*758e9fbaSOystein Eftevaag 1456*758e9fbaSOystein Eftevaag TSS2_RC 1457*758e9fbaSOystein Eftevaag Esys_VerifySignature( 1458*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1459*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 1460*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1461*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1462*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1463*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *digest, 1464*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *signature, 1465*758e9fbaSOystein Eftevaag TPMT_TK_VERIFIED **validation); 1466*758e9fbaSOystein Eftevaag 1467*758e9fbaSOystein Eftevaag TSS2_RC 1468*758e9fbaSOystein Eftevaag Esys_VerifySignature_Async( 1469*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1470*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 1471*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1472*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1473*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1474*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *digest, 1475*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *signature); 1476*758e9fbaSOystein Eftevaag 1477*758e9fbaSOystein Eftevaag TSS2_RC 1478*758e9fbaSOystein Eftevaag Esys_VerifySignature_Finish( 1479*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1480*758e9fbaSOystein Eftevaag TPMT_TK_VERIFIED **validation); 1481*758e9fbaSOystein Eftevaag 1482*758e9fbaSOystein Eftevaag /* Table 99 - TPM2_Sign Command */ 1483*758e9fbaSOystein Eftevaag 1484*758e9fbaSOystein Eftevaag TSS2_RC 1485*758e9fbaSOystein Eftevaag Esys_Sign( 1486*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1487*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 1488*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1489*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1490*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1491*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *digest, 1492*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1493*758e9fbaSOystein Eftevaag const TPMT_TK_HASHCHECK *validation, 1494*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1495*758e9fbaSOystein Eftevaag 1496*758e9fbaSOystein Eftevaag TSS2_RC 1497*758e9fbaSOystein Eftevaag Esys_Sign_Async( 1498*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1499*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 1500*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1501*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1502*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1503*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *digest, 1504*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 1505*758e9fbaSOystein Eftevaag const TPMT_TK_HASHCHECK *validation); 1506*758e9fbaSOystein Eftevaag 1507*758e9fbaSOystein Eftevaag TSS2_RC 1508*758e9fbaSOystein Eftevaag Esys_Sign_Finish( 1509*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1510*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 1511*758e9fbaSOystein Eftevaag 1512*758e9fbaSOystein Eftevaag /* Table 101 - TPM2_SetCommandCodeAuditStatus Command */ 1513*758e9fbaSOystein Eftevaag 1514*758e9fbaSOystein Eftevaag TSS2_RC 1515*758e9fbaSOystein Eftevaag Esys_SetCommandCodeAuditStatus( 1516*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1517*758e9fbaSOystein Eftevaag ESYS_TR auth, 1518*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1519*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1520*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1521*758e9fbaSOystein Eftevaag TPMI_ALG_HASH auditAlg, 1522*758e9fbaSOystein Eftevaag const TPML_CC *setList, 1523*758e9fbaSOystein Eftevaag const TPML_CC *clearList); 1524*758e9fbaSOystein Eftevaag 1525*758e9fbaSOystein Eftevaag TSS2_RC 1526*758e9fbaSOystein Eftevaag Esys_SetCommandCodeAuditStatus_Async( 1527*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1528*758e9fbaSOystein Eftevaag ESYS_TR auth, 1529*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1530*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1531*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1532*758e9fbaSOystein Eftevaag TPMI_ALG_HASH auditAlg, 1533*758e9fbaSOystein Eftevaag const TPML_CC *setList, 1534*758e9fbaSOystein Eftevaag const TPML_CC *clearList); 1535*758e9fbaSOystein Eftevaag 1536*758e9fbaSOystein Eftevaag TSS2_RC 1537*758e9fbaSOystein Eftevaag Esys_SetCommandCodeAuditStatus_Finish( 1538*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1539*758e9fbaSOystein Eftevaag 1540*758e9fbaSOystein Eftevaag /* Table 103 - TPM2_PCR_Extend Command */ 1541*758e9fbaSOystein Eftevaag 1542*758e9fbaSOystein Eftevaag TSS2_RC 1543*758e9fbaSOystein Eftevaag Esys_PCR_Extend( 1544*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1545*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1546*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1547*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1548*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1549*758e9fbaSOystein Eftevaag const TPML_DIGEST_VALUES *digests); 1550*758e9fbaSOystein Eftevaag 1551*758e9fbaSOystein Eftevaag TSS2_RC 1552*758e9fbaSOystein Eftevaag Esys_PCR_Extend_Async( 1553*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1554*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1555*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1556*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1557*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1558*758e9fbaSOystein Eftevaag const TPML_DIGEST_VALUES *digests); 1559*758e9fbaSOystein Eftevaag 1560*758e9fbaSOystein Eftevaag TSS2_RC 1561*758e9fbaSOystein Eftevaag Esys_PCR_Extend_Finish( 1562*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1563*758e9fbaSOystein Eftevaag 1564*758e9fbaSOystein Eftevaag /* Table 105 - TPM2_PCR_Event Command */ 1565*758e9fbaSOystein Eftevaag 1566*758e9fbaSOystein Eftevaag TSS2_RC 1567*758e9fbaSOystein Eftevaag Esys_PCR_Event( 1568*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1569*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1570*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1571*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1572*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1573*758e9fbaSOystein Eftevaag const TPM2B_EVENT *eventData, 1574*758e9fbaSOystein Eftevaag TPML_DIGEST_VALUES **digests); 1575*758e9fbaSOystein Eftevaag 1576*758e9fbaSOystein Eftevaag TSS2_RC 1577*758e9fbaSOystein Eftevaag Esys_PCR_Event_Async( 1578*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1579*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1580*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1581*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1582*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1583*758e9fbaSOystein Eftevaag const TPM2B_EVENT *eventData); 1584*758e9fbaSOystein Eftevaag 1585*758e9fbaSOystein Eftevaag TSS2_RC 1586*758e9fbaSOystein Eftevaag Esys_PCR_Event_Finish( 1587*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1588*758e9fbaSOystein Eftevaag TPML_DIGEST_VALUES **digests); 1589*758e9fbaSOystein Eftevaag 1590*758e9fbaSOystein Eftevaag /* Table 107 - TPM2_PCR_Read Command */ 1591*758e9fbaSOystein Eftevaag 1592*758e9fbaSOystein Eftevaag TSS2_RC 1593*758e9fbaSOystein Eftevaag Esys_PCR_Read( 1594*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1595*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1596*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1597*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1598*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrSelectionIn, 1599*758e9fbaSOystein Eftevaag UINT32 *pcrUpdateCounter, 1600*758e9fbaSOystein Eftevaag TPML_PCR_SELECTION **pcrSelectionOut, 1601*758e9fbaSOystein Eftevaag TPML_DIGEST **pcrValues); 1602*758e9fbaSOystein Eftevaag 1603*758e9fbaSOystein Eftevaag TSS2_RC 1604*758e9fbaSOystein Eftevaag Esys_PCR_Read_Async( 1605*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1606*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1607*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1608*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1609*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrSelectionIn); 1610*758e9fbaSOystein Eftevaag 1611*758e9fbaSOystein Eftevaag TSS2_RC 1612*758e9fbaSOystein Eftevaag Esys_PCR_Read_Finish( 1613*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1614*758e9fbaSOystein Eftevaag UINT32 *pcrUpdateCounter, 1615*758e9fbaSOystein Eftevaag TPML_PCR_SELECTION **pcrSelectionOut, 1616*758e9fbaSOystein Eftevaag TPML_DIGEST **pcrValues); 1617*758e9fbaSOystein Eftevaag 1618*758e9fbaSOystein Eftevaag /* Table 109 - TPM2_PCR_Allocate Command */ 1619*758e9fbaSOystein Eftevaag 1620*758e9fbaSOystein Eftevaag TSS2_RC 1621*758e9fbaSOystein Eftevaag Esys_PCR_Allocate( 1622*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1623*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1624*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1625*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1626*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1627*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrAllocation, 1628*758e9fbaSOystein Eftevaag TPMI_YES_NO *allocationSuccess, 1629*758e9fbaSOystein Eftevaag UINT32 *maxPCR, 1630*758e9fbaSOystein Eftevaag UINT32 *sizeNeeded, 1631*758e9fbaSOystein Eftevaag UINT32 *sizeAvailable); 1632*758e9fbaSOystein Eftevaag 1633*758e9fbaSOystein Eftevaag TSS2_RC 1634*758e9fbaSOystein Eftevaag Esys_PCR_Allocate_Async( 1635*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1636*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1637*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1638*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1639*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1640*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrAllocation); 1641*758e9fbaSOystein Eftevaag 1642*758e9fbaSOystein Eftevaag TSS2_RC 1643*758e9fbaSOystein Eftevaag Esys_PCR_Allocate_Finish( 1644*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1645*758e9fbaSOystein Eftevaag TPMI_YES_NO *allocationSuccess, 1646*758e9fbaSOystein Eftevaag UINT32 *maxPCR, 1647*758e9fbaSOystein Eftevaag UINT32 *sizeNeeded, 1648*758e9fbaSOystein Eftevaag UINT32 *sizeAvailable); 1649*758e9fbaSOystein Eftevaag 1650*758e9fbaSOystein Eftevaag /* Table 111 - TPM2_PCR_SetAuthPolicy Command */ 1651*758e9fbaSOystein Eftevaag 1652*758e9fbaSOystein Eftevaag TSS2_RC 1653*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthPolicy( 1654*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1655*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1656*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1657*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1658*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1659*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *authPolicy, 1660*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 1661*758e9fbaSOystein Eftevaag TPMI_DH_PCR pcrNum); 1662*758e9fbaSOystein Eftevaag 1663*758e9fbaSOystein Eftevaag TSS2_RC 1664*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthPolicy_Async( 1665*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1666*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1667*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1668*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1669*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1670*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *authPolicy, 1671*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg, 1672*758e9fbaSOystein Eftevaag TPMI_DH_PCR pcrNum); 1673*758e9fbaSOystein Eftevaag 1674*758e9fbaSOystein Eftevaag TSS2_RC 1675*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthPolicy_Finish( 1676*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1677*758e9fbaSOystein Eftevaag 1678*758e9fbaSOystein Eftevaag /* Table 113 - TPM2_PCR_SetAuthValue Command */ 1679*758e9fbaSOystein Eftevaag 1680*758e9fbaSOystein Eftevaag TSS2_RC 1681*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthValue( 1682*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1683*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1684*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1685*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1686*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1687*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *auth); 1688*758e9fbaSOystein Eftevaag 1689*758e9fbaSOystein Eftevaag TSS2_RC 1690*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthValue_Async( 1691*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1692*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1693*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1694*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1695*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1696*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *auth); 1697*758e9fbaSOystein Eftevaag 1698*758e9fbaSOystein Eftevaag TSS2_RC 1699*758e9fbaSOystein Eftevaag Esys_PCR_SetAuthValue_Finish( 1700*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1701*758e9fbaSOystein Eftevaag 1702*758e9fbaSOystein Eftevaag /* Table 115 - TPM2_PCR_Reset Command */ 1703*758e9fbaSOystein Eftevaag 1704*758e9fbaSOystein Eftevaag TSS2_RC 1705*758e9fbaSOystein Eftevaag Esys_PCR_Reset( 1706*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1707*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1708*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1709*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1710*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 1711*758e9fbaSOystein Eftevaag 1712*758e9fbaSOystein Eftevaag TSS2_RC 1713*758e9fbaSOystein Eftevaag Esys_PCR_Reset_Async( 1714*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1715*758e9fbaSOystein Eftevaag ESYS_TR pcrHandle, 1716*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1717*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1718*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 1719*758e9fbaSOystein Eftevaag 1720*758e9fbaSOystein Eftevaag TSS2_RC 1721*758e9fbaSOystein Eftevaag Esys_PCR_Reset_Finish( 1722*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1723*758e9fbaSOystein Eftevaag 1724*758e9fbaSOystein Eftevaag /* Table 117 - TPM2_PolicySigned Command */ 1725*758e9fbaSOystein Eftevaag 1726*758e9fbaSOystein Eftevaag TSS2_RC 1727*758e9fbaSOystein Eftevaag Esys_PolicySigned( 1728*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1729*758e9fbaSOystein Eftevaag ESYS_TR authObject, 1730*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1731*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1732*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1733*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1734*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceTPM, 1735*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1736*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1737*758e9fbaSOystein Eftevaag INT32 expiration, 1738*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *auth, 1739*758e9fbaSOystein Eftevaag TPM2B_TIMEOUT **timeout, 1740*758e9fbaSOystein Eftevaag TPMT_TK_AUTH **policyTicket); 1741*758e9fbaSOystein Eftevaag 1742*758e9fbaSOystein Eftevaag TSS2_RC 1743*758e9fbaSOystein Eftevaag Esys_PolicySigned_Async( 1744*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1745*758e9fbaSOystein Eftevaag ESYS_TR authObject, 1746*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1747*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1748*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1749*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1750*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceTPM, 1751*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1752*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1753*758e9fbaSOystein Eftevaag INT32 expiration, 1754*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *auth); 1755*758e9fbaSOystein Eftevaag 1756*758e9fbaSOystein Eftevaag TSS2_RC 1757*758e9fbaSOystein Eftevaag Esys_PolicySigned_Finish( 1758*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1759*758e9fbaSOystein Eftevaag TPM2B_TIMEOUT **timeout, 1760*758e9fbaSOystein Eftevaag TPMT_TK_AUTH **policyTicket); 1761*758e9fbaSOystein Eftevaag 1762*758e9fbaSOystein Eftevaag /* Table 119 - TPM2_PolicySecret Command */ 1763*758e9fbaSOystein Eftevaag 1764*758e9fbaSOystein Eftevaag TSS2_RC 1765*758e9fbaSOystein Eftevaag Esys_PolicySecret( 1766*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1767*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1768*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1769*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1770*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1771*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1772*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceTPM, 1773*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1774*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1775*758e9fbaSOystein Eftevaag INT32 expiration, 1776*758e9fbaSOystein Eftevaag TPM2B_TIMEOUT **timeout, 1777*758e9fbaSOystein Eftevaag TPMT_TK_AUTH **policyTicket); 1778*758e9fbaSOystein Eftevaag 1779*758e9fbaSOystein Eftevaag TSS2_RC 1780*758e9fbaSOystein Eftevaag Esys_PolicySecret_Async( 1781*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1782*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1783*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1784*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1785*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1786*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1787*758e9fbaSOystein Eftevaag const TPM2B_NONCE *nonceTPM, 1788*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1789*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1790*758e9fbaSOystein Eftevaag INT32 expiration); 1791*758e9fbaSOystein Eftevaag 1792*758e9fbaSOystein Eftevaag TSS2_RC 1793*758e9fbaSOystein Eftevaag Esys_PolicySecret_Finish( 1794*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1795*758e9fbaSOystein Eftevaag TPM2B_TIMEOUT **timeout, 1796*758e9fbaSOystein Eftevaag TPMT_TK_AUTH **policyTicket); 1797*758e9fbaSOystein Eftevaag 1798*758e9fbaSOystein Eftevaag /* Table 121 - TPM2_PolicyTicket Command */ 1799*758e9fbaSOystein Eftevaag 1800*758e9fbaSOystein Eftevaag TSS2_RC 1801*758e9fbaSOystein Eftevaag Esys_PolicyTicket( 1802*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1803*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1804*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1805*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1806*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1807*758e9fbaSOystein Eftevaag const TPM2B_TIMEOUT *timeout, 1808*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1809*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1810*758e9fbaSOystein Eftevaag const TPM2B_NAME *authName, 1811*758e9fbaSOystein Eftevaag const TPMT_TK_AUTH *ticket); 1812*758e9fbaSOystein Eftevaag 1813*758e9fbaSOystein Eftevaag TSS2_RC 1814*758e9fbaSOystein Eftevaag Esys_PolicyTicket_Async( 1815*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1816*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1817*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1818*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1819*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1820*758e9fbaSOystein Eftevaag const TPM2B_TIMEOUT *timeout, 1821*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA, 1822*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 1823*758e9fbaSOystein Eftevaag const TPM2B_NAME *authName, 1824*758e9fbaSOystein Eftevaag const TPMT_TK_AUTH *ticket); 1825*758e9fbaSOystein Eftevaag 1826*758e9fbaSOystein Eftevaag TSS2_RC 1827*758e9fbaSOystein Eftevaag Esys_PolicyTicket_Finish( 1828*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1829*758e9fbaSOystein Eftevaag 1830*758e9fbaSOystein Eftevaag /* Table 123 - TPM2_PolicyOR Command */ 1831*758e9fbaSOystein Eftevaag 1832*758e9fbaSOystein Eftevaag TSS2_RC 1833*758e9fbaSOystein Eftevaag Esys_PolicyOR( 1834*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1835*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1836*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1837*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1838*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1839*758e9fbaSOystein Eftevaag const TPML_DIGEST *pHashList); 1840*758e9fbaSOystein Eftevaag 1841*758e9fbaSOystein Eftevaag TSS2_RC 1842*758e9fbaSOystein Eftevaag Esys_PolicyOR_Async( 1843*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1844*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1845*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1846*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1847*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1848*758e9fbaSOystein Eftevaag const TPML_DIGEST *pHashList); 1849*758e9fbaSOystein Eftevaag 1850*758e9fbaSOystein Eftevaag TSS2_RC 1851*758e9fbaSOystein Eftevaag Esys_PolicyOR_Finish( 1852*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1853*758e9fbaSOystein Eftevaag 1854*758e9fbaSOystein Eftevaag /* Table 125 - TPM2_PolicyPCR Command */ 1855*758e9fbaSOystein Eftevaag 1856*758e9fbaSOystein Eftevaag TSS2_RC 1857*758e9fbaSOystein Eftevaag Esys_PolicyPCR( 1858*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1859*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1860*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1861*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1862*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1863*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *pcrDigest, 1864*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrs); 1865*758e9fbaSOystein Eftevaag 1866*758e9fbaSOystein Eftevaag TSS2_RC 1867*758e9fbaSOystein Eftevaag Esys_PolicyPCR_Async( 1868*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1869*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1870*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1871*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1872*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1873*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *pcrDigest, 1874*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *pcrs); 1875*758e9fbaSOystein Eftevaag 1876*758e9fbaSOystein Eftevaag TSS2_RC 1877*758e9fbaSOystein Eftevaag Esys_PolicyPCR_Finish( 1878*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1879*758e9fbaSOystein Eftevaag 1880*758e9fbaSOystein Eftevaag /* Table 127 - TPM2_PolicyLocality Command */ 1881*758e9fbaSOystein Eftevaag 1882*758e9fbaSOystein Eftevaag TSS2_RC 1883*758e9fbaSOystein Eftevaag Esys_PolicyLocality( 1884*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1885*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1886*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1887*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1888*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1889*758e9fbaSOystein Eftevaag TPMA_LOCALITY locality); 1890*758e9fbaSOystein Eftevaag 1891*758e9fbaSOystein Eftevaag TSS2_RC 1892*758e9fbaSOystein Eftevaag Esys_PolicyLocality_Async( 1893*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1894*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1895*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1896*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1897*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1898*758e9fbaSOystein Eftevaag TPMA_LOCALITY locality); 1899*758e9fbaSOystein Eftevaag 1900*758e9fbaSOystein Eftevaag TSS2_RC 1901*758e9fbaSOystein Eftevaag Esys_PolicyLocality_Finish( 1902*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1903*758e9fbaSOystein Eftevaag 1904*758e9fbaSOystein Eftevaag /* Table 129 - TPM2_PolicyNV Command */ 1905*758e9fbaSOystein Eftevaag 1906*758e9fbaSOystein Eftevaag TSS2_RC 1907*758e9fbaSOystein Eftevaag Esys_PolicyNV( 1908*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1909*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1910*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 1911*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1912*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1913*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1914*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1915*758e9fbaSOystein Eftevaag const TPM2B_OPERAND *operandB, 1916*758e9fbaSOystein Eftevaag UINT16 offset, 1917*758e9fbaSOystein Eftevaag TPM2_EO operation); 1918*758e9fbaSOystein Eftevaag 1919*758e9fbaSOystein Eftevaag TSS2_RC 1920*758e9fbaSOystein Eftevaag Esys_PolicyNV_Async( 1921*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1922*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 1923*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 1924*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1925*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1926*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1927*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1928*758e9fbaSOystein Eftevaag const TPM2B_OPERAND *operandB, 1929*758e9fbaSOystein Eftevaag UINT16 offset, 1930*758e9fbaSOystein Eftevaag TPM2_EO operation); 1931*758e9fbaSOystein Eftevaag 1932*758e9fbaSOystein Eftevaag TSS2_RC 1933*758e9fbaSOystein Eftevaag Esys_PolicyNV_Finish( 1934*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1935*758e9fbaSOystein Eftevaag 1936*758e9fbaSOystein Eftevaag /* Table 131 - TPM2_PolicyCounterTimer Command */ 1937*758e9fbaSOystein Eftevaag 1938*758e9fbaSOystein Eftevaag TSS2_RC 1939*758e9fbaSOystein Eftevaag Esys_PolicyCounterTimer( 1940*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1941*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1942*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1943*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1944*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1945*758e9fbaSOystein Eftevaag const TPM2B_OPERAND *operandB, 1946*758e9fbaSOystein Eftevaag UINT16 offset, 1947*758e9fbaSOystein Eftevaag TPM2_EO operation); 1948*758e9fbaSOystein Eftevaag 1949*758e9fbaSOystein Eftevaag TSS2_RC 1950*758e9fbaSOystein Eftevaag Esys_PolicyCounterTimer_Async( 1951*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1952*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1953*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1954*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1955*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1956*758e9fbaSOystein Eftevaag const TPM2B_OPERAND *operandB, 1957*758e9fbaSOystein Eftevaag UINT16 offset, 1958*758e9fbaSOystein Eftevaag TPM2_EO operation); 1959*758e9fbaSOystein Eftevaag 1960*758e9fbaSOystein Eftevaag TSS2_RC 1961*758e9fbaSOystein Eftevaag Esys_PolicyCounterTimer_Finish( 1962*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1963*758e9fbaSOystein Eftevaag 1964*758e9fbaSOystein Eftevaag /* Table 133 - TPM2_PolicyCommandCode Command */ 1965*758e9fbaSOystein Eftevaag 1966*758e9fbaSOystein Eftevaag TSS2_RC 1967*758e9fbaSOystein Eftevaag Esys_PolicyCommandCode( 1968*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1969*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1970*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1971*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1972*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1973*758e9fbaSOystein Eftevaag TPM2_CC code); 1974*758e9fbaSOystein Eftevaag 1975*758e9fbaSOystein Eftevaag TSS2_RC 1976*758e9fbaSOystein Eftevaag Esys_PolicyCommandCode_Async( 1977*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1978*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1979*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1980*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1981*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 1982*758e9fbaSOystein Eftevaag TPM2_CC code); 1983*758e9fbaSOystein Eftevaag 1984*758e9fbaSOystein Eftevaag TSS2_RC 1985*758e9fbaSOystein Eftevaag Esys_PolicyCommandCode_Finish( 1986*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 1987*758e9fbaSOystein Eftevaag 1988*758e9fbaSOystein Eftevaag /* Table 135 - TPM2_PolicyPhysicalPresence Command */ 1989*758e9fbaSOystein Eftevaag 1990*758e9fbaSOystein Eftevaag TSS2_RC 1991*758e9fbaSOystein Eftevaag Esys_PolicyPhysicalPresence( 1992*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 1993*758e9fbaSOystein Eftevaag ESYS_TR policySession, 1994*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 1995*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 1996*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 1997*758e9fbaSOystein Eftevaag 1998*758e9fbaSOystein Eftevaag TSS2_RC 1999*758e9fbaSOystein Eftevaag Esys_PolicyPhysicalPresence_Async( 2000*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2001*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2002*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2003*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2004*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2005*758e9fbaSOystein Eftevaag 2006*758e9fbaSOystein Eftevaag TSS2_RC 2007*758e9fbaSOystein Eftevaag Esys_PolicyPhysicalPresence_Finish( 2008*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2009*758e9fbaSOystein Eftevaag 2010*758e9fbaSOystein Eftevaag /* Table 137 - TPM2_PolicyCpHash Command */ 2011*758e9fbaSOystein Eftevaag 2012*758e9fbaSOystein Eftevaag TSS2_RC 2013*758e9fbaSOystein Eftevaag Esys_PolicyCpHash( 2014*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2015*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2016*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2017*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2018*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2019*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA); 2020*758e9fbaSOystein Eftevaag 2021*758e9fbaSOystein Eftevaag TSS2_RC 2022*758e9fbaSOystein Eftevaag Esys_PolicyCpHash_Async( 2023*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2024*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2025*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2026*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2027*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2028*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *cpHashA); 2029*758e9fbaSOystein Eftevaag 2030*758e9fbaSOystein Eftevaag TSS2_RC 2031*758e9fbaSOystein Eftevaag Esys_PolicyCpHash_Finish( 2032*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2033*758e9fbaSOystein Eftevaag 2034*758e9fbaSOystein Eftevaag /* Table 139 - TPM2_PolicyNameHash Command */ 2035*758e9fbaSOystein Eftevaag 2036*758e9fbaSOystein Eftevaag TSS2_RC 2037*758e9fbaSOystein Eftevaag Esys_PolicyNameHash( 2038*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2039*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2040*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2041*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2042*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2043*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *nameHash); 2044*758e9fbaSOystein Eftevaag 2045*758e9fbaSOystein Eftevaag TSS2_RC 2046*758e9fbaSOystein Eftevaag Esys_PolicyNameHash_Async( 2047*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2048*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2049*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2050*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2051*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2052*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *nameHash); 2053*758e9fbaSOystein Eftevaag 2054*758e9fbaSOystein Eftevaag TSS2_RC 2055*758e9fbaSOystein Eftevaag Esys_PolicyNameHash_Finish( 2056*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2057*758e9fbaSOystein Eftevaag 2058*758e9fbaSOystein Eftevaag /* Table 141 - TPM2_PolicyDuplicationSelect Command */ 2059*758e9fbaSOystein Eftevaag 2060*758e9fbaSOystein Eftevaag TSS2_RC 2061*758e9fbaSOystein Eftevaag Esys_PolicyDuplicationSelect( 2062*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2063*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2064*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2065*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2066*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2067*758e9fbaSOystein Eftevaag const TPM2B_NAME *objectName, 2068*758e9fbaSOystein Eftevaag const TPM2B_NAME *newParentName, 2069*758e9fbaSOystein Eftevaag TPMI_YES_NO includeObject); 2070*758e9fbaSOystein Eftevaag 2071*758e9fbaSOystein Eftevaag TSS2_RC 2072*758e9fbaSOystein Eftevaag Esys_PolicyDuplicationSelect_Async( 2073*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2074*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2075*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2076*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2077*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2078*758e9fbaSOystein Eftevaag const TPM2B_NAME *objectName, 2079*758e9fbaSOystein Eftevaag const TPM2B_NAME *newParentName, 2080*758e9fbaSOystein Eftevaag TPMI_YES_NO includeObject); 2081*758e9fbaSOystein Eftevaag 2082*758e9fbaSOystein Eftevaag TSS2_RC 2083*758e9fbaSOystein Eftevaag Esys_PolicyDuplicationSelect_Finish( 2084*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2085*758e9fbaSOystein Eftevaag 2086*758e9fbaSOystein Eftevaag /* Table 143 - TPM2_PolicyAuthorize Command */ 2087*758e9fbaSOystein Eftevaag 2088*758e9fbaSOystein Eftevaag TSS2_RC 2089*758e9fbaSOystein Eftevaag Esys_PolicyAuthorize( 2090*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2091*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2092*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2093*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2094*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2095*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *approvedPolicy, 2096*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 2097*758e9fbaSOystein Eftevaag const TPM2B_NAME *keySign, 2098*758e9fbaSOystein Eftevaag const TPMT_TK_VERIFIED *checkTicket); 2099*758e9fbaSOystein Eftevaag 2100*758e9fbaSOystein Eftevaag TSS2_RC 2101*758e9fbaSOystein Eftevaag Esys_PolicyAuthorize_Async( 2102*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2103*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2104*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2105*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2106*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2107*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *approvedPolicy, 2108*758e9fbaSOystein Eftevaag const TPM2B_NONCE *policyRef, 2109*758e9fbaSOystein Eftevaag const TPM2B_NAME *keySign, 2110*758e9fbaSOystein Eftevaag const TPMT_TK_VERIFIED *checkTicket); 2111*758e9fbaSOystein Eftevaag 2112*758e9fbaSOystein Eftevaag TSS2_RC 2113*758e9fbaSOystein Eftevaag Esys_PolicyAuthorize_Finish( 2114*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2115*758e9fbaSOystein Eftevaag 2116*758e9fbaSOystein Eftevaag /* Table 145 - TPM2_PolicyAuthValue Command */ 2117*758e9fbaSOystein Eftevaag 2118*758e9fbaSOystein Eftevaag TSS2_RC 2119*758e9fbaSOystein Eftevaag Esys_PolicyAuthValue( 2120*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2121*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2122*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2123*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2124*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2125*758e9fbaSOystein Eftevaag 2126*758e9fbaSOystein Eftevaag TSS2_RC 2127*758e9fbaSOystein Eftevaag Esys_PolicyAuthValue_Async( 2128*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2129*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2130*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2131*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2132*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2133*758e9fbaSOystein Eftevaag 2134*758e9fbaSOystein Eftevaag TSS2_RC 2135*758e9fbaSOystein Eftevaag Esys_PolicyAuthValue_Finish( 2136*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2137*758e9fbaSOystein Eftevaag 2138*758e9fbaSOystein Eftevaag /* Table 147 - TPM2_PolicyPassword Command */ 2139*758e9fbaSOystein Eftevaag 2140*758e9fbaSOystein Eftevaag TSS2_RC 2141*758e9fbaSOystein Eftevaag Esys_PolicyPassword( 2142*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2143*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2144*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2145*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2146*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2147*758e9fbaSOystein Eftevaag 2148*758e9fbaSOystein Eftevaag TSS2_RC 2149*758e9fbaSOystein Eftevaag Esys_PolicyPassword_Async( 2150*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2151*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2152*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2153*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2154*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2155*758e9fbaSOystein Eftevaag 2156*758e9fbaSOystein Eftevaag TSS2_RC 2157*758e9fbaSOystein Eftevaag Esys_PolicyPassword_Finish( 2158*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2159*758e9fbaSOystein Eftevaag 2160*758e9fbaSOystein Eftevaag /* Table 149 - TPM2_PolicyGetDigest Command */ 2161*758e9fbaSOystein Eftevaag 2162*758e9fbaSOystein Eftevaag TSS2_RC 2163*758e9fbaSOystein Eftevaag Esys_PolicyGetDigest( 2164*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2165*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2166*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2167*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2168*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2169*758e9fbaSOystein Eftevaag TPM2B_DIGEST **policyDigest); 2170*758e9fbaSOystein Eftevaag 2171*758e9fbaSOystein Eftevaag TSS2_RC 2172*758e9fbaSOystein Eftevaag Esys_PolicyGetDigest_Async( 2173*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2174*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2175*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2176*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2177*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2178*758e9fbaSOystein Eftevaag 2179*758e9fbaSOystein Eftevaag TSS2_RC 2180*758e9fbaSOystein Eftevaag Esys_PolicyGetDigest_Finish( 2181*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2182*758e9fbaSOystein Eftevaag TPM2B_DIGEST **policyDigest); 2183*758e9fbaSOystein Eftevaag 2184*758e9fbaSOystein Eftevaag /* Table 151 - TPM2_PolicyNvWritten Command */ 2185*758e9fbaSOystein Eftevaag 2186*758e9fbaSOystein Eftevaag TSS2_RC 2187*758e9fbaSOystein Eftevaag Esys_PolicyNvWritten( 2188*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2189*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2190*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2191*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2192*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2193*758e9fbaSOystein Eftevaag TPMI_YES_NO writtenSet); 2194*758e9fbaSOystein Eftevaag 2195*758e9fbaSOystein Eftevaag TSS2_RC 2196*758e9fbaSOystein Eftevaag Esys_PolicyNvWritten_Async( 2197*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2198*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2199*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2200*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2201*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2202*758e9fbaSOystein Eftevaag TPMI_YES_NO writtenSet); 2203*758e9fbaSOystein Eftevaag 2204*758e9fbaSOystein Eftevaag TSS2_RC 2205*758e9fbaSOystein Eftevaag Esys_PolicyNvWritten_Finish( 2206*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2207*758e9fbaSOystein Eftevaag 2208*758e9fbaSOystein Eftevaag /* Table 153 - TPM2_PolicyTemplate Command */ 2209*758e9fbaSOystein Eftevaag 2210*758e9fbaSOystein Eftevaag TSS2_RC 2211*758e9fbaSOystein Eftevaag Esys_PolicyTemplate( 2212*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2213*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2214*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2215*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2216*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2217*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *templateHash); 2218*758e9fbaSOystein Eftevaag 2219*758e9fbaSOystein Eftevaag TSS2_RC 2220*758e9fbaSOystein Eftevaag Esys_PolicyTemplate_Async( 2221*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2222*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2223*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2224*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2225*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2226*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *templateHash); 2227*758e9fbaSOystein Eftevaag 2228*758e9fbaSOystein Eftevaag TSS2_RC 2229*758e9fbaSOystein Eftevaag Esys_PolicyTemplate_Finish( 2230*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2231*758e9fbaSOystein Eftevaag 2232*758e9fbaSOystein Eftevaag /* Table 155 - TPM2_PolicyAuthorizeNV Command */ 2233*758e9fbaSOystein Eftevaag 2234*758e9fbaSOystein Eftevaag TSS2_RC 2235*758e9fbaSOystein Eftevaag Esys_PolicyAuthorizeNV( 2236*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2237*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2238*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2239*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2240*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2241*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2242*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2243*758e9fbaSOystein Eftevaag 2244*758e9fbaSOystein Eftevaag TSS2_RC 2245*758e9fbaSOystein Eftevaag Esys_PolicyAuthorizeNV_Async( 2246*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2247*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2248*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2249*758e9fbaSOystein Eftevaag ESYS_TR policySession, 2250*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2251*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2252*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2253*758e9fbaSOystein Eftevaag 2254*758e9fbaSOystein Eftevaag TSS2_RC 2255*758e9fbaSOystein Eftevaag Esys_PolicyAuthorizeNV_Finish( 2256*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2257*758e9fbaSOystein Eftevaag 2258*758e9fbaSOystein Eftevaag /* Table 157 - TPM2_CreatePrimary Command */ 2259*758e9fbaSOystein Eftevaag 2260*758e9fbaSOystein Eftevaag TSS2_RC 2261*758e9fbaSOystein Eftevaag Esys_CreatePrimary( 2262*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2263*758e9fbaSOystein Eftevaag ESYS_TR primaryHandle, 2264*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2265*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2266*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2267*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 2268*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 2269*758e9fbaSOystein Eftevaag const TPM2B_DATA *outsideInfo, 2270*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *creationPCR, 2271*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle, 2272*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 2273*758e9fbaSOystein Eftevaag TPM2B_CREATION_DATA **creationData, 2274*758e9fbaSOystein Eftevaag TPM2B_DIGEST **creationHash, 2275*758e9fbaSOystein Eftevaag TPMT_TK_CREATION **creationTicket); 2276*758e9fbaSOystein Eftevaag 2277*758e9fbaSOystein Eftevaag TSS2_RC 2278*758e9fbaSOystein Eftevaag Esys_CreatePrimary_Async( 2279*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2280*758e9fbaSOystein Eftevaag ESYS_TR primaryHandle, 2281*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2282*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2283*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2284*758e9fbaSOystein Eftevaag const TPM2B_SENSITIVE_CREATE *inSensitive, 2285*758e9fbaSOystein Eftevaag const TPM2B_PUBLIC *inPublic, 2286*758e9fbaSOystein Eftevaag const TPM2B_DATA *outsideInfo, 2287*758e9fbaSOystein Eftevaag const TPML_PCR_SELECTION *creationPCR); 2288*758e9fbaSOystein Eftevaag 2289*758e9fbaSOystein Eftevaag TSS2_RC 2290*758e9fbaSOystein Eftevaag Esys_CreatePrimary_Finish( 2291*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2292*758e9fbaSOystein Eftevaag ESYS_TR *objectHandle, 2293*758e9fbaSOystein Eftevaag TPM2B_PUBLIC **outPublic, 2294*758e9fbaSOystein Eftevaag TPM2B_CREATION_DATA **creationData, 2295*758e9fbaSOystein Eftevaag TPM2B_DIGEST **creationHash, 2296*758e9fbaSOystein Eftevaag TPMT_TK_CREATION **creationTicket); 2297*758e9fbaSOystein Eftevaag 2298*758e9fbaSOystein Eftevaag /* Table 159 - TPM2_HierarchyControl Command */ 2299*758e9fbaSOystein Eftevaag 2300*758e9fbaSOystein Eftevaag TSS2_RC 2301*758e9fbaSOystein Eftevaag Esys_HierarchyControl( 2302*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2303*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2304*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2305*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2306*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2307*758e9fbaSOystein Eftevaag TPMI_RH_ENABLES enable, 2308*758e9fbaSOystein Eftevaag TPMI_YES_NO state); 2309*758e9fbaSOystein Eftevaag 2310*758e9fbaSOystein Eftevaag TSS2_RC 2311*758e9fbaSOystein Eftevaag Esys_HierarchyControl_Async( 2312*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2313*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2314*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2315*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2316*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2317*758e9fbaSOystein Eftevaag TPMI_RH_ENABLES enable, 2318*758e9fbaSOystein Eftevaag TPMI_YES_NO state); 2319*758e9fbaSOystein Eftevaag 2320*758e9fbaSOystein Eftevaag TSS2_RC 2321*758e9fbaSOystein Eftevaag Esys_HierarchyControl_Finish( 2322*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2323*758e9fbaSOystein Eftevaag 2324*758e9fbaSOystein Eftevaag /* Table 161 - TPM2_SetPrimaryPolicy Command */ 2325*758e9fbaSOystein Eftevaag 2326*758e9fbaSOystein Eftevaag TSS2_RC 2327*758e9fbaSOystein Eftevaag Esys_SetPrimaryPolicy( 2328*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2329*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2330*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2331*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2332*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2333*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *authPolicy, 2334*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg); 2335*758e9fbaSOystein Eftevaag 2336*758e9fbaSOystein Eftevaag TSS2_RC 2337*758e9fbaSOystein Eftevaag Esys_SetPrimaryPolicy_Async( 2338*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2339*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2340*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2341*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2342*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2343*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *authPolicy, 2344*758e9fbaSOystein Eftevaag TPMI_ALG_HASH hashAlg); 2345*758e9fbaSOystein Eftevaag 2346*758e9fbaSOystein Eftevaag TSS2_RC 2347*758e9fbaSOystein Eftevaag Esys_SetPrimaryPolicy_Finish( 2348*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2349*758e9fbaSOystein Eftevaag 2350*758e9fbaSOystein Eftevaag /* Table 163 - TPM2_ChangePPS Command */ 2351*758e9fbaSOystein Eftevaag 2352*758e9fbaSOystein Eftevaag TSS2_RC 2353*758e9fbaSOystein Eftevaag Esys_ChangePPS( 2354*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2355*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2356*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2357*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2358*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2359*758e9fbaSOystein Eftevaag 2360*758e9fbaSOystein Eftevaag TSS2_RC 2361*758e9fbaSOystein Eftevaag Esys_ChangePPS_Async( 2362*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2363*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2364*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2365*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2366*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2367*758e9fbaSOystein Eftevaag 2368*758e9fbaSOystein Eftevaag TSS2_RC 2369*758e9fbaSOystein Eftevaag Esys_ChangePPS_Finish( 2370*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2371*758e9fbaSOystein Eftevaag 2372*758e9fbaSOystein Eftevaag /* Table 165 - TPM2_ChangeEPS Command */ 2373*758e9fbaSOystein Eftevaag 2374*758e9fbaSOystein Eftevaag TSS2_RC 2375*758e9fbaSOystein Eftevaag Esys_ChangeEPS( 2376*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2377*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2378*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2379*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2380*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2381*758e9fbaSOystein Eftevaag 2382*758e9fbaSOystein Eftevaag TSS2_RC 2383*758e9fbaSOystein Eftevaag Esys_ChangeEPS_Async( 2384*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2385*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2386*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2387*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2388*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2389*758e9fbaSOystein Eftevaag 2390*758e9fbaSOystein Eftevaag TSS2_RC 2391*758e9fbaSOystein Eftevaag Esys_ChangeEPS_Finish( 2392*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2393*758e9fbaSOystein Eftevaag 2394*758e9fbaSOystein Eftevaag /* Table 167 - TPM2_Clear Command */ 2395*758e9fbaSOystein Eftevaag 2396*758e9fbaSOystein Eftevaag TSS2_RC 2397*758e9fbaSOystein Eftevaag Esys_Clear( 2398*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2399*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2400*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2401*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2402*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2403*758e9fbaSOystein Eftevaag 2404*758e9fbaSOystein Eftevaag TSS2_RC 2405*758e9fbaSOystein Eftevaag Esys_Clear_Async( 2406*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2407*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2408*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2409*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2410*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2411*758e9fbaSOystein Eftevaag 2412*758e9fbaSOystein Eftevaag TSS2_RC 2413*758e9fbaSOystein Eftevaag Esys_Clear_Finish( 2414*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2415*758e9fbaSOystein Eftevaag 2416*758e9fbaSOystein Eftevaag /* Table 169 - TPM2_ClearControl Command */ 2417*758e9fbaSOystein Eftevaag 2418*758e9fbaSOystein Eftevaag TSS2_RC 2419*758e9fbaSOystein Eftevaag Esys_ClearControl( 2420*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2421*758e9fbaSOystein Eftevaag ESYS_TR auth, 2422*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2423*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2424*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2425*758e9fbaSOystein Eftevaag TPMI_YES_NO disable); 2426*758e9fbaSOystein Eftevaag 2427*758e9fbaSOystein Eftevaag TSS2_RC 2428*758e9fbaSOystein Eftevaag Esys_ClearControl_Async( 2429*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2430*758e9fbaSOystein Eftevaag ESYS_TR auth, 2431*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2432*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2433*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2434*758e9fbaSOystein Eftevaag TPMI_YES_NO disable); 2435*758e9fbaSOystein Eftevaag 2436*758e9fbaSOystein Eftevaag TSS2_RC 2437*758e9fbaSOystein Eftevaag Esys_ClearControl_Finish( 2438*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2439*758e9fbaSOystein Eftevaag 2440*758e9fbaSOystein Eftevaag /* Table 171 - TPM2_HierarchyChangeAuth Command */ 2441*758e9fbaSOystein Eftevaag 2442*758e9fbaSOystein Eftevaag TSS2_RC 2443*758e9fbaSOystein Eftevaag Esys_HierarchyChangeAuth( 2444*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2445*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2446*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2447*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2448*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2449*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth); 2450*758e9fbaSOystein Eftevaag 2451*758e9fbaSOystein Eftevaag TSS2_RC 2452*758e9fbaSOystein Eftevaag Esys_HierarchyChangeAuth_Async( 2453*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2454*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2455*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2456*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2457*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2458*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth); 2459*758e9fbaSOystein Eftevaag 2460*758e9fbaSOystein Eftevaag TSS2_RC 2461*758e9fbaSOystein Eftevaag Esys_HierarchyChangeAuth_Finish( 2462*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2463*758e9fbaSOystein Eftevaag 2464*758e9fbaSOystein Eftevaag /* Table 173 - TPM2_DictionaryAttackLockReset Command */ 2465*758e9fbaSOystein Eftevaag 2466*758e9fbaSOystein Eftevaag TSS2_RC 2467*758e9fbaSOystein Eftevaag Esys_DictionaryAttackLockReset( 2468*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2469*758e9fbaSOystein Eftevaag ESYS_TR lockHandle, 2470*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2471*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2472*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2473*758e9fbaSOystein Eftevaag 2474*758e9fbaSOystein Eftevaag TSS2_RC 2475*758e9fbaSOystein Eftevaag Esys_DictionaryAttackLockReset_Async( 2476*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2477*758e9fbaSOystein Eftevaag ESYS_TR lockHandle, 2478*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2479*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2480*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2481*758e9fbaSOystein Eftevaag 2482*758e9fbaSOystein Eftevaag TSS2_RC 2483*758e9fbaSOystein Eftevaag Esys_DictionaryAttackLockReset_Finish( 2484*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2485*758e9fbaSOystein Eftevaag 2486*758e9fbaSOystein Eftevaag /* Table 175 - TPM2_DictionaryAttackParameters Command */ 2487*758e9fbaSOystein Eftevaag 2488*758e9fbaSOystein Eftevaag TSS2_RC 2489*758e9fbaSOystein Eftevaag Esys_DictionaryAttackParameters( 2490*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2491*758e9fbaSOystein Eftevaag ESYS_TR lockHandle, 2492*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2493*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2494*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2495*758e9fbaSOystein Eftevaag UINT32 newMaxTries, 2496*758e9fbaSOystein Eftevaag UINT32 newRecoveryTime, 2497*758e9fbaSOystein Eftevaag UINT32 lockoutRecovery); 2498*758e9fbaSOystein Eftevaag 2499*758e9fbaSOystein Eftevaag TSS2_RC 2500*758e9fbaSOystein Eftevaag Esys_DictionaryAttackParameters_Async( 2501*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2502*758e9fbaSOystein Eftevaag ESYS_TR lockHandle, 2503*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2504*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2505*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2506*758e9fbaSOystein Eftevaag UINT32 newMaxTries, 2507*758e9fbaSOystein Eftevaag UINT32 newRecoveryTime, 2508*758e9fbaSOystein Eftevaag UINT32 lockoutRecovery); 2509*758e9fbaSOystein Eftevaag 2510*758e9fbaSOystein Eftevaag TSS2_RC 2511*758e9fbaSOystein Eftevaag Esys_DictionaryAttackParameters_Finish( 2512*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2513*758e9fbaSOystein Eftevaag 2514*758e9fbaSOystein Eftevaag /* Table 177 - TPM2_PP_Commands Command */ 2515*758e9fbaSOystein Eftevaag 2516*758e9fbaSOystein Eftevaag TSS2_RC 2517*758e9fbaSOystein Eftevaag Esys_PP_Commands( 2518*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2519*758e9fbaSOystein Eftevaag ESYS_TR auth, 2520*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2521*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2522*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2523*758e9fbaSOystein Eftevaag const TPML_CC *setList, 2524*758e9fbaSOystein Eftevaag const TPML_CC *clearList); 2525*758e9fbaSOystein Eftevaag 2526*758e9fbaSOystein Eftevaag TSS2_RC 2527*758e9fbaSOystein Eftevaag Esys_PP_Commands_Async( 2528*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2529*758e9fbaSOystein Eftevaag ESYS_TR auth, 2530*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2531*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2532*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2533*758e9fbaSOystein Eftevaag const TPML_CC *setList, 2534*758e9fbaSOystein Eftevaag const TPML_CC *clearList); 2535*758e9fbaSOystein Eftevaag 2536*758e9fbaSOystein Eftevaag TSS2_RC 2537*758e9fbaSOystein Eftevaag Esys_PP_Commands_Finish( 2538*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2539*758e9fbaSOystein Eftevaag 2540*758e9fbaSOystein Eftevaag /* Table 179 - TPM2_SetAlgorithmSet Command */ 2541*758e9fbaSOystein Eftevaag 2542*758e9fbaSOystein Eftevaag TSS2_RC 2543*758e9fbaSOystein Eftevaag Esys_SetAlgorithmSet( 2544*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2545*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2546*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2547*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2548*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2549*758e9fbaSOystein Eftevaag UINT32 algorithmSet); 2550*758e9fbaSOystein Eftevaag 2551*758e9fbaSOystein Eftevaag TSS2_RC 2552*758e9fbaSOystein Eftevaag Esys_SetAlgorithmSet_Async( 2553*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2554*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2555*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2556*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2557*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2558*758e9fbaSOystein Eftevaag UINT32 algorithmSet); 2559*758e9fbaSOystein Eftevaag 2560*758e9fbaSOystein Eftevaag TSS2_RC 2561*758e9fbaSOystein Eftevaag Esys_SetAlgorithmSet_Finish( 2562*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2563*758e9fbaSOystein Eftevaag 2564*758e9fbaSOystein Eftevaag /* Table 181 - TPM2_FieldUpgradeStart Command */ 2565*758e9fbaSOystein Eftevaag 2566*758e9fbaSOystein Eftevaag TSS2_RC 2567*758e9fbaSOystein Eftevaag Esys_FieldUpgradeStart( 2568*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2569*758e9fbaSOystein Eftevaag ESYS_TR authorization, 2570*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 2571*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2572*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2573*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2574*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *fuDigest, 2575*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *manifestSignature); 2576*758e9fbaSOystein Eftevaag 2577*758e9fbaSOystein Eftevaag TSS2_RC 2578*758e9fbaSOystein Eftevaag Esys_FieldUpgradeStart_Async( 2579*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2580*758e9fbaSOystein Eftevaag ESYS_TR authorization, 2581*758e9fbaSOystein Eftevaag ESYS_TR keyHandle, 2582*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2583*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2584*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2585*758e9fbaSOystein Eftevaag const TPM2B_DIGEST *fuDigest, 2586*758e9fbaSOystein Eftevaag const TPMT_SIGNATURE *manifestSignature); 2587*758e9fbaSOystein Eftevaag 2588*758e9fbaSOystein Eftevaag TSS2_RC 2589*758e9fbaSOystein Eftevaag Esys_FieldUpgradeStart_Finish( 2590*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2591*758e9fbaSOystein Eftevaag 2592*758e9fbaSOystein Eftevaag /* Table 183 - TPM2_FieldUpgradeData Command */ 2593*758e9fbaSOystein Eftevaag 2594*758e9fbaSOystein Eftevaag TSS2_RC 2595*758e9fbaSOystein Eftevaag Esys_FieldUpgradeData( 2596*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2597*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2598*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2599*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2600*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *fuData, 2601*758e9fbaSOystein Eftevaag TPMT_HA **nextDigest, 2602*758e9fbaSOystein Eftevaag TPMT_HA **firstDigest); 2603*758e9fbaSOystein Eftevaag 2604*758e9fbaSOystein Eftevaag TSS2_RC 2605*758e9fbaSOystein Eftevaag Esys_FieldUpgradeData_Async( 2606*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2607*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2608*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2609*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2610*758e9fbaSOystein Eftevaag const TPM2B_MAX_BUFFER *fuData); 2611*758e9fbaSOystein Eftevaag 2612*758e9fbaSOystein Eftevaag TSS2_RC 2613*758e9fbaSOystein Eftevaag Esys_FieldUpgradeData_Finish( 2614*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2615*758e9fbaSOystein Eftevaag TPMT_HA **nextDigest, 2616*758e9fbaSOystein Eftevaag TPMT_HA **firstDigest); 2617*758e9fbaSOystein Eftevaag 2618*758e9fbaSOystein Eftevaag /* Table 185 - TPM2_FirmwareRead Command */ 2619*758e9fbaSOystein Eftevaag 2620*758e9fbaSOystein Eftevaag TSS2_RC 2621*758e9fbaSOystein Eftevaag Esys_FirmwareRead( 2622*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2623*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2624*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2625*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2626*758e9fbaSOystein Eftevaag UINT32 sequenceNumber, 2627*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **fuData); 2628*758e9fbaSOystein Eftevaag 2629*758e9fbaSOystein Eftevaag TSS2_RC 2630*758e9fbaSOystein Eftevaag Esys_FirmwareRead_Async( 2631*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2632*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2633*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2634*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2635*758e9fbaSOystein Eftevaag UINT32 sequenceNumber); 2636*758e9fbaSOystein Eftevaag 2637*758e9fbaSOystein Eftevaag TSS2_RC 2638*758e9fbaSOystein Eftevaag Esys_FirmwareRead_Finish( 2639*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2640*758e9fbaSOystein Eftevaag TPM2B_MAX_BUFFER **fuData); 2641*758e9fbaSOystein Eftevaag 2642*758e9fbaSOystein Eftevaag /* Table 187 - TPM2_ContextSave Command */ 2643*758e9fbaSOystein Eftevaag 2644*758e9fbaSOystein Eftevaag TSS2_RC 2645*758e9fbaSOystein Eftevaag Esys_ContextSave( 2646*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2647*758e9fbaSOystein Eftevaag ESYS_TR saveHandle, 2648*758e9fbaSOystein Eftevaag TPMS_CONTEXT **context); 2649*758e9fbaSOystein Eftevaag 2650*758e9fbaSOystein Eftevaag TSS2_RC 2651*758e9fbaSOystein Eftevaag Esys_ContextSave_Async( 2652*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2653*758e9fbaSOystein Eftevaag ESYS_TR saveHandle); 2654*758e9fbaSOystein Eftevaag 2655*758e9fbaSOystein Eftevaag TSS2_RC 2656*758e9fbaSOystein Eftevaag Esys_ContextSave_Finish( 2657*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2658*758e9fbaSOystein Eftevaag TPMS_CONTEXT **context); 2659*758e9fbaSOystein Eftevaag 2660*758e9fbaSOystein Eftevaag /* Table 189 - TPM2_ContextLoad Command */ 2661*758e9fbaSOystein Eftevaag 2662*758e9fbaSOystein Eftevaag TSS2_RC 2663*758e9fbaSOystein Eftevaag Esys_ContextLoad( 2664*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2665*758e9fbaSOystein Eftevaag const TPMS_CONTEXT *context, 2666*758e9fbaSOystein Eftevaag ESYS_TR *loadedHandle); 2667*758e9fbaSOystein Eftevaag 2668*758e9fbaSOystein Eftevaag TSS2_RC 2669*758e9fbaSOystein Eftevaag Esys_ContextLoad_Async( 2670*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2671*758e9fbaSOystein Eftevaag const TPMS_CONTEXT *context); 2672*758e9fbaSOystein Eftevaag 2673*758e9fbaSOystein Eftevaag TSS2_RC 2674*758e9fbaSOystein Eftevaag Esys_ContextLoad_Finish( 2675*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2676*758e9fbaSOystein Eftevaag ESYS_TR *loadedHandle); 2677*758e9fbaSOystein Eftevaag 2678*758e9fbaSOystein Eftevaag /* Table 191 - TPM2_FlushContext Command */ 2679*758e9fbaSOystein Eftevaag 2680*758e9fbaSOystein Eftevaag TSS2_RC 2681*758e9fbaSOystein Eftevaag Esys_FlushContext( 2682*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2683*758e9fbaSOystein Eftevaag ESYS_TR flushHandle); 2684*758e9fbaSOystein Eftevaag 2685*758e9fbaSOystein Eftevaag TSS2_RC 2686*758e9fbaSOystein Eftevaag Esys_FlushContext_Async( 2687*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2688*758e9fbaSOystein Eftevaag ESYS_TR flushHandle); 2689*758e9fbaSOystein Eftevaag 2690*758e9fbaSOystein Eftevaag TSS2_RC 2691*758e9fbaSOystein Eftevaag Esys_FlushContext_Finish( 2692*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2693*758e9fbaSOystein Eftevaag 2694*758e9fbaSOystein Eftevaag /* Table 193 - TPM2_EvictControl Command */ 2695*758e9fbaSOystein Eftevaag 2696*758e9fbaSOystein Eftevaag TSS2_RC 2697*758e9fbaSOystein Eftevaag Esys_EvictControl( 2698*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2699*758e9fbaSOystein Eftevaag ESYS_TR auth, 2700*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 2701*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2702*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2703*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2704*758e9fbaSOystein Eftevaag TPMI_DH_PERSISTENT persistentHandle, 2705*758e9fbaSOystein Eftevaag ESYS_TR *newObjectHandle); 2706*758e9fbaSOystein Eftevaag 2707*758e9fbaSOystein Eftevaag TSS2_RC 2708*758e9fbaSOystein Eftevaag Esys_EvictControl_Async( 2709*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2710*758e9fbaSOystein Eftevaag ESYS_TR auth, 2711*758e9fbaSOystein Eftevaag ESYS_TR objectHandle, 2712*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2713*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2714*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2715*758e9fbaSOystein Eftevaag TPMI_DH_PERSISTENT persistentHandle); 2716*758e9fbaSOystein Eftevaag 2717*758e9fbaSOystein Eftevaag TSS2_RC 2718*758e9fbaSOystein Eftevaag Esys_EvictControl_Finish( 2719*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2720*758e9fbaSOystein Eftevaag ESYS_TR *newObjectHandle); 2721*758e9fbaSOystein Eftevaag 2722*758e9fbaSOystein Eftevaag /* Table 195 - TPM2_ReadClock Command */ 2723*758e9fbaSOystein Eftevaag 2724*758e9fbaSOystein Eftevaag TSS2_RC 2725*758e9fbaSOystein Eftevaag Esys_ReadClock( 2726*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2727*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2728*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2729*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2730*758e9fbaSOystein Eftevaag TPMS_TIME_INFO **currentTime); 2731*758e9fbaSOystein Eftevaag 2732*758e9fbaSOystein Eftevaag TSS2_RC 2733*758e9fbaSOystein Eftevaag Esys_ReadClock_Async( 2734*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2735*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2736*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2737*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2738*758e9fbaSOystein Eftevaag 2739*758e9fbaSOystein Eftevaag TSS2_RC 2740*758e9fbaSOystein Eftevaag Esys_ReadClock_Finish( 2741*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2742*758e9fbaSOystein Eftevaag TPMS_TIME_INFO **currentTime); 2743*758e9fbaSOystein Eftevaag 2744*758e9fbaSOystein Eftevaag /* Table 197 - TPM2_ClockSet Command */ 2745*758e9fbaSOystein Eftevaag 2746*758e9fbaSOystein Eftevaag TSS2_RC 2747*758e9fbaSOystein Eftevaag Esys_ClockSet( 2748*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2749*758e9fbaSOystein Eftevaag ESYS_TR auth, 2750*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2751*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2752*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2753*758e9fbaSOystein Eftevaag UINT64 newTime); 2754*758e9fbaSOystein Eftevaag 2755*758e9fbaSOystein Eftevaag TSS2_RC 2756*758e9fbaSOystein Eftevaag Esys_ClockSet_Async( 2757*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2758*758e9fbaSOystein Eftevaag ESYS_TR auth, 2759*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2760*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2761*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2762*758e9fbaSOystein Eftevaag UINT64 newTime); 2763*758e9fbaSOystein Eftevaag 2764*758e9fbaSOystein Eftevaag TSS2_RC 2765*758e9fbaSOystein Eftevaag Esys_ClockSet_Finish( 2766*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2767*758e9fbaSOystein Eftevaag 2768*758e9fbaSOystein Eftevaag /* Table 199 - TPM2_ClockRateAdjust Command */ 2769*758e9fbaSOystein Eftevaag 2770*758e9fbaSOystein Eftevaag TSS2_RC 2771*758e9fbaSOystein Eftevaag Esys_ClockRateAdjust( 2772*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2773*758e9fbaSOystein Eftevaag ESYS_TR auth, 2774*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2775*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2776*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2777*758e9fbaSOystein Eftevaag TPM2_CLOCK_ADJUST rateAdjust); 2778*758e9fbaSOystein Eftevaag 2779*758e9fbaSOystein Eftevaag TSS2_RC 2780*758e9fbaSOystein Eftevaag Esys_ClockRateAdjust_Async( 2781*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2782*758e9fbaSOystein Eftevaag ESYS_TR auth, 2783*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2784*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2785*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2786*758e9fbaSOystein Eftevaag TPM2_CLOCK_ADJUST rateAdjust); 2787*758e9fbaSOystein Eftevaag 2788*758e9fbaSOystein Eftevaag TSS2_RC 2789*758e9fbaSOystein Eftevaag Esys_ClockRateAdjust_Finish( 2790*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2791*758e9fbaSOystein Eftevaag 2792*758e9fbaSOystein Eftevaag /* Table 201 - TPM2_GetCapability Command */ 2793*758e9fbaSOystein Eftevaag 2794*758e9fbaSOystein Eftevaag TSS2_RC 2795*758e9fbaSOystein Eftevaag Esys_GetCapability( 2796*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2797*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2798*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2799*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2800*758e9fbaSOystein Eftevaag TPM2_CAP capability, 2801*758e9fbaSOystein Eftevaag UINT32 property, 2802*758e9fbaSOystein Eftevaag UINT32 propertyCount, 2803*758e9fbaSOystein Eftevaag TPMI_YES_NO *moreData, 2804*758e9fbaSOystein Eftevaag TPMS_CAPABILITY_DATA **capabilityData); 2805*758e9fbaSOystein Eftevaag 2806*758e9fbaSOystein Eftevaag TSS2_RC 2807*758e9fbaSOystein Eftevaag Esys_GetCapability_Async( 2808*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2809*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2810*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2811*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2812*758e9fbaSOystein Eftevaag TPM2_CAP capability, 2813*758e9fbaSOystein Eftevaag UINT32 property, 2814*758e9fbaSOystein Eftevaag UINT32 propertyCount); 2815*758e9fbaSOystein Eftevaag 2816*758e9fbaSOystein Eftevaag TSS2_RC 2817*758e9fbaSOystein Eftevaag Esys_GetCapability_Finish( 2818*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2819*758e9fbaSOystein Eftevaag TPMI_YES_NO *moreData, 2820*758e9fbaSOystein Eftevaag TPMS_CAPABILITY_DATA **capabilityData); 2821*758e9fbaSOystein Eftevaag 2822*758e9fbaSOystein Eftevaag /* Table 203 - TPM2_TestParms Command */ 2823*758e9fbaSOystein Eftevaag 2824*758e9fbaSOystein Eftevaag TSS2_RC 2825*758e9fbaSOystein Eftevaag Esys_TestParms( 2826*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2827*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2828*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2829*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2830*758e9fbaSOystein Eftevaag const TPMT_PUBLIC_PARMS *parameters); 2831*758e9fbaSOystein Eftevaag 2832*758e9fbaSOystein Eftevaag TSS2_RC 2833*758e9fbaSOystein Eftevaag Esys_TestParms_Async( 2834*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2835*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2836*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2837*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2838*758e9fbaSOystein Eftevaag const TPMT_PUBLIC_PARMS *parameters); 2839*758e9fbaSOystein Eftevaag 2840*758e9fbaSOystein Eftevaag TSS2_RC 2841*758e9fbaSOystein Eftevaag Esys_TestParms_Finish( 2842*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2843*758e9fbaSOystein Eftevaag 2844*758e9fbaSOystein Eftevaag /* Table 205 - TPM2_NV_DefineSpace Command */ 2845*758e9fbaSOystein Eftevaag 2846*758e9fbaSOystein Eftevaag TSS2_RC 2847*758e9fbaSOystein Eftevaag Esys_NV_DefineSpace( 2848*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2849*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2850*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2851*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2852*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2853*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 2854*758e9fbaSOystein Eftevaag const TPM2B_NV_PUBLIC *publicInfo, 2855*758e9fbaSOystein Eftevaag ESYS_TR *nvHandle); 2856*758e9fbaSOystein Eftevaag 2857*758e9fbaSOystein Eftevaag TSS2_RC 2858*758e9fbaSOystein Eftevaag Esys_NV_DefineSpace_Async( 2859*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2860*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2861*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2862*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2863*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2864*758e9fbaSOystein Eftevaag const TPM2B_AUTH *auth, 2865*758e9fbaSOystein Eftevaag const TPM2B_NV_PUBLIC *publicInfo); 2866*758e9fbaSOystein Eftevaag 2867*758e9fbaSOystein Eftevaag TSS2_RC 2868*758e9fbaSOystein Eftevaag Esys_NV_DefineSpace_Finish( 2869*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2870*758e9fbaSOystein Eftevaag ESYS_TR *nvHandle); 2871*758e9fbaSOystein Eftevaag 2872*758e9fbaSOystein Eftevaag /* Table 207 - TPM2_NV_UndefineSpace Command */ 2873*758e9fbaSOystein Eftevaag 2874*758e9fbaSOystein Eftevaag TSS2_RC 2875*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpace( 2876*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2877*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2878*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2879*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2880*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2881*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2882*758e9fbaSOystein Eftevaag 2883*758e9fbaSOystein Eftevaag TSS2_RC 2884*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpace_Async( 2885*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2886*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2887*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2888*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2889*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2890*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2891*758e9fbaSOystein Eftevaag 2892*758e9fbaSOystein Eftevaag TSS2_RC 2893*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpace_Finish( 2894*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2895*758e9fbaSOystein Eftevaag 2896*758e9fbaSOystein Eftevaag /* Table 209 - TPM2_NV_UndefineSpaceSpecial Command */ 2897*758e9fbaSOystein Eftevaag 2898*758e9fbaSOystein Eftevaag TSS2_RC 2899*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpaceSpecial( 2900*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2901*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2902*758e9fbaSOystein Eftevaag ESYS_TR platform, 2903*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2904*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2905*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2906*758e9fbaSOystein Eftevaag 2907*758e9fbaSOystein Eftevaag TSS2_RC 2908*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpaceSpecial_Async( 2909*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2910*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2911*758e9fbaSOystein Eftevaag ESYS_TR platform, 2912*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2913*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2914*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2915*758e9fbaSOystein Eftevaag 2916*758e9fbaSOystein Eftevaag TSS2_RC 2917*758e9fbaSOystein Eftevaag Esys_NV_UndefineSpaceSpecial_Finish( 2918*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2919*758e9fbaSOystein Eftevaag 2920*758e9fbaSOystein Eftevaag /* Table 211 - TPM2_NV_ReadPublic Command */ 2921*758e9fbaSOystein Eftevaag 2922*758e9fbaSOystein Eftevaag TSS2_RC 2923*758e9fbaSOystein Eftevaag Esys_NV_ReadPublic( 2924*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2925*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2926*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2927*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2928*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2929*758e9fbaSOystein Eftevaag TPM2B_NV_PUBLIC **nvPublic, 2930*758e9fbaSOystein Eftevaag TPM2B_NAME **nvName); 2931*758e9fbaSOystein Eftevaag 2932*758e9fbaSOystein Eftevaag TSS2_RC 2933*758e9fbaSOystein Eftevaag Esys_NV_ReadPublic_Async( 2934*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2935*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2936*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2937*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2938*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2939*758e9fbaSOystein Eftevaag 2940*758e9fbaSOystein Eftevaag TSS2_RC 2941*758e9fbaSOystein Eftevaag Esys_NV_ReadPublic_Finish( 2942*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2943*758e9fbaSOystein Eftevaag TPM2B_NV_PUBLIC **nvPublic, 2944*758e9fbaSOystein Eftevaag TPM2B_NAME **nvName); 2945*758e9fbaSOystein Eftevaag 2946*758e9fbaSOystein Eftevaag /* Table 213 - TPM2_NV_Write Command */ 2947*758e9fbaSOystein Eftevaag 2948*758e9fbaSOystein Eftevaag TSS2_RC 2949*758e9fbaSOystein Eftevaag Esys_NV_Write( 2950*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2951*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2952*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2953*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2954*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2955*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2956*758e9fbaSOystein Eftevaag const TPM2B_MAX_NV_BUFFER *data, 2957*758e9fbaSOystein Eftevaag UINT16 offset); 2958*758e9fbaSOystein Eftevaag 2959*758e9fbaSOystein Eftevaag TSS2_RC 2960*758e9fbaSOystein Eftevaag Esys_NV_Write_Async( 2961*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2962*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2963*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2964*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2965*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2966*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 2967*758e9fbaSOystein Eftevaag const TPM2B_MAX_NV_BUFFER *data, 2968*758e9fbaSOystein Eftevaag UINT16 offset); 2969*758e9fbaSOystein Eftevaag 2970*758e9fbaSOystein Eftevaag TSS2_RC 2971*758e9fbaSOystein Eftevaag Esys_NV_Write_Finish( 2972*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2973*758e9fbaSOystein Eftevaag 2974*758e9fbaSOystein Eftevaag /* Table 215 - TPM2_NV_Increment Command */ 2975*758e9fbaSOystein Eftevaag 2976*758e9fbaSOystein Eftevaag TSS2_RC 2977*758e9fbaSOystein Eftevaag Esys_NV_Increment( 2978*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2979*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2980*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2981*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2982*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2983*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2984*758e9fbaSOystein Eftevaag 2985*758e9fbaSOystein Eftevaag TSS2_RC 2986*758e9fbaSOystein Eftevaag Esys_NV_Increment_Async( 2987*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 2988*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 2989*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 2990*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 2991*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 2992*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 2993*758e9fbaSOystein Eftevaag 2994*758e9fbaSOystein Eftevaag TSS2_RC 2995*758e9fbaSOystein Eftevaag Esys_NV_Increment_Finish( 2996*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 2997*758e9fbaSOystein Eftevaag 2998*758e9fbaSOystein Eftevaag /* Table 217 - TPM2_NV_Extend Command */ 2999*758e9fbaSOystein Eftevaag 3000*758e9fbaSOystein Eftevaag TSS2_RC 3001*758e9fbaSOystein Eftevaag Esys_NV_Extend( 3002*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3003*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3004*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3005*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3006*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3007*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3008*758e9fbaSOystein Eftevaag const TPM2B_MAX_NV_BUFFER *data); 3009*758e9fbaSOystein Eftevaag 3010*758e9fbaSOystein Eftevaag TSS2_RC 3011*758e9fbaSOystein Eftevaag Esys_NV_Extend_Async( 3012*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3013*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3014*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3015*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3016*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3017*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3018*758e9fbaSOystein Eftevaag const TPM2B_MAX_NV_BUFFER *data); 3019*758e9fbaSOystein Eftevaag 3020*758e9fbaSOystein Eftevaag TSS2_RC 3021*758e9fbaSOystein Eftevaag Esys_NV_Extend_Finish( 3022*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3023*758e9fbaSOystein Eftevaag 3024*758e9fbaSOystein Eftevaag /* Table 219 - TPM2_NV_SetBits Command */ 3025*758e9fbaSOystein Eftevaag 3026*758e9fbaSOystein Eftevaag TSS2_RC 3027*758e9fbaSOystein Eftevaag Esys_NV_SetBits( 3028*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3029*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3030*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3031*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3032*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3033*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3034*758e9fbaSOystein Eftevaag UINT64 bits); 3035*758e9fbaSOystein Eftevaag 3036*758e9fbaSOystein Eftevaag TSS2_RC 3037*758e9fbaSOystein Eftevaag Esys_NV_SetBits_Async( 3038*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3039*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3040*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3041*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3042*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3043*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3044*758e9fbaSOystein Eftevaag UINT64 bits); 3045*758e9fbaSOystein Eftevaag 3046*758e9fbaSOystein Eftevaag TSS2_RC 3047*758e9fbaSOystein Eftevaag Esys_NV_SetBits_Finish( 3048*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3049*758e9fbaSOystein Eftevaag 3050*758e9fbaSOystein Eftevaag /* Table 221 - TPM2_NV_WriteLock Command */ 3051*758e9fbaSOystein Eftevaag 3052*758e9fbaSOystein Eftevaag TSS2_RC 3053*758e9fbaSOystein Eftevaag Esys_NV_WriteLock( 3054*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3055*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3056*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3057*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3058*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3059*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3060*758e9fbaSOystein Eftevaag 3061*758e9fbaSOystein Eftevaag TSS2_RC 3062*758e9fbaSOystein Eftevaag Esys_NV_WriteLock_Async( 3063*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3064*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3065*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3066*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3067*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3068*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3069*758e9fbaSOystein Eftevaag 3070*758e9fbaSOystein Eftevaag TSS2_RC 3071*758e9fbaSOystein Eftevaag Esys_NV_WriteLock_Finish( 3072*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3073*758e9fbaSOystein Eftevaag 3074*758e9fbaSOystein Eftevaag /* Table 223 - TPM2_NV_GlobalWriteLock Command */ 3075*758e9fbaSOystein Eftevaag 3076*758e9fbaSOystein Eftevaag TSS2_RC 3077*758e9fbaSOystein Eftevaag Esys_NV_GlobalWriteLock( 3078*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3079*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3080*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3081*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3082*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3083*758e9fbaSOystein Eftevaag 3084*758e9fbaSOystein Eftevaag TSS2_RC 3085*758e9fbaSOystein Eftevaag Esys_NV_GlobalWriteLock_Async( 3086*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3087*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3088*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3089*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3090*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3091*758e9fbaSOystein Eftevaag 3092*758e9fbaSOystein Eftevaag TSS2_RC 3093*758e9fbaSOystein Eftevaag Esys_NV_GlobalWriteLock_Finish( 3094*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3095*758e9fbaSOystein Eftevaag 3096*758e9fbaSOystein Eftevaag /* Table 225 - TPM2_NV_Read Command */ 3097*758e9fbaSOystein Eftevaag 3098*758e9fbaSOystein Eftevaag TSS2_RC 3099*758e9fbaSOystein Eftevaag Esys_NV_Read( 3100*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3101*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3102*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3103*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3104*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3105*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3106*758e9fbaSOystein Eftevaag UINT16 size, 3107*758e9fbaSOystein Eftevaag UINT16 offset, 3108*758e9fbaSOystein Eftevaag TPM2B_MAX_NV_BUFFER **data); 3109*758e9fbaSOystein Eftevaag 3110*758e9fbaSOystein Eftevaag TSS2_RC 3111*758e9fbaSOystein Eftevaag Esys_NV_Read_Async( 3112*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3113*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3114*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3115*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3116*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3117*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3118*758e9fbaSOystein Eftevaag UINT16 size, 3119*758e9fbaSOystein Eftevaag UINT16 offset); 3120*758e9fbaSOystein Eftevaag 3121*758e9fbaSOystein Eftevaag TSS2_RC 3122*758e9fbaSOystein Eftevaag Esys_NV_Read_Finish( 3123*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3124*758e9fbaSOystein Eftevaag TPM2B_MAX_NV_BUFFER **data); 3125*758e9fbaSOystein Eftevaag 3126*758e9fbaSOystein Eftevaag /* Table 227 - TPM2_NV_ReadLock Command */ 3127*758e9fbaSOystein Eftevaag 3128*758e9fbaSOystein Eftevaag TSS2_RC 3129*758e9fbaSOystein Eftevaag Esys_NV_ReadLock( 3130*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3131*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3132*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3133*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3134*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3135*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3136*758e9fbaSOystein Eftevaag 3137*758e9fbaSOystein Eftevaag TSS2_RC 3138*758e9fbaSOystein Eftevaag Esys_NV_ReadLock_Async( 3139*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3140*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3141*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3142*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3143*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3144*758e9fbaSOystein Eftevaag ESYS_TR shandle3); 3145*758e9fbaSOystein Eftevaag 3146*758e9fbaSOystein Eftevaag TSS2_RC 3147*758e9fbaSOystein Eftevaag Esys_NV_ReadLock_Finish( 3148*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3149*758e9fbaSOystein Eftevaag 3150*758e9fbaSOystein Eftevaag /* Table 229 - TPM2_NV_ChangeAuth Command */ 3151*758e9fbaSOystein Eftevaag 3152*758e9fbaSOystein Eftevaag TSS2_RC 3153*758e9fbaSOystein Eftevaag Esys_NV_ChangeAuth( 3154*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3155*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3156*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3157*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3158*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3159*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth); 3160*758e9fbaSOystein Eftevaag 3161*758e9fbaSOystein Eftevaag TSS2_RC 3162*758e9fbaSOystein Eftevaag Esys_NV_ChangeAuth_Async( 3163*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3164*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3165*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3166*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3167*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3168*758e9fbaSOystein Eftevaag const TPM2B_AUTH *newAuth); 3169*758e9fbaSOystein Eftevaag 3170*758e9fbaSOystein Eftevaag TSS2_RC 3171*758e9fbaSOystein Eftevaag Esys_NV_ChangeAuth_Finish( 3172*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext); 3173*758e9fbaSOystein Eftevaag 3174*758e9fbaSOystein Eftevaag /* Table 231 - TPM2_NV_Certify Command */ 3175*758e9fbaSOystein Eftevaag 3176*758e9fbaSOystein Eftevaag TSS2_RC 3177*758e9fbaSOystein Eftevaag Esys_NV_Certify( 3178*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3179*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 3180*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3181*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3182*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3183*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3184*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3185*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 3186*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 3187*758e9fbaSOystein Eftevaag UINT16 size, 3188*758e9fbaSOystein Eftevaag UINT16 offset, 3189*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 3190*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 3191*758e9fbaSOystein Eftevaag 3192*758e9fbaSOystein Eftevaag TSS2_RC 3193*758e9fbaSOystein Eftevaag Esys_NV_Certify_Async( 3194*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3195*758e9fbaSOystein Eftevaag ESYS_TR signHandle, 3196*758e9fbaSOystein Eftevaag ESYS_TR authHandle, 3197*758e9fbaSOystein Eftevaag ESYS_TR nvIndex, 3198*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3199*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3200*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3201*758e9fbaSOystein Eftevaag const TPM2B_DATA *qualifyingData, 3202*758e9fbaSOystein Eftevaag const TPMT_SIG_SCHEME *inScheme, 3203*758e9fbaSOystein Eftevaag UINT16 size, 3204*758e9fbaSOystein Eftevaag UINT16 offset); 3205*758e9fbaSOystein Eftevaag 3206*758e9fbaSOystein Eftevaag TSS2_RC 3207*758e9fbaSOystein Eftevaag Esys_NV_Certify_Finish( 3208*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3209*758e9fbaSOystein Eftevaag TPM2B_ATTEST **certifyInfo, 3210*758e9fbaSOystein Eftevaag TPMT_SIGNATURE **signature); 3211*758e9fbaSOystein Eftevaag 3212*758e9fbaSOystein Eftevaag /* Table 233 - TPM2_Vendor_TCG_Test Command */ 3213*758e9fbaSOystein Eftevaag 3214*758e9fbaSOystein Eftevaag TSS2_RC 3215*758e9fbaSOystein Eftevaag Esys_Vendor_TCG_Test( 3216*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3217*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3218*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3219*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3220*758e9fbaSOystein Eftevaag const TPM2B_DATA *inputData, 3221*758e9fbaSOystein Eftevaag TPM2B_DATA **outputData); 3222*758e9fbaSOystein Eftevaag 3223*758e9fbaSOystein Eftevaag TSS2_RC 3224*758e9fbaSOystein Eftevaag Esys_Vendor_TCG_Test_Async( 3225*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3226*758e9fbaSOystein Eftevaag ESYS_TR shandle1, 3227*758e9fbaSOystein Eftevaag ESYS_TR shandle2, 3228*758e9fbaSOystein Eftevaag ESYS_TR shandle3, 3229*758e9fbaSOystein Eftevaag const TPM2B_DATA *inputData); 3230*758e9fbaSOystein Eftevaag 3231*758e9fbaSOystein Eftevaag TSS2_RC 3232*758e9fbaSOystein Eftevaag Esys_Vendor_TCG_Test_Finish( 3233*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esysContext, 3234*758e9fbaSOystein Eftevaag TPM2B_DATA **outputData); 3235*758e9fbaSOystein Eftevaag 3236*758e9fbaSOystein Eftevaag /* 3237*758e9fbaSOystein Eftevaag * TPM 2.0 ESAPI Helper Functions 3238*758e9fbaSOystein Eftevaag */ 3239*758e9fbaSOystein Eftevaag void 3240*758e9fbaSOystein Eftevaag Esys_Free( 3241*758e9fbaSOystein Eftevaag void *__ptr); 3242*758e9fbaSOystein Eftevaag 3243*758e9fbaSOystein Eftevaag TSS2_RC 3244*758e9fbaSOystein Eftevaag Esys_GetSysContext( 3245*758e9fbaSOystein Eftevaag ESYS_CONTEXT *esys_context, 3246*758e9fbaSOystein Eftevaag TSS2_SYS_CONTEXT **sys_context); 3247*758e9fbaSOystein Eftevaag 3248*758e9fbaSOystein Eftevaag #ifdef __cplusplus 3249*758e9fbaSOystein Eftevaag } 3250*758e9fbaSOystein Eftevaag #endif 3251*758e9fbaSOystein Eftevaag 3252*758e9fbaSOystein Eftevaag #endif /* TSS2_ESYS_H */ 3253