Esys_ReadPublic(3)

🌸 NAME

Okay bestie, this is the Esys_ReadPublic(3) page from the Library Functions Manual ✨

Esys_ReadPublic β€” the ESAPI function for the TPM2_ReadPublic command. That's the whole vibe of this page, and we're gonna go through every detail, no cap πŸ’…


✨ SYNOPSIS

πŸŽ€ Functions

TSS2_RC Esys_ReadPublic_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)
TSS2_RC Esys_ReadPublic (ESYS_CONTEXT *esysContext, ESYS_TR
    objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
    TPM2B_PUBLIC **outPublic, TPM2B_NAME **name, TPM2B_NAME
    **qualifiedName)
TSS2_RC Esys_ReadPublic_Finish (ESYS_CONTEXT *esysContext, TPM2B_PUBLIC
    **outPublic, TPM2B_NAME **name, TPM2B_NAME **qualifiedName)

πŸ¦‹ Detailed Description

It's the ESAPI function that invokes the TPM2_ReadPublic command, and it can do it either as a one-call situation or in an asynchronous manner. Both flavors are here, bestie 🫢


πŸ’– Function Documentation

🫢 Esys_ReadPublic β€” One-Call function for TPM2_ReadPublic

TSS2_RC Esys_ReadPublic (ESYS_CONTEXT * esysContext, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2B_PUBLIC ** outPublic, TPM2B_NAME ** name, TPM2B_NAME ** qualifiedName)

This function invokes the TPM2_ReadPublic command in a one-call variant. That means it will block until the TPM response is available β€” like, it's waiting for the reply, periodt. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation ✨

🌟 Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • objectHandle β€” TPM handle of an object.
  • shandle1 β€” First session handle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • outPublic β€” Structure containing the public area of an object. (callee-allocated)
  • name β€” Name of the object. (callee-allocated)
  • qualifiedName β€” The Qualified Name of the object. (callee-allocated)

πŸ”₯ 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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

πŸ¦‹ Esys_ReadPublic_Async β€” Asynchronous function for TPM2_ReadPublic

TSS2_RC Esys_ReadPublic_Async (ESYS_CONTEXT * esysContext, ESYS_TR objectHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

This function invokes the TPM2_ReadPublic command in an asynchronous variant. It returns as soon as the command has been sent downwards the stack to the TPM β€” bye, it's off to the TPM, bestie 😭 All input parameters are const. In order to retrieve the TPM's response, call Esys_ReadPublic_Finish.

🌟 Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • objectHandle β€” TPM handle of an object.
  • shandle1 β€” First session handle.
  • 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.

🧚 Esys_ReadPublic_Finish β€” Asynchronous finish function for TPM2_ReadPublic

TSS2_RC Esys_ReadPublic_Finish (ESYS_CONTEXT * esysContext, TPM2B_PUBLIC ** outPublic, TPM2B_NAME ** name, TPM2B_NAME ** qualifiedName)

This function returns the results of a TPM2_ReadPublic command invoked via Esys_ReadPublic_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.
  • outPublic β€” Structure containing the public area of an object. (callee-allocated)
  • name β€” Name of the object. (callee-allocated)
  • qualifiedName β€” The Qualified Name of the object. (callee-allocated)

πŸ”₯ 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.

Signed off with all the love: this page is from tpm2-tss Version 4.1.5, and it's the Esys_ReadPublic(3) page. No date in the original footer, so I'm not inventing one, bestie β€” periodt πŸ’–βœ¨

πŸ“¦ where this page comes from