Esys_NV_Un...aceSpecial(3)

πŸ’… NAME πŸ’…

Okay bestie, welcome to Esys_NV_Un...aceSpecial(3) β€” that's the page, and it lives in the Library Functions Manual, no cap.

So what is it? It's Esys_NV_UndefineSpaceSpecial β€” the ESAPI function for the TPM2_NV_UndefineSpaceSpecial command. That's it. That's the whole vibe. We're deleting a thing. Slay. ✨


✨ SYNOPSIS ✨

Functions πŸŽ€

TSS2_RC Esys_NV_UndefineSpaceSpecial_Async (ESYS_CONTEXT *esysContext,
    ESYS_TR nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR
    shandle2, ESYS_TR shandle3)
TSS2_RC Esys_NV_UndefineSpaceSpecial (ESYS_CONTEXT *esysContext, ESYS_TR
    nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR shandle2,
    ESYS_TR shandle3)
TSS2_RC Esys_NV_UndefineSpaceSpecial_Finish (ESYS_CONTEXT *esysContext)

Three functions, one mission. Three icons, honestly. 🫢


πŸ¦‹ Detailed Description πŸ¦‹

Bestie. Listen. This is the ESAPI function to invoke the TPM2_NV_UndefineSpaceSpecial command β€” and it comes in two flavours: either as a one-call situation, or in an asynchronous manner. Pick your fighter. 😭


πŸ’– Function Documentation πŸ’–

TSS2_RC Esys_NV_UndefineSpaceSpecial (ESYS_CONTEXT * esysContext, ESYS_TR nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

One-Call function for TPM2_NV_UndefineSpaceSpecial β€” the "I'll wait" baddie. πŸ’…

Okay so this one invokes the TPM2_NV_UndefineSpaceSpecial command in a one-call variant. What that means, lowkey, is the function will block until the TPM response is available. Like it's standing there with its arms crossed, waiting. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation β€” not your problem, bestie, it's handled. πŸŽ€

Parameters

  • esysContext β€” the ESYS_CONTEXT. The main character of the whole operation, honestly.
  • nvIndex β€” the index to be deleted. RIP to that index, it had a good run. πŸ’€
  • platform β€” TPM2_RH_PLATFORM + {PP}. Copy it exactly, don't get creative with it.
  • shandle1 β€” session handle for authorization of nvIndex.
  • shandle2 β€” session handle for authorization of platform.
  • shandle3 β€” third session handle. The third wheel. Also valid. 🫢

Return values

  • TSS2_RC_SUCCESS β€” if the function call was a success. We love a win. πŸŽ‰
  • TSS2_ESYS_RC_BAD_REFERENCE β€” if the esysContext or required input pointers or required output handle references are NULL. Basically: you handed it a void and it's not into that.
  • 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. One at a time, babe, we talked about this.
  • 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. Trust issues fr fr.
  • 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_ESYS_RC_NO_ENCRYPT_PARAM β€” if one of the sessions has the 'encrypt' attribute set and the command does not support encryption of the first response parameter.
  • TSS2_RCs β€” produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally. iykyk.

TSS2_RC Esys_NV_UndefineSpaceSpecial_Async (ESYS_CONTEXT * esysContext, ESYS_TR nvIndex, ESYS_TR platform, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3)

Asynchronous function for TPM2_NV_UndefineSpaceSpecial β€” the "don't wait up" version. πŸ¦‹

This one invokes the TPM2_NV_UndefineSpaceSpecial command in a asynchronous variant. Which means β€” and this is the fun part β€” the function will return as soon as the command has been sent downwards the stack to the TPM. It does not stick around. It has places to be. All input parameters are const. And in order to retrieve the TPM's response, you gotta call Esys_NV_UndefineSpaceSpecial_Finish. Like, that's the whole deal, bestie. No shortcuts. πŸ™ˆ

Parameters

  • esysContext β€” the ESYS_CONTEXT.
  • nvIndex β€” the index to be deleted.
  • platform β€” TPM2_RH_PLATFORM + {PP}.
  • shandle1 β€” session handle for authorization of nvIndex.
  • shandle2 β€” session handle for authorization of platform.
  • shandle3 β€” third session handle. Still here. Still iconic. ✨

Return values

  • ESYS_RC_SUCCESS β€” if the function call was a success. Yes, ESYS_RC_SUCCESS β€” that's what it says, don't @ me, I'm just the messenger. πŸ’…
  • 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.
  • TSS2_ESYS_RC_NO_ENCRYPT_PARAM β€” if one of the sessions has the 'encrypt' attribute set and the command does not support encryption of the first response parameter.
Yeah, the TSS2_RCs lower-layer note is sitting in the middle of the list here, not at the bottom. That's just where it is on this page. Not me rearranging the group chat. πŸ™ˆ

TSS2_RC Esys_NV_UndefineSpaceSpecial_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_NV_UndefineSpaceSpecial β€” the callback, the closing act, the "so what happened" text. πŸŽ€

This function returns the results of a TPM2_NV_UndefineSpaceSpecial command invoked via Esys_NV_UndefineSpaceSpecial_Finish. All non-simple output parameters are allocated by the function's implementation. And here's the bestie perk: NULL can be passed for every output parameter if the value is not required. Not needed? Not a problem. πŸ‘‘

Parameters

  • esysContext β€” the ESYS_CONTEXT. Just the one parameter. Minimalist queen. πŸ’…

Return values

  • TSS2_RC_SUCCESS β€” on success.
  • ESYS_RC_SUCCESS β€” if the function call was a success. Yep, both are listed. That's the text. We don't question it. 😭
  • 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. Again. We've been over this, babe.
  • TSS2_ESYS_RC_TRY_AGAIN β€” if the timeout counter expires before the TPM response is received. Patience is a virtue but the counter is not patient. ⏳
  • 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. Not a human, not a vibe curator β€” a tool. Respect though. 🫢


That's the whole page, bestie β€” mwah πŸ’‹

Okurrr so the footer energy: this beauty comes from tpm2-tss, Version 4.1.5, and it's the Esys_NV_Un...aceSpecial(3) page. Go forth and undefine that special space. Periodt. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from