Fapi_PcrExtend(3)

✨ NAME ✨

okay so this is the Fapi_PcrExtend(3) page, bestie β€” manual-name vibe folded in here: Library Functions Manual 🫢. The icon of the page is Fapi_PcrExtend β€” literally Fapi_PcrExtend, no cap.

πŸ¦‹ SYNOPSIS πŸ¦‹

Here are the functions, exactly as they are β€” copy/paste energy only, periodt:

TSS2_RC Fapi_PcrExtend (FAPI_CONTEXT *context, uint32_t pcr, uint8_t
    const *data, size_t dataSize, char const *logData)
TSS2_RC Fapi_PcrExtend_Async (FAPI_CONTEXT *context, uint32_t pcr,
    uint8_t const *data, size_t dataSize, char const *logData)
TSS2_RC Fapi_PcrExtend_Finish (FAPI_CONTEXT *context)

πŸ’… Detailed Description πŸ’…

The FAPI functions let you invoke PcrExtend either as a one-call situation or in an asynchronous manner. That's the whole vibe: one-call or async, both iconic πŸ’–.

πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– TSS2_RC Fapi_PcrExtend πŸ’–

Signature check, bestie:

TSS2_RC Fapi_PcrExtend (FAPI_CONTEXT * context, uint32_t pcr, uint8_t const
    * data, size_t dataSize, char const * logData)

One-Call function for Fapi_PcrExtend β€” yes, one call and you're doing the thing ✨.

It performs an extend operation on a given PCR.

Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.
  • pcr β€” The PCR to extend.
  • data β€” The data that is to be extended on the PCR.
  • dataSize β€” The size of data in bytes.
  • logData β€” A JSON representation of data to be written to the PCR's event log. May be NULL.

Return values 🌈

  • TSS2_RC_SUCCESS β€” if the function call was a success.
  • TSS2_FAPI_RC_BAD_REFERENCE β€” if context or data is NULL.
  • TSS2_FAPI_RC_BAD_CONTEXT β€” if context corruption is detected.
  • TSS2_FAPI_RC_NO_PCR β€” if no such PCR exists on this TPM.
  • TSS2_FAPI_RC_BAD_SEQUENCE β€” if the context has an asynchronous operation already pending.
  • TSS2_FAPI_RC_IO_ERROR β€” if the data cannot be saved.
  • TSS2_FAPI_RC_MEMORY β€” if the FAPI cannot allocate enough memory for internal operations or return parameters.
  • TSS2_FAPI_RC_NO_TPM β€” if FAPI was initialized in no-TPM-mode via its config file.
  • TSS2_FAPI_RC_BAD_VALUE β€” if an invalid value was passed into the function.
  • TSS2_FAPI_RC_TRY_AGAIN β€” if an I/O operation is not finished yet and this function needs to be called again.
  • TSS2_FAPI_RC_PATH_NOT_FOUND β€” if a FAPI object path was not found during authorization.
  • TSS2_FAPI_RC_KEY_NOT_FOUND β€” if a key was not found.
  • TSS2_FAPI_RC_GENERAL_FAILURE β€” if an internal error occurred.
  • TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN β€” if a required authorization callback is not set.
  • TSS2_FAPI_RC_AUTHORIZATION_FAILED β€” if the authorization attempt fails.
  • TSS2_FAPI_RC_POLICY_UNKNOWN β€” if policy search for a certain policy digest was not successful.
  • TSS2_ESYS_RC_* β€” possible error codes of ESAPI.
  • TSS2_FAPI_RC_NOT_PROVISIONED β€” FAPI was not provisioned.
  • TSS2_FAPI_RC_BAD_PATH β€” if the path is used in inappropriate context or contains illegal characters.

πŸ¦‹ TSS2_RC Fapi_PcrExtend_Async πŸ¦‹

Signature, because we keep it exact:

TSS2_RC Fapi_PcrExtend_Async (FAPI_CONTEXT * context, uint32_t pcr, uint8_t
    const * data, size_t dataSize, char const * logData)

