Référence de structure hw_module_t

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