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