Esys_ClockRateAdjust(3)
π
Esys_ClockRateAdjust(3) β the tpm2-tss glow-up
Okay bestie, so this page is from the tpm2-tss library functions manual, and it's all about Esys_ClockRateAdjust, aka the ESAPI function for the TPM2_ClockRateAdjust command. That's the whole vibe. Let's get into it β¨
π¦ SYNOPSIS
β¨ Functions
Here's your lineup, no cap:
TSS2_RC Esys_ClockRateAdjust_Async (ESYS_CONTEXT *esysContext, ESYS_TR
auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
TPM2_CLOCK_ADJUST rateAdjust)
TSS2_RC Esys_ClockRateAdjust (ESYS_CONTEXT *esysContext, ESYS_TR auth,
ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
TPM2_CLOCK_ADJUST rateAdjust)
TSS2_RC Esys_ClockRateAdjust_Finish (ESYS_CONTEXT *esysContext)
πΈ Detailed Description
So basically: this is the ESAPI function to invoke the TPM2_ClockRateAdjust command either as a one-call or in an asynchronous manner. That's it, that's the whole deal. Pick your lane: one-call queen or async icon. π
π Function Documentation
π TSS2_RC Esys_ClockRateAdjust (ESYS_CONTEXT * esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CLOCK_ADJUST rateAdjust)
One-Call function for TPM2_ClockRateAdjust
Ngl this one is the main character. It invokes the TPM2_ClockRateAdjust command in a one-call variant, which means it blocks until the TPM response is available β like it will literally sit there and wait, no thoughts head empty. π«Ά
For the record: all input parameters are const, and the memory for non-simple output parameters is allocated by the function implementation. (So the function is doing the allocating, not you. Slay.)
Parameters
esysContextβ theESYS_CONTEXT. Your whole context, your whole world.authβTPM2_RH_OWNERorTPM2_RH_PLATFORM+{PP}. Yep, exactly those.shandle1β session handle for authorization ofauth.shandle2β second session handle.shandle3β third session handle.rateAdjustβ adjustment to current Clock update rate.
Return values
TSS2_RC_SUCCESSβ if the function call was a success. πTSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters. πTSS2_ESYS_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pending. Like, one at a time, bestie.TSS2_ESYS_RC_INSUFFICIENT_RESPONSEβ if the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_MALFORMED_RESPONSEβ if the TPM's response is corrupted. πTSS2_ESYS_RC_RSP_AUTH_FAILEDβ if the response HMAC from the TPM did not verify.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSβ if more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSβ if more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRβ if any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE.TSS2_ESYS_RC_NO_DECRYPT_PARAMβ if one of the sessions has the'decrypt'attribute set and the command does not support encryption of the first command parameter.TSS2_ESYS_RC_NO_ENCRYPT_PARAMβ if one of the sessions has the'encrypt'attribute set and the command does not support encryption of the first response parameter.TSS2_RCsproduced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.
π¦ TSS2_RC Esys_ClockRateAdjust_Async (ESYS_CONTEXT * esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CLOCK_ADJUST rateAdjust)
Asynchronous function for TPM2_ClockRateAdjust
This is the async variant, and the way it works is it returns as soon as the command has been sent downwards the stack to the TPM β literally "sent, bye, don't wait up" energy. π§
Also: all input parameters are const. And heads up β in order to retrieve the TPM's response you gotta call Esys_ClockRateAdjust_Finish. Don't forget, or you'll just be standing there with no answer. π
Parameters
esysContextβ theESYS_CONTEXT.authβTPM2_RH_OWNERorTPM2_RH_PLATFORM+{PP}.shandle1β session handle for authorization ofauth.shandle2β second session handle.shandle3β third session handle.rateAdjustβ adjustment to current Clock update rate.
Return values
ESYS_RC_SUCCESSβ if the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_RCsproduced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSβ if more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSβ if more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRβ if any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE.TSS2_ESYS_RC_NO_DECRYPT_PARAMβ if one of the sessions has the'decrypt'attribute set and the command does not support encryption of the first command parameter.TSS2_ESYS_RC_NO_ENCRYPT_PARAMβ if one of the sessions has the'encrypt'attribute set and the command does not support encryption of the first response parameter.
π TSS2_RC Esys_ClockRateAdjust_Finish (ESYS_CONTEXT * esysContext)
Asynchronous finish function for TPM2_ClockRateAdjust
The finale. π¬ This function returns the results of a TPM2_ClockRateAdjust command invoked via Esys_ClockRateAdjust_Finish.
All non-simple output parameters are allocated by the function's implementation, and yes β NULL can be passed for every output parameter if the value is not required. Lowkey freeing, honestly.
Weird but real, bestie: the source text literally says the results come from a command "invoked via Esys_ClockRateAdjust_Finish" β that's what it says, so that's what I'm telling you. Don't come for me. π
Parameters
esysContextβ theESYS_CONTEXT.
Return values
TSS2_RC_SUCCESSβ on success.ESYS_RC_SUCCESSβ if the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYβ if the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_ESYS_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pending.TSS2_ESYS_RC_TRY_AGAINβ if the timeout counter expires before the TPM response is received. β°TSS2_ESYS_RC_INSUFFICIENT_RESPONSEβ if the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_RSP_AUTH_FAILEDβ if the response HMAC from the TPM did not verify.TSS2_ESYS_RC_MALFORMED_RESPONSEβ if the TPM's response is corrupted.TSS2_RCsproduced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.
π Author
Generated automatically by Doxygen for tpm2-tss from the source code. Not a human, just Doxygen doing its thing. β¨
And that's the page, bestie β mwah π. This little gem comes from tpm2-tss, Version 4.1.5, and it's the Esys_ClockRateAdjust(3) page. Go forth and adjust those clock rates, icon. ππ
π¦ where this page comes from
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms