dwww Home | Manual pages | Find package

Tss2_TctiLdr_Initialize(3)  Library Functions Manual Tss2_TctiLdr_Initialize(3)

NAME
       Tss2_TctiLdr_Initialize,  Tss2_TctiLdr_Initialize_Ex  -  Instantiate and
       initialize a TCTI context.

SYNOPSIS
       #include <tss2/tss2_tctildr.h>

       TSS2_RC Tss2_TctiLdr_Initialize (const char *nameConf, TSS2_TCTI_CONTEXT
       **context);

       TSS2_RC Tss2_TctiLdr_Initialize_Ex (const char *name, const char  *conf,
       TSS2_TCTI_CONTEXT **context);

DESCRIPTION
       The Tss2_TctiLdr_Initialize() and Tss2_TctiLdr_Initialize_Ex() functions
       initialize  a TCTI context used to communicate with the TPM2 or some in-
       termediate component in the TCG TPM2 software stack.

       Tss2_TctiLdr_Initialize() takes a single string that  encodes  both  the
       name  of  the  TCTI library the caller wishes to instantiate and its de-
       sired configuration in the nameConf parameter.   nameConf  is  a  string
       comprised  of  two  substrings:  name  and conf parameters respectively.
       These substrings are combined with name first, separated by a single ':'
       / colon character: 'name:conf'. Consult the section titled  TCTI  CONFIG
       for  information about the encoding of these strings.  The context para-
       meter is used to return a reference to the TCTI context created  by  the
       function.

       Tss2_TctiLdr_Initialize_Ex()   behaves   identically   to  the  Tss2_Tc-
       tiLdr_Initialize() function with the exception that the  TCTI  name  and
       configuration  are  passed  as  separate  strings. The encoding of these
       strings is described in section TCTI_CONFIG.

TCTI CONFIG
       If the name string is NULL or the emptry string then the  initialization
       functions  will  select  a default TCTI appropriate for the platform. On
       Linux this means first trying to load a library  named  libtss2-tcti-de-
       fault.so.   This  is  a placeholder for distros to provide a distro spe-
       cific default. It is recommended that this be a symlink to  another  in-
       stalled  TCTI library.  If attempts to load this shared object fails the
       implementation will attempt known TCTIs in the following order:

       • libtss2-tcti-tabrmd.so.0

       • libtss2-tcti-device.so.0

       • libtss2-tcti-mssim.so.0

       When the name string is neither NULL nor the empty string the  implemen-
       tation  will  attempt  to  dlopen a library with the given name. If this
       fails then the implementation assumes it has  been  passed  a  shortened
       name  and will attempt to load libraries by name with the following per-
       mutations:

       • <name>

       • libtss2-tcti-<name>.so.0

       • libtss2-tcti-<name>.so

       The config string is not interpreted by the TctiLdr init  functions  and
       is  passed  unaltered  to  the  initialization function for the selected
       TCTI. The format for this string is TCTI specific.

       The Tss2_TctiLdr_Initialize function is passed the name and conf strings
       as a single parameter. In this case the name and conf strings  are  con-
       catinated with a single ':' / colon character separating them.

       For  a  more thorough discussion of the TCTILDR API see the “TCG TSS 2.0
       TPM Command Transmission Interface (TCTI) API Specification”.

RETURN VALUE
       A successful call to this function will return TSS2_RC_SUCCESS.  An  un-
       successful  call  will  produce a response code described in section ER-
       RORS.

ERRORS
       TSS2_TCTI_RC_MEMORY is returned if memory allocation fails

       TSS2_TCTI_RC_NOT_SUPPORTED is returned when the loader is unable to  lo-
       cate 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 tctiContext  parameter  is
       NULL

EXAMPLE
       Example code.

       #include <inttypes.h>
       #include <stdlib.h>
       #include <stdio.h>
       #include <tss2/tss2_tctildr.h>

       TSS2_TCTI_CONTEXT *ctx = NULL;
       TSS2_RC rc = Tss2_TctiLdr_Initialize (NULL, &ctx);
       if (rc != TSS2_RC_SUCCESS) {
           fprintf (stderr, "Initialization of default TCTI context failed with "
                    "response code: 0x%" PRIx32 "0, rc);
           exit (EXIT_FAILURE);
       }
       exit (EXIT_SUCCESS);

AUTHOR
       TPM2 Software Project <https://github.com/tpm2-software/tpm2-tss>

SEE ALSO
       Tss2_Tcti_Device_Init(3),   Tss2_Tcti_Socket_Init(3),  Tss2_TctiLdr_Ini-
       tialize(3),  Tss2_TctiLdr_Finalize(3),  tcti-device(7),  tcti-socket(7),
       tcti-tabrmd(7), tpm2-abrmd(8)

COLOPHON
       This  page is part of release 4.1.3 of Open Source implementation of the
       TCG TPM2 Software Stack (TSS2). A description of the  project,  informa-
       tion  about  reporting  bugs, and the latest version of this page can be
       found at https://github.com/tpm2-software/tpm2-tss/.

TPM2 Software Stack                MARCH 2019        Tss2_TctiLdr_Initialize(3)

Generated by dwww version 1.16 on Sat Oct 3 05:59:46 CEST 2026.