Esys_PolicyCommandCode(3)
β¨ NAME β¨
Esys_PolicyCommandCode β the ESAPI function for the TPM2_PolicyCommandCode command, bestie π
(this is a page from the Library Functions Manual, and we're about to make it make sense)
π SYNOPSIS π
Functions
TSS2_RC Esys_PolicyCommandCode_Async (ESYS_CONTEXT *esysContext, ESYS_TR
policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
TPM2_CC code)
TSS2_RC Esys_PolicyCommandCode (ESYS_CONTEXT *esysContext, ESYS_TR
policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3,
TPM2_CC code)
TSS2_RC Esys_PolicyCommandCode_Finish (ESYS_CONTEXT *esysContext)
πΈ Detailed Description πΈ
Okay so this is the ESAPI function that lets you invoke the TPM2_PolicyCommandCode command β and the vibe is that you can do it either as a one-call situation or in an asynchronous manner. Choose your fighter, both are valid π«Ά
π Function Documentation π
TSS2_RC Esys_PolicyCommandCode (ESYS_CONTEXT * esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CC code)
One-Call function for TPM2_PolicyCommandCode β¨
This function invokes the TPM2_PolicyCommandCode command in a one-call variant. Translation, bestie: the function will block until the TPM response is available β it is not about to ghost you, it's gonna wait right there π. All input parameters are const. The memory for non-simple output parameters is allocated by the function implementation. Periodt.
Parameters
esysContextβ TheESYS_CONTEXT. (the main character context, lowkey essential)policySessionβ Handle for the policy session being extended.shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.codeβ The allowedcommandCode. π
Return values
TSS2_RC_SUCCESSβ if the function call was a success. slay πTSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption 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 theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_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_RCsproduced by lower layers of the software stack may be returned to the caller unaltered unless handled internally.
TSS2_RC Esys_PolicyCommandCode_Async (ESYS_CONTEXT * esysContext, ESYS_TR policySession, ESYS_TR shandle1, ESYS_TR shandle2, ESYS_TR shandle3, TPM2_CC code)
Asynchronous function for TPM2_PolicyCommandCode π¦
This function invokes the TPM2_PolicyCommandCode command in an asynchronous variant. Meaning: it will return as soon as the command has been sent downwards the stack to the TPM β no waiting around, she has places to be π¨. All input parameters are const. In order to retrieve the TPM's response call Esys_PolicyCommandCode_Finish. Don't forget the finish, bestie, or you'll just have vibes and no results π
Parameters
esysContextβ TheESYS_CONTEXT.policySessionβ Handle for the policy session being extended.shandle1β First session handle.shandle2β Second session handle.shandle3β Third session handle.codeβ The allowedcommandCode. π
Return values
ESYS_RC_SUCCESSβ if the function call was a success. (yes, it's writtenESYS_RC_SUCCESShere, notTSS2_RC_SUCCESSβ we keep it exactly as the page says, no cap)TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption is detected. πTSS2_ESYS_RC_MEMORYβ if 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_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 theESYS_TRobjects are unknown to theESYS_CONTEXTor are of the wrong type or if requiredESYS_TRobjects areESYS_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_RC Esys_PolicyCommandCode_Finish (ESYS_CONTEXT * esysContext)
Asynchronous finish function for TPM2_PolicyCommandCode π§
This function returns the results of a TPM2_PolicyCommandCode command invoked via Esys_PolicyCommandCode_Finish. (Yep β the page literally says Esys_PolicyCommandCode_Finish right there, so we're keeping it exactly, even though the async crowd knows the call that starts it is the _Async one. Facts are facts, bestie.) 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 β very "no thoughts, head empty, don't need that output" of you π
Parameters
esysContextβ TheESYS_CONTEXT.
Return values
TSS2_RC_SUCCESSβ on success πESYS_RC_SUCCESSβ if the function call was a success.TSS2_ESYS_RC_BAD_REFERENCEβ if theesysContextor required input pointers or required output handle references areNULL.TSS2_ESYS_RC_BAD_CONTEXTβ ifesysContextcorruption 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_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. Iconic behavior, honestly π
Okay bestie, that's the whole page β every flag, every return value, every little const detail, all kept safe and sound π«Ά Now go forth and policy-command-code responsibly. π
tpm2-tss β Version 4.1.5 π Esys_PolicyCommandCode(3), signing off β¨π
π¦ 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