Riferimento alla struttura hw_module_t

Riferimento alla struttura hw_module_t

#include < hardware.h >

Campi dati

uint32_t etichetta
uint16_t module_api_version
uint16_t hal_api_version
carattere cost * id
carattere cost * nome
carattere cost * 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 e i campi di questa struttura dati devono iniziare con hw_module_t seguito dalle informazioni specifiche del modulo.

Definizione alla riga 86 del file hardware.h .

Documentazione sul campo

const carattere* 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

Le definizioni di version_major/version_minor vengono fornite qui per la compatibilità temporanea del codice sorgente. Verranno rimossi nella prossima versione. TUTTI i client devono convertirsi al formato della nuova versione. La versione API dell'interfaccia del modulo HAL. Questo ha lo scopo di modificare la versione delle strutture e 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 carattere* 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 quando l'interfaccia del modulo viene modificata.

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 fornito. Ad esempio, SurfaceFlinger è responsabile di assicurarsi di sapere 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 minore. Ad esempio, la versione 1.0 potrebbe essere rappresentata come 0x0100. Questo formato implica che le versioni 0x0100-0x01ff siano tutte compatibili con API.

In futuro, libhardware esporrà una funzione hw_get_module_version() (o equivalente) che prenderà le versioni minime/massime supportate come argomenti e sarà in grado di rifiutare moduli con versioni al di fuori dell'intervallo fornito.

Definizione alla riga 111 del file hardware.h .

const carattere* nome

Nome di questo modulo

Definizione alla riga 136 del file hardware.h .

uint32_t riservato[32-7]

imbottitura a 128 byte, riservata per 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