Fapi_Initialize
Feature API

## Functions

TSS2_RC | Fapi_Initialize (FAPI_CONTEXT **context, char const *uri)
TSS2_RC | Fapi_Initialize_Async (FAPI_CONTEXT **context, char const *uri)
TSS2_RC | Fapi_Initialize_Finish (FAPI_CONTEXT **context)

## Detailed Description

FAPI functions to invoke Initialize either as one-call or in an asynchronous manner.

## Function Documentation

## Fapi_Initialize()

TSS2_RC Fapi_Initialize | ( | FAPI_CONTEXT ** | context,
|  | char const * | uri )

One-Call function for Fapi_Initialize

Initializes a FAPI_CONTEXT that holds all the state and metadata information during an interaction with the TPM.

Parameters

  [out] | context | The FAPI_CONTEXT
  [in] | uri | Unused in this version of the FAPI. Must be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context is NULL.
  TSS2_FAPI_RC_BAD_VALUE | if uri is not NULL.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.
  TSS2_FAPI_RC_TRY_AGAIN | if an I/O operation is not finished yet and this function needs to be called again.
  TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending.
  TSS2_FAPI_RC_GENERAL_FAILURE | if an internal error occurred.
  TSS2_FAPI_RC_BAD_PATH | if a path is used in inappropriate context or contains illegal characters.
  TSS2_ESYS_RC_* | possible error codes of ESAPI.

## Fapi_Initialize_Async()

TSS2_RC Fapi_Initialize_Async | ( | FAPI_CONTEXT ** | context,
|  | char const * | uri )

Asynchronous function for Fapi_Initialize

Initializes a FAPI_CONTEXT that holds all the state and metadata information during an interaction with the TPM.

Call Fapi_Initialize to finish the execution of this command.

Parameters

  [out] | context | The FAPI_CONTEXT
  [in] | uri | Unused in this version of the FAPI. Must be NULL

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context is NULL.
  TSS2_FAPI_RC_BAD_VALUE | if uri is not NULL.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.

## Fapi_Initialize_Finish()

TSS2_RC Fapi_Initialize_Finish | ( | FAPI_CONTEXT ** | context | ) |

Asynchronous finish function for Fapi_Initialize

This function should be called after a previous Fapi_Initialize_Async.

Parameters

  [out] | context | The FAPI_CONTEXT

Return values

  TSS2_RC_SUCCESS | if the function call was a success.
  TSS2_FAPI_RC_BAD_REFERENCE | if context is NULL.
  TSS2_FAPI_RC_BAD_CONTEXT | if context corruption is detected.
  TSS2_FAPI_RC_BAD_SEQUENCE | if the context has an asynchronous operation already pending.
  TSS2_FAPI_RC_IO_ERROR | if the data cannot be saved.
  TSS2_FAPI_RC_MEMORY | if the FAPI cannot allocate enough memory for internal operations or return parameters.
  TSS2_FAPI_RC_TRY_AGAIN | if the asynchronous operation is not yet complete. Call this function again later.
  TSS2_FAPI_RC_BAD_VALUE | if an invalid value was passed into the function.
  TSS2_FAPI_RC_GENERAL_FAILURE | if an internal error occurred.
  TSS2_FAPI_RC_BAD_PATH | if a path is used in inappropriate context or contains illegal characters.
  TSS2_ESYS_RC_* | possible error codes of ESAPI.