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