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β TheESYS_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_SUCCESSif the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEif theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYif the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_ESYS_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.TSS2_ESYS_RC_INSUFFICIENT_RESPONSEif the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_MALFORMED_RESPONSEif the TPM's response is corrupted.TSS2_ESYS_RC_RSP_AUTH_FAILEDif the response HMAC from the TPM did not verify.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSif more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSif more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRif any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE.TSS2_ESYS_RC_NO_DECRYPT_PARAMif one of the sessions has the'decrypt'attribute set and the command does not support encryption of the first command parameter.TSS2_RCsproduced 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β TheESYS_CONTEXT.objectHandleβ TPM handle of an object.shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.
π₯ Return values
ESYS_RC_SUCCESSif the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEif theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYif the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_RCsproduced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.TSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONSif more than one session has the'decrypt'attribute bit set.TSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONSif more than one session has the'encrypt'attribute bit set.TSS2_ESYS_RC_BAD_TRif any of theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_TR_NONE.TSS2_ESYS_RC_NO_DECRYPT_PARAMif 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β TheESYS_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_SUCCESSon successESYS_RC_SUCCESSif the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEif theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTifesysContextcorruption is detected.TSS2_ESYS_RC_MEMORYif the ESAPI cannot allocate enough memory for internal operations or return parameters.TSS2_ESYS_RC_BAD_SEQUENCEif the context has an asynchronous operation already pending.TSS2_ESYS_RC_TRY_AGAINif the timeout counter expires before the TPM response is received.TSS2_ESYS_RC_INSUFFICIENT_RESPONSEif the TPM's response does not at least contain the tag, response length, and response code.TSS2_ESYS_RC_RSP_AUTH_FAILEDif the response HMAC from the TPM did not verify.TSS2_ESYS_RC_MALFORMED_RESPONSEif the TPM's response is corrupted.TSS2_RCsproduced 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
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms