Référence de structure hw_module_t
#include < hardware.h >
Champs de données | |
uint32_t | étiquette |
uint16_t | module_api_version |
uint16_t | hal_api_version |
caractère const * | identifiant |
caractère const * | Nom |
caractère const * | auteur |
structure hw_module_methods_t * | méthodes |
annuler * | 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 .
annuler* dso |
dso du module
Définition à la ligne 145 du fichier hardware.h .
uint16_t hal_api_version |
Les définitions de version_major/version_minor sont fournies ici pour la compatibilité temporaire du code source. Ils seront supprimés dans la prochaine version. TOUS les clients doivent convertir au nouveau format de version. La version API de l'interface du module HAL. Ceci est destiné à versionner les structures et définitions hw_module_t , hw_module_methods_t et hw_device_t .
L'interface HAL possède ce champ. Les utilisateurs/implémentations de modules 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* id |
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'interopérer ou non avec l'implémentation de module fournie. Par exemple, SurfaceFlinger est chargé de s'assurer qu'il sait comment gérer les 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 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 :
- hardware/libhardware/include/hardware/ hardware.h