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