hw_module_t 構造体リファレンス

hw_module_t 構造体リファレンス

#include < hardware.h >

データ フィールド

uint32_t タグ
 
uint16_t module_api_version
 
uint16_t hal_api_version
 
const char * id
 
const char * name
 
const char * author
 
struct hw_module_methods_t メソッド
 
void * dso
 
uint32_t 予約済み [32-7]
 

詳細な説明

すべてのハードウェア モジュールには HAL_MODULE_INFO_SYM という名前のデータ構造が必要です。このデータ構造のフィールドは hw_module_t で始まり、その後にモジュール固有の情報が続く必要があります。

ファイル hardware.h 86 行 の定義。

フィールドのドキュメント

const char* author

モジュールの作成者/所有者/実装者

ファイル hardware.h 139 行 の定義。

void* dso

モジュールの dso

ファイル hardware.h 145 行 の定義。

uint16_t hal_api_version

version_major/version_minor 定義は、一時的なソースコードの互換性のためにここに指定されています。これらの機能は次回のバージョンで削除される予定です。すべてのクライアントが新しいバージョンの形式に変換する必要があります。HAL モジュール インターフェースの API バージョン。これは、 hw_module_t hw_module_methods_t hw_device_t の構造体と定義にバージョン番号を付けることを目的としています。

このフィールドは HAL インターフェースが所有します。モジュールのユーザーや実装は、バージョン情報にこの値を依存してはなりません。

現在、有効な値は 0 のみです。

ファイル hardware.h 129 行 の定義。

const char* id

モジュールの識別子

ファイル hardware.h の 133 行目 に定義されています。

struct hw_module_methods_t * methods

モジュールのメソッド

ファイル hardware.h 142 行 の定義。

uint16_t module_api_version

実装されたモジュールの API バージョン。モジュール インターフェースが変更された場合、バージョンの更新はモジュール オーナーの責任となります。

gralloc や audio などの派生モジュールがこのフィールドを所有し、管理します。モジュール ユーザーは、バージョン フィールドを解釈して、提供されたモジュール実装と相互運用するかどうかを決定する必要があります。たとえば、SurfaceFlinger は、gralloc-module API のさまざまなバージョンを管理する方法を把握する必要があります。また、AudioFlinger は、audio-module API に対しても同様のことを把握する必要があります。

モジュール API バージョンには、メジャー コンポーネントとマイナー コンポーネントを含める必要があります。たとえば、バージョン 1.0 は 0x0100 と表されます。この形式は、バージョン 0x0100 ~ 0x01ff がすべて API と互換性があることを意味します。

今後、libhardware は hw_get_module_version()(または同等の)関数を公開します。この関数は、サポートされている最小バージョンと最大バージョンを引数として受け取り、指定された範囲外のバージョンのモジュールを拒否できます。

ファイル hardware.h 111 行の定義。

const char* name

このモジュールの名前

ファイル hardware.h 136 行の定義。

uint32_t reserved[32-7]

128 バイトにパディング。将来の使用のために予約済み

ファイル hardware.h 151 行の定義。

uint32_t tag

タグは HARDWARE_MODULE_TAG に初期化する必要があります。

ファイル hardware.h 88 行 の定義。


この構造体のドキュメントは、次のファイルから生成されました。