Référence de structure hw_module_t
#include < hardware.h >
Champs de données | |
uint32_t | étiqueter |
uint16_t | module_api_version |
uint16_t | hal_api_version |
const char * | identifiant |
const char * | nom |
const char * | auteur |
structure hw_module_methods_t * | méthodes |
vide * | 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 de terrain
const char* auteur |
Auteur/propriétaire/implémenteur du module
Définition à la ligne 139 du fichier hardware.h .
nul* 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 une compatibilité temporaire du code source. Ils seront supprimés dans la prochaine version. TOUS les clients doivent être convertis au nouveau format de version. La version API de l'interface du module HAL. Ceci vise à versionner les structures et 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 se fier à cette valeur pour les informations de version.
Actuellement, 0 est la seule valeur valide.
Définition à la ligne 129 du fichier hardware.h .
const char* identifiant |
Identifiant du module
Définition à la ligne 133 du fichier hardware.h .
struct hw_module_methods_t * méthodes |
Méthodes des modules
Définition à la ligne 142 du fichier hardware.h .
uint16_t module_api_version |
La version API du module implémenté. Le propriétaire du module est responsable de la mise à jour de 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 d'interagir ou non avec l'implémentation du module fourni. Par exemple, SurfaceFlinger est chargé de s'assurer qu'il sait gérer les différentes versions de l'API du module gralloc, et AudioFlinger doit savoir comment faire de même pour l'API du module audio.
La version API du module doit inclure un composant majeur et un composant mineur. Par exemple, la version 1.0 pourrait être représentée par 0x0100. Ce format implique que les versions 0x0100-0x01ff sont toutes compatibles API.
À l'avenir, libhardware exposera une fonction hw_get_module_version() (ou équivalent) qui prendra les versions minimales/maximales prises en charge comme arguments et pourra rejeter les modules avec des versions en dehors de la plage fournie.
Définition à la ligne 111 du fichier hardware.h .
const char* nom |
Nom de ce module
Définition à la ligne 136 du fichier hardware.h .
uint32_t réservé[32-7] |
remplissage à 128 octets, réservé pour une utilisation future
Définition à la ligne 151 du fichier hardware.h .
balise uint32_t |
la balise doit être initialisée à HARDWARE_MODULE_TAG
Définition à la ligne 88 du fichier hardware.h .
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ hardware.h