Odniesienie do struktury hw_module_t
#include < hardware.h >
Pola danych | |
uint32_t | etykietka |
uint16_t | moduł_api_wersja |
uint16_t | hal_api_wersja |
stały znak * | ID |
stały znak * | Nazwa |
stały znak * | autor |
struct 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/realizator modułu
Definicja w wierszu 139 pliku hardware.h .
nieważne* dso |
moduł dso
Definicja w wierszu 145 pliku hardware.h .
uint16_t hal_api_version |
W tym miejscu podano definicje version_major/version_minor dla tymczasowej zgodności kodu źródłowego. Zostaną usunięte w następnej wersji. WSZYSCY klienci muszą dokonać konwersji do nowego formatu wersji. Wersja API interfejsu modułu HAL. Jest to przeznaczone do tworzenia wersji struktur i definicji hw_module_t , hw_module_methods_t i hw_device_t .
Interfejs HAL jest właścicielem tego pola. Użytkownicy/implementacje modułu NIE MOGĄ polegać na tej wartości w przypadku informacji o wersji.
Obecnie jedyną prawidłową wartością jest 0.
Definicja w wierszu 129 pliku hardware.h .
const char* id |
Identyfikator modułu
Definicja w wierszu 133 pliku hardware.h .
struct hw_module_methods_t * metody |
Metody modułów
Definicja w wierszu 142 pliku hardware.h .
uint16_t module_api_version |
Wersja API zaimplementowanego modułu. Właściciel modułu jest odpowiedzialny za aktualizację wersji w przypadku zmiany interfejsu modułu.
Pochodne moduły, takie jak gralloc i audio, posiadają i zarządzają tą dziedziną. Użytkownik modułu musi zinterpretować pole wersji, aby zdecydować, czy współpracować z dostarczoną implementacją modułu. Na przykład SurfaceFlinger jest odpowiedzialny za upewnienie się, że wie, jak zarządzać różnymi wersjami API modułu gralloc, a AudioFlinger musi wiedzieć, jak zrobić to samo w przypadku API modułu audio.
Wersja interfejsu API modułu powinna zawierać główny i poboczny składnik. Na przykład wersja 1.0 może być reprezentowana jako 0x0100. Ten format oznacza, że wszystkie wersje 0x0100-0x01ff są kompatybilne z API.
W przyszłości libhardware ujawni funkcję hw_get_module_version() (lub równoważną), która przyjmie minimalną/maksymalną obsługiwaną wersję jako argumenty i będzie w stanie odrzucić moduły z wersjami spoza podanego zakresu.
Definicja w wierszu 111 pliku hardware.h .
const znak* nazwa |
Nazwa tego modułu
Definicja w wierszu 136 pliku hardware.h .
uint32_t zarezerwowane[32-7] |
dopełnienie do 128 bajtów, zarezerwowane do wykorzystania w przyszłości
Definicja w wierszu 151 pliku hardware.h .
tag uint32_t |
tag musi być zainicjowany do HARDWARE_MODULE_TAG
Definicja w linii 88 pliku hardware.h .
Dokumentacja dla tej struktury została wygenerowana z następującego pliku:
- sprzęt/libhardware/include/ hardware /sprzęt.h