Asynchronous function for Fapi_PcrExtend β€” it performs an extend operation on a given PCR. When you're ready to wrap it up, call Fapi_PcrExtend_Finish to finish the execution of this command, okay bestie?

Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.
  • pcr β€” The PCR to extend.
  • data β€” The data that is to be extended on the PCR.
  • dataSize β€” The size of data in bytes.
  • logData β€” A JSON representation of data to be written to the PCR's event log. May be NULL.

Return values 🌈

  • TSS2_RC_SUCCESS β€” if the function call was a success.
  • TSS2_FAPI_RC_BAD_REFERENCE β€” if context or data is NULL.
  • TSS2_FAPI_RC_BAD_CONTEXT β€” if context corruption is detected.
  • TSS2_FAPI_RC_NO_PCR β€” if no such PCR exists on this TPM.
  • TSS2_FAPI_RC_BAD_SEQUENCE β€” if the context has an asynchronous operation already pending.
  • TSS2_FAPI_RC_IO_ERROR β€” if the data cannot be saved.
  • TSS2_FAPI_RC_MEMORY β€” if the FAPI cannot allocate enough memory for internal operations or return parameters.
  • TSS2_FAPI_RC_BAD_VALUE β€” if an invalid value was passed into the function.
  • TSS2_FAPI_RC_NO_TPM β€” if FAPI was initialized in no-TPM-mode via its config file.
  • TSS2_ESYS_RC_* β€” possible error codes of ESAPI.

πŸŽ€ TSS2_RC Fapi_PcrExtend_Finish πŸŽ€

Signature, staying exact:

TSS2_RC Fapi_PcrExtend_Finish (FAPI_CONTEXT * context)

Asynchronous finish function for Fapi_PcrExtend β€” this function should be called after a previous Fapi_PcrExtend_Async. That's the sequence, iykyk πŸ’….

Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.

Return values 🌈

  • TSS2_RC_SUCCESS β€” if the function call was a success.
  • TSS2_FAPI_RC_BAD_REFERENCE β€” if context is NULL.
  • TSS2_FAPI_RC_BAD_CONTEXT β€” if context corruption is detected.
  • TSS2_FAPI_RC_BAD_SEQUENCE β€” if the context has an asynchronous operation already pending.
  • TSS2_FAPI_RC_IO_ERROR β€” if the data cannot be saved.
  • TSS2_FAPI_RC_MEMORY β€” if the FAPI cannot allocate enough memory for internal operations or return parameters.
  • TSS2_FAPI_RC_TRY_AGAIN β€” if the asynchronous operation is not yet complete. Call this function again later.
  • TSS2_FAPI_RC_PATH_NOT_FOUND β€” if a FAPI object path was not found during authorization.
  • TSS2_FAPI_RC_KEY_NOT_FOUND β€” if a key was not found.
  • TSS2_FAPI_RC_BAD_VALUE β€” if an invalid value was passed into the function.
  • TSS2_FAPI_RC_GENERAL_FAILURE β€” if an internal error occurred.
  • TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN β€” if a required authorization callback is not set.
  • TSS2_FAPI_RC_AUTHORIZATION_FAILED β€” if the authorization attempt fails.
  • TSS2_FAPI_RC_POLICY_UNKNOWN β€” if policy search for a certain policy digest was not successful.
  • TSS2_ESYS_RC_* β€” possible error codes of ESAPI.
  • TSS2_FAPI_RC_NOT_PROVISIONED β€” FAPI was not provisioned.
  • TSS2_FAPI_RC_BAD_PATH β€” if the path is used in inappropriate context or contains illegal characters.

🌸 Author 🌸

Generated automatically by Doxygen for tpm2-tss from the source code. Doxygen really said β€œI got you” πŸ’….


Cute final sign-off, bestie: this page comes from tpm2-tss, Version 4.1.5, and the manual page is Fapi_PcrExtend(3). Bye, slay responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from