Esys_PolicyRestart(3)

πŸ’– Esys_PolicyRestart β€” the TPM2_PolicyRestart ESAPI glow-up πŸ’–

okay so bestie, this is the manual page for Esys_PolicyRestart from tpm2-tss, and it's literally the ESAPI doorway to the TPM2_PolicyRestart command. Three functions, one vibe. Let's get into it 🫢


✨ NAME ✨

Esys_PolicyRestart β€” the ESAPI function for the TPM2_PolicyRestart command. that's it, that's the name section, she's concise πŸ’…


🌸 SYNOPSIS 🌸

πŸŽ€ Functions

TSS2_RC Esys_PolicyRestart_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_PolicyRestart (ESYS_CONTEXT *esysContext, ESYS_TR
    sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_PolicyRestart_Finish (ESYS_CONTEXT *esysContext)

πŸ¦‹ Detailed Description

so the whole point of this trio is: it's the ESAPI function that lets you invoke the TPM2_PolicyRestart command, and you can do it either as a one-call or in an asynchronous manner. pick your fighter ✨


πŸ‘‘ Function Documentation πŸ‘‘

⭐ TSS2_RC Esys_PolicyRestart (ESYS_CONTEXT * esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

One-Call function for TPM2_PolicyRestart β€” she does it all in one go, main character energy fr.

This function invokes the TPM2_PolicyRestart command in a one-call variant. Which means: the function will block until the TPM response is available 😴 like she is not leaving until she has her answer. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation β€” you don't have to do a thing, she handles it πŸ’–

Parameters

  • esysContext β€” the ESYS_CONTEXT.
  • sessionHandle β€” the handle for the policy session.
  • shandle1 β€” first session handle.
  • shandle2 β€” second session handle.
  • shandle3 β€” third session handle.

Return values

  • TSS2_RC_SUCCESS β€” if the function call was a success. slay πŸŽ‰
  • 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. one thing at a time, babe 🫠
  • 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.

πŸ”₯ TSS2_RC Esys_PolicyRestart_Async (ESYS_CONTEXT * esysContext, ESYS_TR sessionHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

Asynchronous function for TPM2_PolicyRestart β€” the "send it and dip" variant, no cap.

This function invokes the TPM2_PolicyRestart command in a asynchronous variant. Meaning? The function 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_PolicyRestart_Finish. iykyk 🌈

Parameters

  • esysContext β€” the ESYS_CONTEXT.
  • sessionHandle β€” the handle for the policy session.
  • shandle1 β€” first session handle.
  • shandle2 β€” second session handle.
  • shandle3 β€” third session handle.

Return values

  • ESYS_RC_SUCCESS β€” if the function call was a success. (yes, exactly like that β€” ESYS_RC_SUCCESS, not TSS2_ESYS_RC_SUCCESS. we don't make the rules πŸ’…)
  • 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.

πŸ¦„ TSS2_RC Esys_PolicyRestart_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_PolicyRestart β€” the "okay bestie, what did the TPM say?" part of the saga πŸ’Œ

This function returns the results of a TPM2_PolicyRestart command invoked via Esys_PolicyRestart_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 β€” super chill about it πŸ“

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. she's not ghosting you, she's just slow 😭
  • 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.
heads up bestie: this whole page lists return codes and behaviors, and the lower-layer TSS2_RCs genuinely get passed back untouched unless something handles them internally β€” so always check your return value, fr fr πŸ’€

🧚 Author 🧚

Generated automatically by Doxygen for tpm2-tss from the source code. no human wrote this, an algorithm did, and honestly? iconic 🌟


okay that's the whole page, mwah πŸ’‹ this was tpm2-tss, Version 4.1.5, documented as Esys_PolicyRestart(3) β€” go forth and restart those policies, queen πŸ‘‘πŸ’…βœ¨

πŸ“¦ where this page comes from