Fapi_NvRead(3)

🌸 Fapi_NvRead(3) 🌸

Bestie, welcome to Fapi_NvRead(3) from the Library Functions Manual πŸ’–. This page is all about the FAPI way to invoke NvRead β€” one-call style, async style, and the finish line. No cap, it’s giving β€œread data from an NV index within the TPM” energy.


✨ NAME ✨

Fapi_NvRead - Fapi_NvRead πŸŽ€


✨ SYNOPSIS ✨

πŸ› οΈ Functions

TSS2_RC Fapi_NvRead (FAPI_CONTEXT *context, char const *path, uint8_t
    **data, size_t *size, char **logData)
TSS2_RC Fapi_NvRead_Async (FAPI_CONTEXT *context, char const *path)
TSS2_RC Fapi_NvRead_Finish (FAPI_CONTEXT *context, uint8_t **data,
    size_t *size, char **logData)

πŸ’« Detailed Description πŸ’«

FAPI functions to invoke NvRead either as a one-call or in an asynchronous manner, periodt ✨. That’s literally the whole function family vibe.


🧚 Function Documentation 🧚

✨ TSS2_RC Fapi_NvRead (FAPI_CONTEXT * context, char const * nvPath, uint8_t ** data, size_t * size, char ** logData) ✨

One-Call function for Fapi_NvRead 🫢.

Reads data from an NV index within the TPM. The FAPI will automatically do the multiple reads if the NV index is larger than the TPM's TPM2_MAX_NV_BUFFER_SIZE β€” automatic, slay πŸ’….

πŸŽ€ Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.
  • nvPath β€” The path of the NV index to read.
  • data β€” The data that was read from the NV index.
  • size β€” The size of data in bytes. May be NULL.
  • logData β€” The log data of the NV index if the index is of type "extend". May be NULL.

🌈 Return values 🌈

  • TSS2_RC_SUCCESS if the function call was a success.
  • TSS2_FAPI_RC_BAD_REFERENCE if context, nvPath or data is NULL.
  • TSS2_FAPI_RC_BAD_CONTEXT if context corruption is detected.
  • TSS2_FAPI_RC_BAD_PATH if nvPath is not found.
  • TSS2_FAPI_RC_AUTHORIZATION_FAILED if authorization fails.
  • TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN if don't know how to authenticate.
  • TSS2_FAPI_RC_NV_NOT_READABLE if the NV is not a readable index.
  • 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_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_TRY_AGAIN if an I/O operation is not finished yet and this function needs to be called again.
  • TSS2_FAPI_RC_GENERAL_FAILURE if an internal error occurred.
  • 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_RC Fapi_NvRead_Async (FAPI_CONTEXT * context, char const * nvPath) ✨

Asynchronous function for Fapi_NvRead πŸ¦‹.

Reads data from an NV index within the TPM. The FAPI will automatically do the multiple reads if the NV index is larger than the TPM's TPM2_MAX_NV_BUFFER_SIZE.

Call Fapi_NvRead_Finish to finish the execution of this command.

πŸŽ€ Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.
  • nvPath β€” The path of the NV index to read.

🌈 Return values 🌈

  • TSS2_RC_SUCCESS if the function call was a success.
  • TSS2_FAPI_RC_BAD_REFERENCE if context or nvPath is NULL. *
  • TSS2_FAPI_RC_BAD_CONTEXT if context corruption is detected.
  • TSS2_FAPI_RC_BAD_PATH if nvPath is not found.
  • TSS2_FAPI_RC_AUTHORIZATION_FAILED if authorization fails.
  • TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN if don't know how to authenticate.
  • TSS2_FAPI_RC_NV_NOT_READABLE if the NV is not a readable index.
  • 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_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_NOT_PROVISIONED FAPI was not provisioned.

✨ TSS2_RC Fapi_NvRead_Finish (FAPI_CONTEXT * context, uint8_t ** data, size_t * size, char ** logData) ✨

Asynchronous finish function for Fapi_NvRead πŸ’œ.

This function should be called after a previous Fapi_NvRead_Async.

πŸŽ€ Parameters πŸŽ€

  • context β€” The FAPI_CONTEXT.
  • data β€” The data that was read from the NV index.
  • size β€” The size of data in bytes. May be NULL.
  • logData β€” The log data of the NV index if the index is of type "extend". 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_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_BAD_PATH if a path is used in inappropriate context or contains illegal characters.
  • TSS2_FAPI_RC_GENERAL_FAILURE if an internal error occurred.
  • TSS2_FAPI_RC_BAD_VALUE if an invalid value was passed into the function.
  • 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_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.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for tpm2-tss from the source code. Doxygen did it, not me, bestie 😭✨.


Source/version vibe check: tpm2-tss, Version 4.1.5, page Fapi_NvRead(3) 🫢. Bye bestie β€” go read those NV indices responsibly! πŸ’–βœ¨

πŸ“¦ where this page comes from