Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Odniesienie do struktury hw_module_t

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