hw_module_t 結構參考

hw_module_t 結構參考

#include < hardware.h >

資料欄位

uint32_t標籤
uint16_t模組 API 版本
uint16_t hal_api_版本
常數字元* ID
常數字元*姓名
常數字元*作者
結構hw_module_methods_t *方法
空白 *數位索
uint32_t保留[32-7]

詳細說明

每個硬體模組必須有一個名為 HAL_MODULE_INFO_SYM 的資料結構,並且該資料結構的欄位必須以hw_module_t開頭,後面跟著模組特定資訊。

定義位於檔案hardware.h86行。

現場文檔

const char* 作者

模組的作者/擁有者/實施者

定義位於檔案hardware.h的第139行。

無效* DSO

模組的dso

定義位於檔案hardware.h的第145行。

uint16_t hal_api_version

此處提供 version_major/version_minor 定義是為了臨時原始碼相容性。它們將在下一個版本中被刪除。所有客戶端都必須轉換為新版本格式。 HAL 模組介面的 API 版本。這意味著hw_module_thw_module_methods_thw_device_t結構和定義的版本。

HAL 介面擁有該欄位。模組使用者/實作不得依賴此值來取得版本資訊。

目前,0 是唯一有效值。

定義位於檔案hardware.h的第129行。

常數 char* id

模組標識符

定義位於檔案hardware.h的第133行。

結構hw_module_methods_t * 方法

模組方法

定義位於檔案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* 名稱

該模組的名稱

定義位於檔案hardware.h的第136行。

uint32_t 保留[32-7]

填入 128 字節,保留供將來使用

定義位於檔案hardware.h的第151行。

uint32_t 標籤

標籤必須初始化為 HARDWARE_MODULE_TAG

定義位於檔案hardware.h88行。


該結構的文檔是從以下文件產生的: