.TH "Fapi_NvWrite" 3 "Sun May 7 2023" "Version 4.0.1" "tpm2-tss" \" -*- nroff -*- .ad l .nh .SH NAME Fapi_NvWrite \- Fapi_NvWrite .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "TSS2_RC \fBFapi_NvWrite\fP (\fBFAPI_CONTEXT\fP *context, char const *path, uint8_t const *data, size_t size)" .br .ti -1c .RI "TSS2_RC \fBFapi_NvWrite_Async\fP (\fBFAPI_CONTEXT\fP *context, char const *path, uint8_t const *data, size_t size)" .br .ti -1c .RI "TSS2_RC \fBFapi_NvWrite_Finish\fP (\fBFAPI_CONTEXT\fP *context)" .br .in -1c .SH "Detailed Description" .PP FAPI functions to invoke NvWrite either as one-call or in an asynchronous manner\&. .SH "Function Documentation" .PP .SS "Fapi_NvWrite (\fBFAPI_CONTEXT\fP * context, char const * nvPath, uint8_t const * data, size_t size)" One-Call function for Fapi_NvWrite .PP Writes data to a 'regular' (not pin, extend or counter) NV index\&. .PP \fBParameters\fP .RS 4 \fIcontext\fP The \fBFAPI_CONTEXT\fP .br \fInvPath\fP The path of the NV index to write .br \fIdata\fP The data to write to the NV index .br \fIsize\fP The size of data in bytes .RE .PP \fBReturn values\fP .RS 4 \fITSS2_RC_SUCCESS\fP if the function call was a success\&. .br \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context, nvPath, or data is NULL\&. .br \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. .br \fITSS2_FAPI_RC_BAD_PATH\fP if nvPath is not found\&. .br \fITSS2_FAPI_RC_NV_EXCEEDED\fP if the NV is not large enough for the data to be written\&. .br \fITSS2_FAPI_RC_NV_WRONG_TYPE\fP if the NV index is not a 'regular' one\&. .br \fITSS2_FAPI_RC_NV_NOT_WRITEABLE\fP if the NV is not a writeable index\&. .br \fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if the policy is unknown\&. .br \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. .br \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. .br \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. .br \fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&. .br \fITSS2_FAPI_RC_TRY_AGAIN\fP if an I/O operation is not finished yet and this function needs to be called again\&. .br \fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&. .br \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&. .br \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&. .br \fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&. .br \fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if a required authorization callback is not set\&. .br \fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if the authorization attempt fails\&. .br \fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&. .br \fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&. .RE .PP .SS "Fapi_NvWrite_Async (\fBFAPI_CONTEXT\fP * context, char const * nvPath, uint8_t const * data, size_t size)" Asynchronous function for Fapi_NvWrite .PP Writes data to a 'regular' (not pin, extend or counter) NV index\&. .PP Call Fapi_NvWrite_Finish to finish the execution of this command\&. .PP \fBParameters\fP .RS 4 \fIcontext\fP The \fBFAPI_CONTEXT\fP .br \fInvPath\fP The path of the NV index to write .br \fIdata\fP The data to write to the NV index .br \fIsize\fP The size of data in bytes .RE .PP \fBReturn values\fP .RS 4 \fITSS2_RC_SUCCESS\fP if the function call was a success\&. .br \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context, nvPath, or data is NULL\&. .br \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. .br \fITSS2_FAPI_RC_BAD_PATH\fP if nvPath is not found\&. .br \fITSS2_FAPI_RC_NV_EXCEEDED\fP if the NV is not large enough for the data to be written\&. .br \fITSS2_FAPI_RC_NV_WRONG_TYPE\fP if the NV index is not a 'regular' one\&. .br \fITSS2_FAPI_RC_NV_NOT_WRITEABLE\fP if the NV is not a writeable index\&. .br \fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if the policy is unknown\&. .br \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. .br \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. .br \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. .br \fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&. .RE .PP .SS "Fapi_NvWrite_Finish (\fBFAPI_CONTEXT\fP * context)" Asynchronous finish function for Fapi_NvWrite .PP This function should be called after a previous Fapi_NvWrite\&. .PP \fBParameters\fP .RS 4 \fIcontext\fP The \fBFAPI_CONTEXT\fP .RE .PP \fBReturn values\fP .RS 4 \fITSS2_RC_SUCCESS\fP if the function call was a success\&. .br \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context is NULL\&. .br \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. .br \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. .br \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. .br \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. .br \fITSS2_FAPI_RC_TRY_AGAIN\fP if the asynchronous operation is not yet complete\&. Call this function again later\&. .br \fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&. .br \fITSS2_FAPI_RC_BAD_PATH\fP if a path is used in inappropriate context or contains illegal characters\&. .br \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&. .br \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&. .br \fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&. .br \fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if a required authorization callback is not set\&. .br \fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if the authorization attempt fails\&. .br \fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if policy search for a certain policy digest was not successful\&. .br \fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&. .br \fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for tpm2-tss from the source code\&.