Esys_ClearControl(3)

okay so this is Esys_ClearControl(3) from the Library Functions Manual, and bestie, it’s giving β€œESAPI wrapper for TPM2_ClearControl” with a whole ensemble cast of functions. Buckle up β€” every detail is staying, no cap. πŸ’…

πŸ’– NAME πŸ’–

Esys_ClearControl β€” the ESAPI function for the TPM2_ClearControl command. Short, sweet, iconic.

πŸ¦‹ SYNOPSIS πŸ¦‹

🧚 Functions 🧚

TSS2_RC Esys_ClearControl_Async (ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)
TSS2_RC Esys_ClearControl (ESYS_CONTEXT *esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)
TSS2_RC Esys_ClearControl_Finish (ESYS_CONTEXT *esysContext)
TSS2_RC Esys_Clear (ESYS_CONTEXT *esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_Clear_Finish (ESYS_CONTEXT *esysContext)

✨ Detailed Description ✨

This is the ESAPI function for invoking the TPM2_ClearControl command either as a one-call or in an asynchronous manner. Both modes are here, bestie β€” pick your vibe. πŸŽ€

πŸ‘‘ Function Documentation πŸ‘‘

🫢 Esys_Clear

TSS2_RC Esys_Clear (ESYS_CONTEXT * esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

One-Call function for TPM2_Clear

Okay so this one invokes the TPM2_Clear command in a one-call variant. That means it will block until the TPM response is available. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. Slay. πŸ”₯

Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • authHandle β€” TPM2_RH_LOCKOUT or TPM2_RH_PLATFORM+{PP}.
  • shandle1 β€” Session handle for authorization of authHandle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.

Return values

  • TSS2_RC_SUCCESS β€” if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT β€” if esysContext corruption 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_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 the ESYS_TR objects are unknown to the ESYS_CONTEXT or are of the wrong type or if required ESYS_TR objects are ESYS_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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

🫢 Esys_Clear_Finish

TSS2_RC Esys_Clear_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_Clear

This one returns the results of a TPM2_Clear command invoked via Esys_Clear_Finish. All non-simple output parameters are allocated by the function's implementation. NULL can be passed for every output parameter if the value is not required. Yes bestie, every output parameter β€” if you don’t need the value, NULL is fine. πŸ’œ

Parameters

  • esysContext β€” The ESYS_CONTEXT.

Return values

  • TSS2_RC_SUCCESS β€” on success.
  • ESYS_RC_SUCCESS β€” if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT β€” if esysContext corruption 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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

🫢 Esys_ClearControl

TSS2_RC Esys_ClearControl (ESYS_CONTEXT * esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)

One-Call function for TPM2_ClearControl

This invokes the TPM2_ClearControl command in a one-call variant. It will block until the TPM response is available. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. Periodt β€” blocking until the TPM answers is literally the whole one-call mood. πŸ“

Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • auth β€” TPM2_RH_LOCKOUT or TPM2_RH_PLATFORM+{PP}.
  • shandle1 β€” Session handle for authorization of auth.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • disable β€” YES if the disableOwnerClear flag is to be SET, NO if the flag is to be CLEAR.. (the double dot is part of the original vibe 😭)

Return values

  • TSS2_RC_SUCCESS β€” if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT β€” if esysContext corruption 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_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 the ESYS_TR objects are unknown to the ESYS_CONTEXT or are of the wrong type or if required ESYS_TR objects are ESYS_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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

🫢 Esys_ClearControl_Async

TSS2_RC Esys_ClearControl_Async (ESYS_CONTEXT * esysContext, ESYS_TR auth, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPMI_YES_NO disable)

Asynchronous function for TPM2_ClearControl

This invokes the TPM2_ClearControl command in an asynchronous variant. That means it will return as soon as the command has been sent downwards the stack to the TPM. All input parameters are const. In order to retrieve the TPM's response call Esys_ClearControl_Finish. Async queen behavior: send it down the stack and dip β€” then finish later. ✨

Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • auth β€” TPM2_RH_LOCKOUT or TPM2_RH_PLATFORM+{PP}.
  • shandle1 β€” Session handle for authorization of auth.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • disable β€” YES if the disableOwnerClear flag is to be SET, NO if the flag is to be CLEAR..

Return values

  • ESYS_RC_SUCCESS β€” if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT β€” if esysContext corruption is detected.
  • TSS2_ESYS_RC_MEMORY β€” if the ESAPI cannot allocate enough memory for internal operations or return parameters.
  • TSS2_RCs produced 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 the ESYS_TR objects are unknown to the ESYS_CONTEXT or are of the wrong type or if required ESYS_TR objects are ESYS_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.

🫢 Esys_ClearControl_Finish

TSS2_RC Esys_ClearControl_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_ClearControl

This returns the results of a TPM2_ClearControl command invoked via Esys_ClearControl_Finish. All non-simple output parameters are allocated by the function's implementation. NULL can be passed for every output parameter if the value is not required. Finish-line energy: collect the results, allocate what needs allocating, and keep it cute. πŸ¦‹

Parameters

  • esysContext β€” The ESYS_CONTEXT.

Return values

  • TSS2_RC_SUCCESS β€” on success.
  • ESYS_RC_SUCCESS β€” if the function call was a success.
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL.
  • TSS2_ESYS_RC_BAD_CONTEXT β€” if esysContext corruption 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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

✨ AUTHOR ✨

okay so nobody actually wrote this by hand, bestie β€” it was generated automatically by Doxygen for tpm2-tss from the source code. so the real main characters here are the source code and the doc generator, and honestly? they ate. πŸ’…


and that's the whole page, bestie, you made it all the way to the end πŸŽ€ the docs you just read come from tpm2-tss, Version 4.1.5, and the page is dated Esys_ClearControl(3) β€” go forth and clear (or don't clear) those controls with confidence, ily, bye πŸ’–βœ¨

<!-- footnote-ish: original footer line read tpm2-tss Version 4.1.5 Esys_ClearControl(3) -->

πŸ“¦ where this page comes from