hw_module_t 構造体のリファレンス
#include < hardware.h >
データフィールド | |
uint32_t | 鬼ごっこ |
uint16_t | module_api_version |
uint16_t | hal_api_version |
定数文字 * | ID |
定数文字 * | 名前 |
定数文字 * | 著者 |
struct hw_module_methods_t * | メソッド |
空所 * | dso |
uint32_t | 予約済み[32-7] |
詳細な説明
すべてのハードウェア モジュールには HAL_MODULE_INFO_SYM という名前のデータ構造が必要であり、このデータ構造のフィールドはhw_module_tで始まり、その後にモジュール固有の情報が続く必要があります。
ファイルhardware.hの86行目の定義。
フィールドドキュメント
const char* 作成者 |
モジュールの作成者/所有者/実装者
ファイル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 * メソッド |
モジュールのメソッド
ファイルhardware.hの142行目の定義。
uint16_t module_api_version |
実装されたモジュールの API バージョン。モジュールのインターフェースが変更された場合、モジュールの所有者はバージョンを更新する責任があります。
graloc や audio などの派生モジュールがこのフィールドを所有し、管理します。モジュール ユーザーは、バージョン フィールドを解釈して、提供されたモジュール実装と相互運用するかどうかを決定する必要があります。たとえば、SurfaceFlinger は、異なるバージョンの gralloc モジュール API を管理する方法を確実に認識する責任があり、AudioFlinger は、オーディオ モジュール API に対して同じことを行う方法を認識している必要があります。
モジュール API バージョンには、メジャー コンポーネントとマイナー コンポーネントが含まれている必要があります。たとえば、バージョン 1.0 は 0x0100 として表すことができます。この形式は、バージョン 0x0100 ~ 0x01ff がすべて API 互換であることを意味します。
将来的には、libhardware は、サポートされる最小/最大バージョンを引数として受け取り、指定された範囲外のバージョンを持つモジュールを拒否できる hw_get_module_version() (または同等の) 関数を公開する予定です。
ファイルhardware.hの111行目の定義。
const char* 名前 |
このモジュールの名前
ファイルhardware.hの136行目の定義。
uint32_t 予約済み[32-7] |
128 バイトにパディング、将来の使用のために予約されています
ファイルhardware.hの151行目の定義。
uint32_t タグ |
タグは HARDWARE_MODULE_TAG に初期化する必要があります
ファイルhardware.hの88行目の定義。
この構造体のドキュメントは次のファイルから生成されました。
- hardware/libhardware/include/hardware/ hardware.h