Documentation de référence sur la struct hw_module_t

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 :