Esys_ChangePPS(3)

πŸ’… Esys_ChangePPS β€” the TPM2_ChangePPS ESAPI moment

okay so bestie, welcome to Esys_ChangePPS(3), a page from the Library Functions Manual (tpm2-tss girlies know πŸ‘‘). this is the ESAPI function for the TPM2_ChangePPS command, and it's literally the whole vibe. three functions, one job, no cap. πŸ¦‹


✨ SYNOPSIS ✨

πŸŽ€ Functions

TSS2_RC Esys_ChangePPS_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_ChangePPS (ESYS_CONTEXT *esysContext, ESYS_TR authHandle,
    ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_ChangePPS_Finish (ESYS_CONTEXT *esysContext)

🌸 Detailed Description

ESAPI function to invoke the TPM2_ChangePPS command either as a one-call or in an asynchronous manner. that's it, that's the whole deal, and honestly? iconic. ✨


🌈 Function Documentation

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

One-Call function for TPM2_ChangePPS

This function invokes the TPM2_ChangePPS command in a one-call variant. Translation bestie: the function will block until the TPM response is available β€” it's giving patient main character energy, it waits for its answer. 😌 All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. no cap. πŸ’…

πŸ“ Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • authHandle β€” 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.

πŸ¦‹ TSS2_RC Esys_ChangePPS_Async (ESYS_CONTEXT * esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

Asynchronous function for TPM2_ChangePPS

This function invokes the TPM2_ChangePPS command in a asynchronous variant. so like, the function will return as soon as the command has been sent downwards the stack to the TPM β€” she drops it off and dips, no waiting around πŸ’€. All input parameters are const. In order to retrieve the TPM's response call Esys_ChangePPS_Finish. (that's your callback era, bestie 🫢)

πŸ“ Parameters

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

πŸ’œ 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.

⭐ TSS2_RC Esys_ChangePPS_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_ChangePPS

This function returns the results of a TPM2_ChangePPS command invoked via Esys_ChangePPS_Finish. (yes bestie, the page literally says it was invoked via Esys_ChangePPS_Finish β€” that's what the source says, we don't question the source πŸ’€). 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 β€” so you can ghost any output you don't care about, slay πŸ™ˆ.

πŸ“ 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.
🫢 friendly reminder: TSS2_ESYS_RC_TRY_AGAIN is a whole mood β€” the timeout counter expired before the TPM response showed up. try again, bestie, they're just not texting back yet.

πŸ‘‘ Author

Generated automatically by Doxygen for tpm2-tss from the source code. (not a human author, a robot did this, and honestly it ate πŸ€–βœ¨)


kisses and see-you-laters, bestie πŸ’– β€” this whole page is tpm2-tss, Version 4.1.5, and it's the Esys_ChangePPS(3) page. go change that PPS, you absolute icon πŸŒΈπŸ’…πŸŽ€

πŸ“¦ where this page comes from