TPM_RC Tss2_Sys_ClearControl_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_RH_CLEAR auth, TPMI_YES_NO disable ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_ClearControl ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), auth, &(SYS_CONTEXT->rval) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), disable, &(SYS_CONTEXT->rval) ); SYS_CONTEXT->decryptAllowed = 0; SYS_CONTEXT->encryptAllowed = 0; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }
TPM_RC Tss2_Sys_PolicyNvWritten_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_SH_POLICY policySession, TPMI_YES_NO writtenSet ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_PolicyNvWritten ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), policySession, &(SYS_CONTEXT->rval) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), writtenSet, &(SYS_CONTEXT->rval) ); SYS_CONTEXT->decryptAllowed = 0; SYS_CONTEXT->encryptAllowed = 0; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }
TPM_RC Tss2_Sys_ClockRateAdjust_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_RH_PROVISION auth, TPM_CLOCK_ADJUST rateAdjust ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_ClockRateAdjust ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), auth, &(SYS_CONTEXT->rval) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), rateAdjust, &(SYS_CONTEXT->rval) ); SYS_CONTEXT->decryptAllowed = 0; SYS_CONTEXT->encryptAllowed = 0; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }
void Marshal_TPMS_PCR_SELECT( TSS2_SYS_CONTEXT *sysContext, TPMS_PCR_SELECT *pcrSelect ) { UINT32 i; if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), pcrSelect->sizeofSelect, &( SYS_CONTEXT->rval ) ); for( i = 0; i < pcrSelect->sizeofSelect; i++ ) { Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), pcrSelect->pcrSelect[i], &( SYS_CONTEXT->rval ) ); } return; }
void Marshal_TPMA_SESSION( TSS2_SYS_CONTEXT *sysContext, TPMA_SESSION session ) { void *tmp; if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; tmp = (void *)&session; Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), *( UINT8 *)tmp, &( SYS_CONTEXT->rval ) ); return; }
void Marshal_TPMA_LOCALITY( TSS2_SYS_CONTEXT *sysContext, TPMA_LOCALITY locality ) { void *tmp; if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; tmp = (void *)&locality; Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), *( UINT8 *)tmp, &( SYS_CONTEXT->rval ) ); return; }
void Marshal_TPMS_CLOCK_INFO( TSS2_SYS_CONTEXT *sysContext, TPMS_CLOCK_INFO *clockInfo ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; Marshal_UINT64( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), clockInfo->clock, &( SYS_CONTEXT->rval ) ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), clockInfo->resetCount, &( SYS_CONTEXT->rval ) ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), clockInfo->restartCount, &( SYS_CONTEXT->rval ) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), clockInfo->safe, &( SYS_CONTEXT->rval ) ); return; }
TPM_RC Tss2_Sys_EncryptDecrypt_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_DH_OBJECT keyHandle, TPMI_YES_NO decrypt, TPMI_ALG_SYM_MODE mode, TPM2B_IV *ivIn, TPM2B_MAX_BUFFER *inData ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_EncryptDecrypt ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), keyHandle, &(SYS_CONTEXT->rval) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), decrypt, &(SYS_CONTEXT->rval) ); Marshal_UINT16( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), mode, &(SYS_CONTEXT->rval) ); MARSHAL_SIMPLE_TPM2B( sysContext, &( ivIn->b ) ); MARSHAL_SIMPLE_TPM2B( sysContext, &( inData->b ) ); SYS_CONTEXT->decryptAllowed = 1; SYS_CONTEXT->encryptAllowed = 1; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }
TPM_RC Tss2_Sys_PolicyDuplicationSelect_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_SH_POLICY policySession, TPM2B_NAME *objectName, TPM2B_NAME *newParentName, TPMI_YES_NO includeObject ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_PolicyDuplicationSelect ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), policySession, &(SYS_CONTEXT->rval) ); if( objectName == 0 ) { SYS_CONTEXT->decryptNull = 1; } MARSHAL_SIMPLE_TPM2B( sysContext, &( objectName->b ) ); MARSHAL_SIMPLE_TPM2B( sysContext, &( newParentName->b ) ); Marshal_UINT8( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), includeObject, &(SYS_CONTEXT->rval) ); SYS_CONTEXT->decryptAllowed = 1; SYS_CONTEXT->encryptAllowed = 0; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }