TPM_RC Tss2_Sys_ClockSet_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_RH_PROVISION auth, UINT64 newTime ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_ClockSet ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), auth, &(SYS_CONTEXT->rval) ); Marshal_UINT64( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), newTime, &(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_NV_SetBits_Prepare( TSS2_SYS_CONTEXT *sysContext, TPMI_RH_NV_AUTH authHandle, TPMI_RH_NV_INDEX nvIndex, UINT64 bits ) { if( sysContext == NULL ) { return( TSS2_SYS_RC_BAD_REFERENCE ); } CommonPreparePrologue( sysContext, TPM_CC_NV_SetBits ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), authHandle, &(SYS_CONTEXT->rval) ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), nvIndex, &(SYS_CONTEXT->rval) ); Marshal_UINT64( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), bits, &(SYS_CONTEXT->rval) ); SYS_CONTEXT->decryptAllowed = 0; SYS_CONTEXT->encryptAllowed = 0; SYS_CONTEXT->authAllowed = 1; CommonPrepareEpilogue( sysContext ); return SYS_CONTEXT->rval; }
void Marshal_TPMS_TIME_INFO( TSS2_SYS_CONTEXT *sysContext, TPMS_TIME_INFO *timeInfo ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; Marshal_UINT64( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), timeInfo->time, &( SYS_CONTEXT->rval ) ); Marshal_TPMS_CLOCK_INFO( sysContext, &timeInfo->clockInfo ); 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; }
void Marshal_TPMS_CONTEXT( TSS2_SYS_CONTEXT *sysContext, TPMS_CONTEXT *context ) { if( SYS_CONTEXT->rval != TSS2_RC_SUCCESS ) return; Marshal_UINT64( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), context->sequence, &( SYS_CONTEXT->rval ) ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), context->savedHandle, &( SYS_CONTEXT->rval ) ); Marshal_UINT32( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &(SYS_CONTEXT->nextData), context->hierarchy, &( SYS_CONTEXT->rval ) ); MARSHAL_SIMPLE_TPM2B( sysContext, (TPM2B *)&context->contextBlob ); return; }