# API リファレンス wolfTPM は 3 つのレイヤーのヘッダーを公開しています。このページでは、どのヘッダーから使い始めるべきかを説明します。関数単位のリファレンスはヘッダーのコメントから Doxygen で生成され、このセクションの後続ページに掲載されます。 ## ラッパー API ラッパー API は `wolftpm/tpm2_wrap.h` で宣言されています。すべての関数名は `wolfTPM2_*` です。コマンドのシーケンス制御、セッション処理、パラメータ暗号化、キー Blob の管理を少数の呼び出しの背後に隠蔽しており、アプリケーションではこの API から使い始めることを推奨します。鍵の作成、ロード、署名、シーリング、NV ストレージについては [鍵管理](key-management.md) を、クォートと PCR の使い方については [アテステーション](attestation.md) を参照してください。 ## ネイティブ API ネイティブ API は `wolftpm/tpm2.h` で宣言されています。TPM 2.0 のコマンドごとに 1 つの関数として、生の `TPM2_*` コマンドを提供し、TCG 仕様の構造体と定数も併せて定義しています。コマンドパラメータを直接制御したい場合や、ラッパーが対応していないコマンドが必要な場合に使用します。コマンド引数の構築、セッションおよび認可の処理は、すべて自分で行います。 ## HAL IO `hal/tpm_io.h` は、wolfTPM と TPM の間でバイト列をやり取りするためのハードウェア抽象化レイヤーを宣言しています。wolfTPM を新しいボードやバスに移植する際に読むべきヘッダーです。[HAL IO コールバック](hal-io-callback.md) を参照してください。 ## 生成されるリファレンス 関数単位の完全なリファレンスはヘッダーの Doxygen コメントから生成され、このセクションの次のページに掲載されます。 - TPM2 API - TPM2 Wrapper API - TPM2 Header File - TPM2 Wrapper Header File - TPM2 HAL IO ## 関連項目 - [鍵管理](key-management.md) - [アテステーション](attestation.md) - [HAL IO コールバック](hal-io-callback.md)