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 initial-
     ize 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) TPM-
     LIB_GetTPMProperty(3), TPMLIB_DecodeBlob(3)

libtpms 			   2026-01-02		      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+15.1.quarterly>

home | help