.TH "Fapi_GetRandom" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
.ad l
.nh
.SH NAME
Fapi_GetRandom
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "TSS2_RC \fBFapi_GetRandom\fP (\fBFAPI_CONTEXT\fP *context, size_t numBytes, uint8_t **data)"
.br
.ti -1c
.RI "TSS2_RC \fBFapi_GetRandom_Async\fP (\fBFAPI_CONTEXT\fP *context, size_t numBytes)"
.br
.ti -1c
.RI "TSS2_RC \fBFapi_GetRandom_Finish\fP (\fBFAPI_CONTEXT\fP *context, uint8_t **data)"
.br
.in -1c
.SH "Detailed Description"
.PP 
FAPI functions to invoke GetRandom either as one-call or in an asynchronous manner\&. 
.SH "Function Documentation"
.PP 
.SS "Fapi_GetRandom (\fBFAPI_CONTEXT\fP * context, size_t numBytes, uint8_t ** data)"
One-Call function for Fapi_GetRandom
.PP
Creates an array with a specified number of bytes\&. May execute the underlying TPM command multiple times if the requested number of bytes is too big\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fInumBytes\fP The number of bytes requested from the TPM 
.br
\fIdata\fP The array of random bytes returned from the TPM
.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 or data is NULL\&. 
.br
\fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. 
.br
\fITSS2_FAPI_RC_BAD_VALUE\fP if numBytes is 0\&. 
.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_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_TRY_AGAIN\fP if an I/O operation is not finished yet and this function needs to be called again\&. 
.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\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&. 
.RE
.PP

.SS "Fapi_GetRandom_Async (\fBFAPI_CONTEXT\fP * context, size_t numBytes)"
Asynchronous function for Fapi_GetRandom
.PP
Creates an array with a specified number of bytes\&. May execute the underlying TPM command multiple times if the requested number of bytes is too big\&.
.PP
Call Fapi_GetRandom_Finish to finish the execution of this command\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fInumBytes\fP The number of bytes requested from the TPM
.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_VALUE\fP if numBytes is 0\&. 
.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_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_NOT_PROVISIONED\fP FAPI was not provisioned\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&. 
.RE
.PP

.SS "Fapi_GetRandom_Finish (\fBFAPI_CONTEXT\fP * context, uint8_t ** data)"
Asynchronous finish function for Fapi_GetRandom
.PP
This function should be called after a previous Fapi_GetRandom_Async\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fIdata\fP The array of random bytes returned from the TPM
.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 or data 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_GENERAL_FAILURE\fP if an internal error occurred\&. 
.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_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\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&. 
.RE
.PP

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