Skip to content

API Reference

wolfTPM exposes three layers of headers. This page explains which one to start with. The function-level reference is generated from the header comments with Doxygen and appears on the pages that follow in this section.

Wrapper API

The wrapper API is declared in wolftpm/tpm2_wrap.h. All of its functions are named wolfTPM2_*. It hides command sequencing, session handling, parameter encryption and key blob management behind a small set of calls, and it is the recommended starting point for applications. Key creation, loading, signing, sealing and NV storage are covered in Key Management, and quoting and PCR use in Attestation.

Native API

The native API is declared in wolftpm/tpm2.h. It provides the raw TPM2_* commands, one function per TPM 2.0 command, along with the structures and constants from the TCG specification. Use it when you need direct control over command parameters or need a command the wrapper does not cover. You build the command arguments yourself and handle sessions and authorization explicitly.

HAL IO

hal/tpm_io.h declares the hardware abstraction layer used to move bytes between wolfTPM and the TPM. It is the header to read when you port wolfTPM to a new board or bus. See HAL IO Callback.

Generated Reference

The full function-level reference is generated from the header Doxygen comments and appears as the following pages in this section:

  • TPM2 API
  • TPM2 Wrapper API
  • TPM2 Header File
  • TPM2 Wrapper Header File
  • TPM2 HAL IO

See Also