Tss2_TctiLdr_GetInfo(3)

NAME
Tss2_TctiLdr_GetInfo - Query TctiLdr library for the TSS2_TCTI_INFO structure associated with a TCTI library.

SYNOPSIS
#include <tss2/tss2_tctildr.h>

TSS2_RC Tss2_TctiLdr_GetInfo (constchar *name", TSS2_TCTI_INFO **info);

DESCRIPTION
The Tss2_TctiLdr_GetInfo() function attempts to instantiate a TSS2_TCTI_INFO structure appropriate for the TCTI library associated with the provided name. The TSS2_TCTI_INFO* reference returned by this function must be freed by the Tss2_TctiLdr_FreeInfo () function.

The name parameter is a C string. If this string is NULL then the library will select a default TCTI for the caller. This is the same TCTI library that will be used to initialize the context returned by Tss2_TctiLdr_Initialize when passed a NULL name. If non-NULL, the Tss2_TctiLdr_GetInfo () uses the same algorithm to map the string to the name of an installed TCTI library as the Tss2_TctiLdr_Initialize () function.

The info parameter is a reference to a TSS2_TCTI_INFO*. The reference returned will be allocated by the function and must be freed by the caller.

RETURN VALUE
A successful call to this function will return TSS2_RC_SUCCESS. An unsuccessful call to this function will return a response code described below in section ERRORS.

ERRORS
TSS2_TCTI_RC_MEMORY is returned if memory allocation fails

TSS2_TCTI_RC_NOT_SUPPORTED is returned when the loader is unable to locate a TCTI library with the provided name

TSS2_TCTI_RC_IO_ERROR is returned if a failure occurs in the underlying library loading mechanism

TSS2_TCTI_RC_BAD_REFERENCE is returned if the info parameter is NULL

EXAMPLE
Example code.

#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <tss2/tss2_tctildr.h>
TSS2_TCTI_INFO *info = NULL;
TSS2_RC rc = Tss2_TctiLdr_GetInfo (NULL, &info);
if (rc != TSS2_RC_SUCCESS) {
    fprintf (stderr, "Initialization of default TCTI context failed with "
             "response code: 0x%" PRIx32 ", rc);
    exit (EXIT_FAILURE);
}
if (info != NULL) {
    Tss2_TctiLdr_FreeInfo (info);
    info = NULL;
}
exit (EXIT_SUCCESS);