Esys_SetPrimaryPolicy(3)

🌸 Esys_SetPrimaryPolicy(3) 🌸

okay so bestie, welcome to the Esys_SetPrimaryPolicy(3) page from the Library Functions Manual β€” yes we're in the manual, we're reading manpages together, this is our bonding time πŸ’–


✨ NAME ✨

Esys_SetPrimaryPolicy β€” the ESAPI function for the TPM2_SetPrimaryPolicy command. that's it, that's the whole name section, but it's iconic πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions

TSS2_RC Esys_SetPrimaryPolicy_Async (ESYS_CONTEXT *esysContext, ESYS_TR
    authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
    const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg)
TSS2_RC Esys_SetPrimaryPolicy (ESYS_CONTEXT *esysContext, ESYS_TR
    authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
    const TPM2B_DIGEST *authPolicy, TPMI_ALG_HASH hashAlg)
TSS2_RC Esys_SetPrimaryPolicy_Finish (ESYS_CONTEXT *esysContext)

three functions, one family, they're literally a whole trio πŸ’…


🌈 Detailed Description

okay so this is an ESAPI function that lets you invoke the TPM2_SetPrimaryPolicy command β€” and you get to choose your vibe: either as a one-call situation, or in an asynchronous manner. both options are valid, we love flexibility ✨


πŸ’œ Function Documentation πŸ’œ

πŸ“ TSS2_RC Esys_SetPrimaryPolicy (ESYS_CONTEXT * esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * authPolicy, TPMI_ALG_HASH hashAlg)

One-Call function for TPM2_SetPrimaryPolicy β€” the main character version πŸ‘‘

This function invokes the TPM2_SetPrimaryPolicy command in a one-call variant. that means β€” heads up β€” the function will block until the TPM response is available. like it's waiting at the door for the answer, no cap 😭 All input parameters are const. And the memory for non-simple output parameters? allocated by the function implementation, so you don't have to worry about it 🫢

πŸŽ€ Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • authHandle β€” TPM2_RH_LOCKOUT, TPM2_RH_ENDORSEMENT, TPM2_RH_OWNER or TPM2_RH_PLATFORM+{PP}.
  • shandle1 β€” Session handle for authorization of authHandle
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • authPolicy β€” An authorization policy digest; may be the Empty Buffer.
  • hashAlg β€” The hash algorithm to use for the policy.

⭐ 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_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.

πŸ¦‹ TSS2_RC Esys_SetPrimaryPolicy_Async (ESYS_CONTEXT * esysContext, ESYS_TR authHandle, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, const TPM2B_DIGEST * authPolicy, TPMI_ALG_HASH hashAlg)

Asynchronous function for TPM2_SetPrimaryPolicy β€” the "I'll text you later" version πŸ“±

This function invokes the TPM2_SetPrimaryPolicy command in a asynchronous variant. meaning: the function will return as soon as the command has been sent downwards the stack to the TPM. so fast, so efficient, we love a non-blocking queen ✨ All input parameters are const. And to actually retrieve the TPM's response, you call Esys_SetPrimaryPolicy_Finish. iykyk πŸ’…

πŸŽ€ Parameters

  • esysContext β€” The ESYS_CONTEXT.
  • authHandle β€” TPM2_RH_LOCKOUT, TPM2_RH_ENDORSEMENT, TPM2_RH_OWNER or TPM2_RH_PLATFORM+{PP}.
  • shandle1 β€” Session handle for authorization of authHandle
  • shandle2 β€” Second session handle.
  • shandle3 β€” Third session handle.
  • authPolicy β€” An authorization policy digest; may be the Empty Buffer.
  • hashAlg β€” The hash algorithm to use for the policy.

⭐ 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_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_RC Esys_SetPrimaryPolicy_Finish (ESYS_CONTEXT * esysContext)

Asynchronous finish function for TPM2_SetPrimaryPolicy β€” the part where you finally read the reply πŸŽ€

This function returns the results of a TPM2_SetPrimaryPolicy command invoked via Esys_SetPrimaryPolicy_Finish. All non-simple output parameters are allocated by the function's implementation. And good news β€” NULL can be passed for every output parameter if the value is not required. so chill, you don't have to want everything 😌

πŸŽ€ Parameters

  • esysContext β€” The ESYS_CONTEXT.

⭐ 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. not a human, just a robot doing its thing, and honestly? slay πŸ€–βœ¨


and that's the whole page bestie!! πŸ’– this came from tpm2-tss, Version 4.1.5, and it's the Esys_SetPrimaryPolicy(3) page β€” go set those primary policies, you've got this, no cap πŸ«ΆπŸŽ€πŸŒˆ

πŸ“¦ where this page comes from