Esys_PolicyPCR(3)

Okay so welcome to Esys_PolicyPCR(3), bestie β€” manual name check: this little icon lives in the Library Functions Manual, and it's the ESAPI function for the TPM2_PolicyPCR command πŸ’–

✨ NAME ✨

Esys_PolicyPCR β€” The ESAPI function for the TPM2_PolicyPCR command. Periodt. πŸ’…

πŸŽ€ SYNOPSIS πŸŽ€

🧚 Functions 🧚

TSS2_RC Esys_PolicyPCR_Async (ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *pcrDigest, const TPML_PCR_SELECTION *pcrs)
TSS2_RC Esys_PolicyPCR (ESYS_CONTEXT *esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST *pcrDigest, const TPML_PCR_SELECTION *pcrs)
TSS2_RC Esys_PolicyPCR_Finish (ESYS_CONTEXT *esysContext)

🌸 Detailed Description 🌸

ESAPI function to invoke the TPM2_PolicyPCR command either as a one-call or in an asynchronous manner. That's the vibe: two ways to do the thing, and you get to pick your main character energy. ✨

πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– TSS2_RC Esys_PolicyPCR β€” one-call function for TPM2_PolicyPCR

TSS2_RC Esys_PolicyPCR (ESYS_CONTEXT * esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * pcrDigest, const TPML_PCR_SELECTION * pcrs)

This function invokes the TPM2_PolicyPCR command in a one-call variant. That means the function will block until the TPM response is available β€” no sneaky async, just sit there and wait, bestie. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. 🫢

πŸ¦‹ Parameters πŸ¦‹

  • esysContext β€” The ESYS_CONTEXT.
  • policySession β€” Handle for the policy session being extended.
  • shandle1 β€” First session handle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • pcrDigest β€” Expected digest value of the selected PCR using the hash algorithm of the session; may be zero length.
  • pcrs β€” The PCR to include in the check digest.

πŸ’œ 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_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_PolicyPCR_Async β€” asynchronous function for TPM2_PolicyPCR

TSS2_RC Esys_PolicyPCR_Async (ESYS_CONTEXT * esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * pcrDigest, const TPML_PCR_SELECTION * pcrs)

This function invokes the TPM2_PolicyPCR command in the asynchronous variant. That means the function will return as soon as the command has been sent downwards the stack to the TPM β€” yes, "downwards the stack" is exactly the phrase, bestie. All input parameters are const. In order to retrieve the TPM's response call Esys_PolicyPCR_Finish. ⭐

πŸ¦‹ Parameters πŸ¦‹

  • esysContext β€” The ESYS_CONTEXT.
  • policySession β€” Handle for the policy session being extended.
  • shandle1 β€” First session handle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • pcrDigest β€” Expected digest value of the selected PCR using the hash algorithm of the session; may be zero length.
  • pcrs β€” The PCR to include in the check digest.

πŸ’œ 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_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_PolicyPCR_Finish β€” asynchronous finish function for TPM2_PolicyPCR

TSS2_RC Esys_PolicyPCR_Finish (ESYS_CONTEXT * esysContext)

This function returns the results of a TPM2_PolicyPCR command invoked via Esys_PolicyPCR_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. 🧚

πŸ¦‹ 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 πŸ¦‹

Generated automatically by Doxygen for tpm2-tss from the source code. No cap. 🫢


and that's the whole page, bestie β€” source/version: tpm2-tss, Version 4.1.5; date: not given in the footer, so we're not making one up πŸ’…βœ¨

πŸ“¦ where this page comes from