Documentation de référence sur la struct hw_module_t
#include <
hardware.h
>
Champs de données |
|
uint32_t | Balise |
uint16_t | module_api_version |
uint16_t | hal_api_version |
const char * | id |
const char * | name |
const char * | auteur |
struct hw_module_methods_t * | méthodes |
void * | dso |
uint32_t | réservé [32-7] |
Description détaillée
Chaque module matériel doit avoir une structure de données nommée HAL_MODULE_INFO_SYM, et les champs de cette structure de données doivent commencer par hw_module_t suivi d'informations spécifiques au module.
Définition à la ligne 86 du fichier hardware.h .
Documentation des champs
const char* author |
Auteur/Propriétaire/Implémentateur du module
Définition à la ligne 139 du fichier hardware.h .
void* dso |
dso du module
Définition à la ligne 145 du fichier hardware.h .
uint16_t hal_api_version |
Les définitions version_major/version_minor sont fournies ici pour la compatibilité temporaire du code source. Elles seront supprimées dans la prochaine version. TOUS les clients doivent convertir leurs fichiers au nouveau format. Version de l'API de l'interface du module HAL. Il s'agit de versionner les structures et les définitions hw_module_t , hw_module_methods_t et hw_device_t .
L'interface HAL est propriétaire de ce champ. Les utilisateurs/implémentations du module ne doivent PAS s'appuyer sur cette valeur pour obtenir des informations sur la version.
Actuellement, 0 est la seule valeur valide.
Définition à la ligne 129 du fichier hardware.h .
const char* id |
Identifiant du module
Définition à la ligne 133 du fichier hardware.h .
struct hw_module_methods_t * methods |
Méthodes des modules
Définition à la ligne 142 du fichier hardware.h .
uint16_t module_api_version |
Version de l'API du module implémenté. Le propriétaire du module est chargé de mettre à jour la version lorsqu'une interface de module a changé.
Les modules dérivés tels que gralloc et audio possèdent et gèrent ce champ. L'utilisateur du module doit interpréter le champ de version pour décider s'il doit ou non interagir avec l'implémentation du module fournie. Par exemple, SurfaceFlinger doit s'assurer qu'il sait gérer différentes versions de l'API gralloc-module, et AudioFlinger doit savoir faire de même pour l'API audio-module.
La version de l'API du module doit inclure un composant majeur et un composant mineur. Par exemple, la version 1.0 peut être représentée par 0x0100. Ce format implique que les versions 0x0100 à 0x01ff sont toutes compatibles avec l'API.
À l'avenir, libhardware exposera une fonction hw_get_module_version() (ou équivalente) qui prendra les versions minimales/maximales compatibles comme arguments et pourra refuser les modules dont les versions ne correspondent pas à la plage fournie.
Définition à la ligne 111 du fichier hardware.h .
const char* name |
Nom de ce module
Définition à la ligne 136 du fichier hardware.h .
uint32_t reserved[32-7] |
remplissage à 128 octets, réservé pour une utilisation ultérieure
Définition à la ligne 151 du fichier hardware.h .
Balise uint32_t |
La balise doit être initialisée sur HARDWARE_MODULE_TAG.
Définition à la ligne 88 du fichier hardware.h .
La documentation de ce struct a été générée à partir du fichier suivant :
- hardware/libhardware/include/hardware/ hardware.h