hw_module_t 構造体のリファレンス

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.h86行目の定義。

フィールドドキュメント

const char* 作成者

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

ファイルhardware.h139行目の定義。

void* dso

モジュールの dso

ファイルhardware.h145行目の定義。

uint16_t hal_api_version

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

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

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

ファイルhardware.h129行目の定義。

const char* ID

モジュールの識別子

ファイルhardware.h133行目の定義。

struct hw_module_methods_t * メソッド

モジュールのメソッド

ファイルhardware.h142行目の定義。

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.h111行目の定義。

const char* 名前

このモジュールの名前

ファイルhardware.h136行目の定義。

uint32_t 予約済み[32-7]

128 バイトにパディング、将来の使用のために予約されています

ファイルhardware.h151行目の定義。

uint32_t タグ

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

ファイルhardware.h88行目の定義。


この構造体のドキュメントは次のファイルから生成されました。
  • hardware/libhardware/include/hardware/ hardware.h