hw_module_t Odniesienie do struktury

hw_module_t Odniesienie do struktury

#include < hardware.h >

Pola danych

uint32_t etykietka
uint16_t wersja_modułu_api
uint16_t wersja_hal_api
znak stały * ID
znak stały * nazwa
znak stały * autor
struktura hw_module_methods_t * metody
próżnia * dso
uint32_t zarezerwowane [32-7]

szczegółowy opis

Każdy moduł sprzętowy musi mieć strukturę danych o nazwie HAL_MODULE_INFO_SYM, a pola tej struktury danych muszą zaczynać się od hw_module_t , po którym następują informacje specyficzne dla modułu.

Definicja w linii 86 pliku hardware.h .

Dokumentacja terenowa

const char* autor

Autor/właściciel/implementator modułu

Definicja w linii 139 pliku hardware.h .

nieważne* dso

dso modułu

Definicja w linii 145 pliku hardware.h .

uint16_t hal_api_version

Definicje wersji_głównej/wersji_pomniejszej są tutaj dostarczane w celu zapewnienia tymczasowej zgodności z kodem źródłowym. Zostaną usunięte w następnej wersji. WSZYSCY klienci muszą dokonać konwersji do formatu nowej wersji. Wersja API interfejsu modułu HAL. Ma to na celu zmianę wersji struktur i definicji hw_module_t , hw_module_methods_t i hw_device_t .

Właścicielem tego pola jest interfejs HAL. Użytkownicy/implementacje modułu NIE mogą polegać na tej wartości w celu uzyskania informacji o wersji.

Obecnie jedyną prawidłową wartością jest 0.

Definicja w linii 129 pliku hardware.h .

stały znak* identyfikator

Identyfikator modułu

Definicja w linii 133 pliku hardware.h .

struktura hw_module_methods_t * metody

Metody modułowe

Definicja w linii 142 pliku hardware.h .

uint16_t wersja_api_modułu

Wersja API zaimplementowanego modułu. Właściciel modułu jest odpowiedzialny za aktualizację wersji w przypadku zmiany interfejsu modułu.

Moduły pochodne, takie jak gralloc i audio, posiadają i zarządzają tym polem. Użytkownik modułu musi zinterpretować pole wersji, aby zdecydować, czy chce współpracować z dostarczoną implementacją modułu. Na przykład SurfaceFlinger jest odpowiedzialny za upewnienie się, że wie, jak zarządzać różnymi wersjami interfejsu API modułu gralloc, a AudioFlinger musi wiedzieć, jak zrobić to samo w przypadku interfejsu API modułu audio.

Wersja API modułu powinna zawierać komponent główny i poboczny. Na przykład wersję 1.0 można przedstawić jako 0x0100. Ten format oznacza, że ​​wszystkie wersje 0x0100-0x01ff są kompatybilne z API.

W przyszłości libhardware udostępni funkcję hw_get_module_version() (lub jej odpowiednik), która będzie przyjmować jako argumenty minimalną/maksymalną obsługiwaną wersję i będzie mogła odrzucać moduły z wersjami spoza podanego zakresu.

Definicja w linii 111 pliku hardware.h .

const char* nazwa

Nazwa tego modułu

Definicja w linii 136 pliku hardware.h .

uint32_t zarezerwowane[32-7]

dopełnienie do 128 bajtów, zarezerwowane do wykorzystania w przyszłości

Definicja w linii 151 pliku hardware.h .

znacznik uint32_t

tag musi zostać zainicjowany w HARDWARE_MODULE_TAG

Definicja w linii 88 pliku hardware.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku:
  • hardware/libhardware/include/hardware/ hardware.h