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

FreeBSD Manual Pages

  
 
  

home | help
TPMLIB_MainInit(3)					    TPMLIB_MainInit(3)

NAME
       TPMLIB_MainInit	  - Initialize the TPM

       TPMLIB_Terminate	  - Terminate the TPM

LIBRARY
       TPM library (libtpms, -ltpms)

SYNOPSIS
       #include	<libtpms/tpm_types.h>

       #include	<libtpms/tpm_library.h>

       #include	<libtpms/tpm_error.h>

       TPM_RESULT TPMLIB_MainInit(void);

       TPM_RESULT TPMLIB_Terminate(void);

DESCRIPTION
       The TPMLIB_MainInit() and TPMLIB_Terminate() functions are used to
       initialize and terminate	the TPM	respectively. The TPMLIB_MainInit()
       function	must be	called before the TPM processes	any TPM	command.  The
       TPMLIB_Terminate() function is called to	free all the internal
       resources (memory allocations) the TPM has used and must	be called
       after the last TPM command was processed	by the TPM. The
       TPMLIB_MainInit() function can then be called again.

       Use TPMLIB_RegisterCallbacks() to set callback functions	for
       initialization and writing and restoring	the internal state in a
       portable	format.

ERRORS
       TPM_SUCCESS
	   The function	completed successfully.

       TPM_FAIL
	   General failure.

       For  a complete list of TPM error codes please consult the include file
       libtpms/tpm_error.h

EXAMPLE
	#include <stdio.h>

	#include <libtpms/tpm_types.h>
	#include <libtpms/tpm_library.h>
	#include <libtpms/tpm_error.h>

	int main(void) {
	    TPM_RESULT res;
	    unsigned char *respbuffer =	NULL;
	    uint32_t resp_size = 0;
	    uint32_t respbufsize = 0;
	    unsigned char *command;
	    uint32_t command_size;

	    [...]

	    if (TPMLIB_MainInit() != TPM_SUCCESS) {
		fprintf(stderr,	"Could not start the TPM.\n");
		return 1;
	    }

	    [...]
	    /* build TPM command */
	    [...]

	    res	= TPMLIB_Process(&respbuffer, &resp_size,
				 &respbufsize,
				 command, command_size);
	    [...]

	    TPMLIB_Terminate();

	    return 0;
	}

SEE ALSO
       TPMLIB_Process(3),  TPMLIB_RegisterCallbacks(3),	  TPMLIB_GetVersion(3)
       TPMLIB_GetTPMProperty(3), TPMLIB_DecodeBlob(3)

libtpms				  2023-02-28		    TPMLIB_MainInit(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=TPMLIB_MainInit&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help