hw_module_t-Strukturreferenz
#include < hardware.h >
Datenfelder | |
uint32_t | Etikett |
uint16_t | module_api_version |
uint16_t | hal_api_version |
const char * | Ausweis |
const char * | Name |
const char * | Autor |
struct hw_module_methods_t * | Methoden |
Leere * | dso |
uint32_t | reserviert [32-7] |
detaillierte Beschreibung
Jedes Hardwaremodul muss eine Datenstruktur namens HAL_MODULE_INFO_SYM haben und die Felder dieser Datenstruktur müssen mit hw_module_t beginnen, gefolgt von modulspezifischen Informationen.
Definition in Zeile 86 der Datei hardware.h .
Felddokumentation
const char* Autor |
Autor/Eigentümer/Implementierer des Moduls
Definition in Zeile 139 der Datei hardware.h .
void* dso |
DSO des Moduls
Definition in Zeile 145 der Datei hardware.h .
uint16_t hal_api_version |
version_major/version_minor-Definitionen werden hier zur temporären Quellcodekompatibilität bereitgestellt. Sie werden in der nächsten Version entfernt. ALLE Clients müssen auf das neue Versionsformat konvertieren. Die API-Version der HAL-Modulschnittstelle. Dies dient der Versionierung der Strukturen und Definitionen hw_module_t , hw_module_methods_t und hw_device_t .
Die HAL-Schnittstelle besitzt dieses Feld. Modulbenutzer/Implementierungen dürfen sich bei Versionsinformationen NICHT auf diesen Wert verlassen.
Derzeit ist 0 der einzig gültige Wert.
Definition in Zeile 129 der Datei hardware.h .
const char* id |
Bezeichner des Moduls
Definition in Zeile 133 der Datei hardware.h .
struct hw_module_methods_t * Methoden |
Modulmethoden
Definition in Zeile 142 der Datei hardware.h .
uint16_t module_api_version |
Die API-Version des implementierten Moduls. Der Modulbesitzer ist für die Aktualisierung der Version verantwortlich, wenn sich eine Modulschnittstelle geändert hat.
Die abgeleiteten Module wie gralloc und audio besitzen und verwalten dieses Feld. Der Modulbenutzer muss das Versionsfeld interpretieren, um zu entscheiden, ob er mit der bereitgestellten Modulimplementierung zusammenarbeiten möchte oder nicht. Beispielsweise ist SurfaceFlinger dafür verantwortlich, sicherzustellen, dass es weiß, wie verschiedene Versionen der Gralloc-Modul-API verwaltet werden, und AudioFlinger muss wissen, wie das Gleiche mit der Audiomodul-API zu tun ist.
Die Modul-API-Version sollte eine Haupt- und eine Nebenkomponente enthalten. Version 1.0 könnte beispielsweise als 0x0100 dargestellt werden. Dieses Format impliziert, dass die Versionen 0x0100–0x01ff alle API-kompatibel sind.
In Zukunft wird libhardware eine Funktion hw_get_module_version() (oder eine gleichwertige Funktion) verfügbar machen, die minimal/maximal unterstützte Versionen als Argumente akzeptiert und in der Lage wäre, Module mit Versionen außerhalb des angegebenen Bereichs abzulehnen.
Definition in Zeile 111 der Datei hardware.h .
const char* Name |
Name dieses Moduls
Definition in Zeile 136 der Datei hardware.h .
uint32_t reserviert[32-7] |
Auffüllung auf 128 Byte, reserviert für zukünftige Verwendung
Definition in Zeile 151 der Datei hardware.h .
uint32_t-Tag |
Das Tag muss auf HARDWARE_MODULE_TAG initialisiert werden
Definition in Zeile 88 der Datei hardware.h .
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ hardware.h