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