Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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_CON-
       TEXT **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()	 func-
       tions  initialize  a  TCTI context used to communicate with the TPM2 or
       some intermediate 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  con-
       text  parameter	is used	to return a reference to the TCTI context cre-
       ated 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:

       o libtss2-tcti-tabrmd.so.0

       o libtss2-tcti-device.so.0

       o 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:

       o <name>

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

       o 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 concatinated	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
       Philip Tricca <philip.b.tricca@intel.com>

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 2.4.2 of Intel's implementation of the TCG
       TPM2 Software Stack (TSS2). A description of the	 project,  information
       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)

NAME | SYNOPSIS | DESCRIPTION | TCTI CONFIG | RETURN VALUE | ERRORS | EXAMPLE | AUTHOR | SEE ALSO | COLOPHON

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Tss2_TctiLdr_Initialize&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help