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 *名前
const char *著者
struct hw_module_methods_t *メソッド
空所 * dso
uint32_t予約済み[32-7]

詳細な説明

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

ファイルhardware.h86行で定義されています。

フィールドドキュメント

constchar*作成者

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

ファイル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行で定義されています。

モジュールメソッド

ファイルhardware.h142行で定義されています。

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.h111行で定義されています。

constchar*名

このモジュールの名前

ファイルhardware.h136行で定義されています。

uint32_t予約済み[32-7]

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

ファイルhardware.h151行で定義されています。

uint32_tタグ

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

ファイルhardware.h88行で定義されています。


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