Referencia de estructura hw_module_t

Referencia de estructura hw_module_t

#include < hardware.h >

Campos de información

uint32_t etiqueta
uint16_t módulo_api_versión
uint16_t versión_hal_api
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

const char* 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 version_major/version_minor se proporcionan aquí para la compatibilidad temporal del código fuente. Se eliminarán en la próxima versión. TODOS los clientes deben convertir al formato de la nueva 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 .

const char* id

Identificador de 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 módulo_api_versión

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 ha cambiado.

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 interoperar 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 de la 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á las versiones mínimas/máximas admitidas como argumentos y podrá rechazar módulos con versiones fuera del rango proporcionado.

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

const char* nombre

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