Referência de estrutura hw_module_t

Referência de estrutura hw_module_t

#include < hardware.h >

Campos de dados

uint32_t marcação
uint16_t module_api_version
uint16_t hal_api_version
const caractere * eu ia
const caractere * nome
const caractere * autor
estrutura hw_module_methods_t * métodos
vazio * dso
uint32_t reservado [32-7]

Descrição detalhada

Cada módulo de hardware deve ter uma estrutura de dados chamada HAL_MODULE_INFO_SYM e os campos desta estrutura de dados devem começar com hw_module_t seguido de informações específicas do módulo.

Definição na linha 86 do arquivo hardware.h .

Documentação de campo

const char* autor

Autor/proprietário/implementador do módulo

Definição na linha 139 do arquivo hardware.h .

nulo* dso

dso do módulo

Definição na linha 145 do arquivo hardware.h .

uint16_t hal_api_version

As definições de version_major/version_minor são fornecidas aqui para compatibilidade temporária do código-fonte. Eles serão removidos na próxima versão. TODOS os clientes devem converter para o formato da nova versão. A versão API da interface do módulo HAL. Isso se destina à versão das estruturas e definições hw_module_t , hw_module_methods_t e hw_device_t .

A interface HAL possui este campo. Os usuários/implementações do módulo NÃO devem confiar neste valor para obter informações de versão.

Atualmente, 0 é o único valor válido.

Definição na linha 129 do arquivo hardware.h .

const char*id

Identificador do módulo

Definição na linha 133 do arquivo hardware.h .

estrutura hw_module_methods_t * métodos

Métodos de módulos

Definição na linha 142 do arquivo hardware.h .

uint16_t módulo_api_version

A versão API do módulo implementado. O proprietário do módulo é responsável por atualizar a versão quando a interface do módulo for alterada.

Os módulos derivados, como gralloc e audio, possuem e gerenciam esse campo. O usuário do módulo deve interpretar o campo version para decidir se deve ou não interoperar com a implementação do módulo fornecido. Por exemplo, SurfaceFlinger é responsável por garantir que sabe como gerenciar diferentes versões da API do módulo gralloc, e AudioFlinger deve saber como fazer o mesmo para a API do módulo de áudio.

A versão da API do módulo deve incluir um componente principal e um componente secundário. Por exemplo, a versão 1.0 poderia ser representada como 0x0100. Este formato implica que as versões 0x0100-0x01ff são todas compatíveis com API.

No futuro, a libhardware irá expor uma função hw_get_module_version() (ou equivalente) que aceitará versões mínimas/máximas suportadas como argumentos e será capaz de rejeitar módulos com versões fora do intervalo fornecido.

Definição na linha 111 do arquivo hardware.h .

const char* nome

Nome deste módulo

Definição na linha 136 do arquivo hardware.h .

uint32_t reservado[32-7]

preenchimento para 128 bytes, reservado para uso futuro

Definição na linha 151 do arquivo hardware.h .

etiqueta uint32_t

tag deve ser inicializada como HARDWARE_MODULE_TAG

Definição na linha 88 do arquivo hardware.h .


A documentação desta estrutura foi gerada a partir do seguinte arquivo:
  • hardware/libhardware/include/hardware/ hardware.h