hw_module_t Referencia de estructura

hw_module_t Referencia de estructura

#include < hardware.h >

Campos de información

uint32_t etiqueta
uint16_t module_api_version
uint16_t hal_api_version
carácter constante * identificación
carácter constante * nombre
carácter constante * autor
estructura hw_module_methods_t * métodos
vacío * dso
uint32_t reservado [32-7]

Descripción detallada

Cada módulo de hardware debe tener una estructura de datos denominada HAL_MODULE_INFO_SYM y los campos de esta estructura de datos deben comenzar con hw_module_t seguido de información específica del módulo.

Definición en la línea 86 del archivo hardware.h .

Documentación de campo

carácter constante* autor

Autor/propietario/implementador del módulo

Definición en la línea 139 del archivo hardware.h .

vacío* dso

dso del módulo

Definición en la línea 145 del archivo hardware.h .

uint16_t hal_api_version

Las definiciones de version_major/version_minor se proporcionan aquí para compatibilidad temporal con el código fuente. Se eliminarán en la próxima versión. TODOS los clientes deben convertir al nuevo formato de versión. La versión API de la interfaz del módulo HAL. Esto está destinado a versionar las estructuras y definiciones hw_module_t , hw_module_methods_t y hw_device_t .

La interfaz HAL posee este campo. Los usuarios/implementaciones del módulo NO deben confiar en este valor para obtener información sobre la versión.

Actualmente, 0 es el único valor válido.

Definición en la línea 129 del archivo hardware.h .

identificación constante del carácter*

Identificador del módulo

Definición en la línea 133 del archivo hardware.h .

estructura hw_module_methods_t * métodos

Métodos de módulos

Definición en la línea 142 del archivo hardware.h .

uint16_t module_api_version

La versión API del módulo implementado. El propietario del módulo es responsable de actualizar la versión cuando la interfaz de un módulo cambia.

Los módulos derivados como gralloc y audio poseen y gestionan este campo. El usuario del módulo debe interpretar el campo de versión para decidir si interopera o no con la implementación del módulo suministrado. Por ejemplo, SurfaceFlinger es responsable de asegurarse de saber cómo administrar diferentes versiones de la API del módulo gralloc, y AudioFlinger debe saber cómo hacer lo mismo con la API del módulo de audio.

La versión API del módulo debe incluir un componente principal y uno secundario. Por ejemplo, la versión 1.0 podría representarse como 0x0100. Este formato implica que las versiones 0x0100-0x01ff son todas compatibles con API.

En el futuro, libhardware expondrá una función hw_get_module_version() (o equivalente) que tomará como argumentos las versiones mínimas/máximas admitidas y podrá rechazar módulos con versiones fuera del rango proporcionado.

Definición en la línea 111 del archivo hardware.h .

nombre de carácter constante*

Nombre de este módulo

Definición en la línea 136 del archivo hardware.h .

uint32_t reservado[32-7]

relleno a 128 bytes, reservado para uso futuro

Definición en la línea 151 del archivo hardware.h .

etiqueta uint32_t

La etiqueta debe inicializarse en HARDWARE_MODULE_TAG.

Definición en la línea 88 del archivo hardware.h .


La documentación para esta estructura se generó a partir del siguiente archivo:
  • hardware/libhardware/include/hardware/ hardware.h