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β TheESYS_CONTEXT.authHandleβTPM2_RH_LOCKOUT,TPM2_RH_ENDORSEMENT,TPM2_RH_OWNERorTPM2_RH_PLATFORM+{PP}.shandle1β Session handle for authorization ofauthHandleshandle2β 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_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_ENCRYPT_PARAMif 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β TheESYS_CONTEXT.authHandleβTPM2_RH_LOCKOUT,TPM2_RH_ENDORSEMENT,TPM2_RH_OWNERorTPM2_RH_PLATFORM+{PP}.shandle1β Session handle for authorization ofauthHandleshandle2β 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_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_RCs produced 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_ENCRYPT_PARAMif 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β TheESYS_CONTEXT.
β 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_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
- 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