Riferimento alla struttura hw_module_t
#include < hardware.h >
Campi dati | |
uint32_t | etichetta |
uint16_t | modulo_api_versione |
uint16_t | hal_api_version |
const car * | id |
const car * | nome |
const car * | autore |
struttura hw_module_methods_t * | metodi |
vuoto * | dso |
uint32_t | riservato [32-7] |
Descrizione dettagliata
Ogni modulo hardware deve avere una struttura dati denominata HAL_MODULE_INFO_SYM ei campi di questa struttura dati devono iniziare con hw_module_t seguito da informazioni specifiche del modulo.
Definizione alla riga 86 del file hardware.h .
Documentazione sul campo
const char* autore |
Autore/proprietario/implementatore del modulo
Definizione alla riga 139 del file hardware.h .
vuoto* dso |
dso del modulo
Definizione alla riga 145 del file hardware.h .
uint16_t hal_api_version |
version_major/version_minor defines sono forniti qui per la compatibilità temporanea del codice sorgente. Verranno rimossi nella prossima versione. TUTTI i client devono convertire nel nuovo formato della versione. La versione API dell'interfaccia del modulo HAL. Questo ha lo scopo di modificare le strutture e le definizioni hw_module_t , hw_module_methods_t e hw_device_t .
L'interfaccia HAL possiede questo campo. Gli utenti/implementazioni del modulo NON devono fare affidamento su questo valore per le informazioni sulla versione.
Attualmente, 0 è l'unico valore valido.
Definizione alla riga 129 del file hardware.h .
const char* id |
Identificatore del modulo
Definizione alla riga 133 del file hardware.h .
struct hw_module_methods_t * metodi |
Metodi dei moduli
Definizione alla riga 142 del file hardware.h .
uint16_t module_api_version |
La versione API del modulo implementato. Il proprietario del modulo è responsabile dell'aggiornamento della versione in caso di modifica dell'interfaccia del modulo.
I moduli derivati come gralloc e audio possiedono e gestiscono questo campo. L'utente del modulo deve interpretare il campo della versione per decidere se interagire o meno con l'implementazione del modulo fornita. Ad esempio, SurfaceFlinger è responsabile di assicurarsi che sappia come gestire diverse versioni dell'API del modulo gralloc e AudioFlinger deve sapere come fare lo stesso per l'API del modulo audio.
La versione dell'API del modulo dovrebbe includere un componente principale e uno secondario. Ad esempio, la versione 1.0 potrebbe essere rappresentata come 0x0100. Questo formato implica che le versioni 0x0100-0x01ff siano tutte compatibili con le API.
In futuro, libhardware esporrà una funzione hw_get_module_version() (o equivalente) che prenderà come argomenti le versioni minime/massime supportate e sarà in grado di rifiutare moduli con versioni al di fuori dell'intervallo fornito.
Definizione alla riga 111 del file hardware.h .
const char* nome |
Nome di questo modulo
Definizione alla riga 136 del file hardware.h .
uint32_t riservato[32-7] |
riempimento a 128 byte, riservato per un uso futuro
Definizione alla riga 151 del file hardware.h .
tag uint32_t |
il tag deve essere inizializzato su HARDWARE_MODULE_TAG
Definizione alla riga 88 del file hardware.h .
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ hardware.h