Esys_Load(3)

okay so welcome to Esys_Load(3) from the Library Functions Manual, bestie πŸ’– β€” yes, it’s the tpm2-tss page, and we’re about to make TPM2_Load make sense. periodt.

✨ NAME ✨

Esys_Load β€” The ESAPI function for the TPM2_Load command. no cap, that’s the whole vibe.

🌟 SYNOPSIS 🌟

🧚 Functions 🧚

TSS2_RC Esys_Load_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    parentHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
    const TPM2B_PRIVATE *inPrivate, const TPM2B_PUBLIC *inPublic)
TSS2_RC Esys_Load (ESYS_CONTEXT *esysContext, ESYS_TR parentHandle,
    ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const
    TPM2B_PRIVATE *inPrivate, const TPM2B_PUBLIC *inPublic, ESYS_TR
    *objectHandle)

πŸ’« Detailed Description πŸ’«

okay so this is the ESAPI function to invoke the TPM2_Load command either as a one-call or in an asynchronous manner β€” both flavors, bestie 🫢.

πŸ’… Function Documentation πŸ’…

🫢 TSS2_RC Esys_Load β€” one-call function for TPM2_Load 🫢

TSS2_RC Esys_Load (ESYS_CONTEXT * esysContext, ESYS_TR parentHandle, ESYS_TR
       shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_PRIVATE *
       inPrivate, const TPM2B_PUBLIC * inPublic, ESYS_TR * objectHandle)

One-Call function for TPM2_Load β€” that’s the label, and it’s iconic.

This function invokes the TPM2_Load command in a one-call variant. That means the function will block until the TPM response is available 😴. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation β€” yes, it handles that allocation for you, slay πŸ’….

πŸŽ€ Parameters πŸŽ€

  • esysContext β€” The ESYS_CONTEXT.
  • parentHandle β€” TPM handle of parent key; shall not be a reserved handle.
  • shandle1 β€” Session handle for authorization of parentHandle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • inPrivate β€” The private portion of the object.
  • inPublic β€” The public portion of the object.
  • objectHandle β€” ESYS_TR handle of ESYS resource for TPM2_HANDLE.

🌈 Return values 🌈

  • TSS2_RC_SUCCESS β€” if the function call was a success. yay ✨
  • 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_RCs produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.

πŸ¦‹ TSS2_RC Esys_Load_Async β€” asynchronous function for TPM2_Load πŸ¦‹

TSS2_RC Esys_Load_Async (ESYS_CONTEXT * esysContext, ESYS_TR parentHandle,
       ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const
       TPM2B_PRIVATE * inPrivate, const TPM2B_PUBLIC * inPublic)

Asynchronous function for TPM2_Load β€” this is the async twin, highkey useful.

This function invokes the TPM2_Load command in a asynchronous variant. This means the function will return as soon as the command has been sent downwards the stack to the TPM ⚑. All input parameters are const. In order to retrieve the TPM’s response call Esys_Load_Finish β€” iykyk.

πŸ“ Parameters πŸ“

  • esysContext β€” The ESYS_CONTEXT.
  • parentHandle β€” TPM handle of parent key; shall not be a reserved handle.
  • shandle1 β€” Session handle for authorization of parentHandle.
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • inPrivate β€” The private portion of the object.
  • inPublic β€” The public portion of the object.

πŸ’œ 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.

🌸 Author 🌸

Generated automatically by Doxygen for tpm2-tss from the source code. no cap, Doxygen did that automatically for tpm2-tss from the source code 🫢.


footer check, bestie: tpm2-tss, Version 4.1.5, and the page tag Esys_Load(3) β€” that’s the cute sign-off, and we’re done πŸ’…πŸ’–

πŸ“¦ where this page comes from