.TH "Esys_NV_ChangeAuth" 3 "Sun Feb 19 2023" "Version 3.2.1" "tpm2-tss" \" -*- nroff -*-
.ad l
.nh
.SH NAME
Esys_NV_ChangeAuth \- The ESAPI function for the TPM2_NV_ChangeAuth command\&.
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "TSS2_RC \fBEsys_NV_ChangeAuth_Async\fP (\fBESYS_CONTEXT\fP *esysContext, \fBESYS_TR\fP nvIndex, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_AUTH *newAuth)"
.br
.ti -1c
.RI "TSS2_RC \fBEsys_NV_ChangeAuth\fP (\fBESYS_CONTEXT\fP *esysContext, \fBESYS_TR\fP nvIndex, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_AUTH *newAuth)"
.br
.ti -1c
.RI "TSS2_RC \fBEsys_NV_ChangeAuth_Finish\fP (\fBESYS_CONTEXT\fP *esysContext)"
.br
.in -1c
.SH "Detailed Description"
.PP 
ESAPI function to invoke the TPM2_NV_ChangeAuth command either as a one-call or in an asynchronous manner\&. 
.SH "Function Documentation"
.PP 
.SS "TSS2_RC Esys_NV_ChangeAuth (\fBESYS_CONTEXT\fP * esysContext, \fBESYS_TR\fP nvIndex, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_AUTH * newAuth)"
One-Call function for TPM2_NV_ChangeAuth
.PP
This function invokes the TPM2_NV_ChangeAuth command in a one-call variant\&. This 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\&.
.PP
\fBParameters\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.br
\fInvIndex\fP Handle of the entity\&. 
.br
\fIshandle1\fP Session handle for authorization of nvIndex 
.br
\fIshandle2\fP Second session handle\&. 
.br
\fIshandle3\fP Third session handle\&. 
.br
\fInewAuth\fP New authorization value\&. 
.RE
.PP
\fBReturn values\fP
.RS 4
\fITSS2_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_ESYS_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_ESYS_RC_INSUFFICIENT_RESPONSE\fP if the TPM's response does not at least contain the tag, response length, and response code\&. 
.br
\fITSS2_ESYS_RC_MALFORMED_RESPONSE\fP if the TPM's response is corrupted\&. 
.br
\fITSS2_ESYS_RC_RSP_AUTH_FAILED\fP if the response HMAC from the TPM did not verify\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS\fP if more than one session has the 'decrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS\fP if more than one session has the 'encrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_BAD_TR\fP if any of the ESYS_TR objects are unknown to the \fBESYS_CONTEXT\fP or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE\&. 
.br
\fITSS2_ESYS_RC_NO_ENCRYPT_PARAM\fP if one of the sessions has the 'encrypt' attribute set and the command does not support encryption of the first response parameter\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.RE
.PP

.SS "TSS2_RC Esys_NV_ChangeAuth_Async (\fBESYS_CONTEXT\fP * esysContext, \fBESYS_TR\fP nvIndex, \fBESYS_TR\fP shandle1, \fBESYS_TR\fP shandle2, \fBESYS_TR\fP shandle3, const TPM2B_AUTH * newAuth)"
Asynchronous function for TPM2_NV_ChangeAuth
.PP
This function invokes the TPM2_NV_ChangeAuth 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_NV_ChangeAuth_Finish\&.
.PP
\fBParameters\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.br
\fInvIndex\fP Handle of the entity\&. 
.br
\fIshandle1\fP Session handle for authorization of nvIndex 
.br
\fIshandle2\fP Second session handle\&. 
.br
\fIshandle3\fP Third session handle\&. 
.br
\fInewAuth\fP New authorization value\&. 
.RE
.PP
\fBReturn values\fP
.RS 4
\fIESYS_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_DECRYPT_SESSIONS\fP if more than one session has the 'decrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_MULTIPLE_ENCRYPT_SESSIONS\fP if more than one session has the 'encrypt' attribute bit set\&. 
.br
\fITSS2_ESYS_RC_BAD_TR\fP if any of the ESYS_TR objects are unknown to the \fBESYS_CONTEXT\fP or are of the wrong type or if required ESYS_TR objects are ESYS_TR_NONE\&. 
.br
\fITSS2_ESYS_RC_NO_ENCRYPT_PARAM\fP if one of the sessions has the 'encrypt' attribute set and the command does not support encryption of the first response parameter\&. 
.RE
.PP

.SS "TSS2_RC Esys_NV_ChangeAuth_Finish (\fBESYS_CONTEXT\fP * esysContext)"
Asynchronous finish function for TPM2_NV_ChangeAuth
.PP
This function returns the results of a TPM2_NV_ChangeAuth command invoked via Esys_NV_ChangeAuth_Finish\&. 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\&.
.PP
\fBParameters\fP
.RS 4
\fIesysContext\fP The \fBESYS_CONTEXT\fP\&. 
.RE
.PP
\fBReturn values\fP
.RS 4
\fITSS2_RC_SUCCESS\fP on success 
.br
\fIESYS_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_ESYS_RC_BAD_REFERENCE\fP if the esysContext or required input pointers or required output handle references are NULL\&. 
.br
\fITSS2_ESYS_RC_BAD_CONTEXT\fP if esysContext corruption is detected\&. 
.br
\fITSS2_ESYS_RC_MEMORY\fP if the ESAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_ESYS_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_ESYS_RC_TRY_AGAIN\fP if the timeout counter expires before the TPM response is received\&. 
.br
\fITSS2_ESYS_RC_INSUFFICIENT_RESPONSE\fP if the TPM's response does not at least contain the tag, response length, and response code\&. 
.br
\fITSS2_ESYS_RC_RSP_AUTH_FAILED\fP if the response HMAC from the TPM did not verify\&. 
.br
\fITSS2_ESYS_RC_MALFORMED_RESPONSE\fP if the TPM's response is corrupted\&. 
.br
\fITSS2_RCs\fP produced by lower layers of the software stack may be returned to the caller unaltered unless handled internally\&. 
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for tpm2-tss from the source code\&.