QUERY_MODULE(2)    Manuel du programmeur Linux    QUERY_MODULE(2)


NOM
       query_module  - Demander au noyau des informations concer­
       nant les modules.

SYNOPSIS
       #include <linux/module.h>

       int query_module(const char *nom, int which,
         void *buf, size_t taille_buf, size_t *ret);

DESCRIPTION
       query_module interroge le noyau pour obtenir des  informa­
       tions   concernant  les  modules  chargeables.  La  nature
       précise des informations, et leurs  formats  dépendent  de
       l'argument  which,  qui joue le rôle de sélecteur de fonc­
       tion.

       Certaines fonctions nécessitent le nom d'un module  effec­
       tivement  chargé,  certaines permettent à nom d'être NULL,
       afin d'obtenir les informations propres au noyau.


   VALEURS POSSIBLES DE WHICH
       0      Réussit  toujours.  Permet  de  vérifier   l'appel-
              système.

       QM_MODULES
              Renvoie  le  nom  de  tous les modules chargés.  Le
              buffer de sortie est rempli  avec  des  chaînes  de
              caractères  terminées par des caractères nuls.  ret
              contient le nombre de modules.

       QM_DEPS
              Renvoie le nom de tous les modules utilisés par  le
              module  indiqué.   Le  buffer  de sortie est rempli
              avec des chaînes de caractères  terminées  par  des
              caractères  nuls.   ret  contient le nombre de mod­
              ules.

       QM_REFS
              Renvoie le nom de tous  les  modules  utilisant  le
              module  indiqué.   C'est  la  fonction  inverse  de
              QM_DEPS.  Le buffer de sortie est rempli  avec  des
              chaînes  de caractères terminées par des caractères
              nuls.  ret contient le nombre de modules.

       QM_SYMBOLS
              Renvoie les symboles et les valeurs exportés par le
              noyau,  ou par le module indiqué. Le buffer de sor­
              tie est un tableau de structures :

              struct module_symbol
              {
                unsigned long value;



Linux                    21 Juillet 1997                        1





QUERY_MODULE(2)    Manuel du programmeur Linux    QUERY_MODULE(2)


                unsigned long name;
              };

              suivi de chaînes terminées par des caractères nuls.
              La  valeur  de name correspond au décalage entre le
              nom du symbole et le début du buffer buf.  ret con­
              tient le nombre de symboles.

       QM_INFO
              Renvoie  des  informations  diverses  concernant le
              module indiqué. Le buffer de sortie est une  struc­
              ture :

              struct module_info
              {
                unsigned long address;
                unsigned long size;
                unsigned long flags;
              };

              ou  address  correspond  à  l'adresse à laquelle le
              module réside dans le noyau, size est la taille, en
              octets,  du  module,  et  flags  est  un  masque de
              MOD_RUNNING,  MOD_AUTOCLEAN,  etc.  qui   indiquent
              l'état  actuel  du  module.   ret  correspond  à la
              taille de la structure module_info.

VALEUR RENVOYÉE
       query_modules  renvoie  zéro  s'il  réussit,  ou  -1  s'il
       échoue, auquel cas errno contient le code d'erreur.

ERREURS
       ENOENT Il n'y a pas de module de ce nom.

       EINVAL La valeur de which est invalide, ou le nom est NULL
              et la sous-fonction n'est pas  appropriée  pour  le
              noyau.

       ENOSPC Le  buffer  fourni  est trop petit. ret contient la
              taille minimum nécessaire.

       EFAULT nom, buf, ou  ret  pointe  en  dehors  de  l'espace
              d'adressage accessible.

VOIR AUSSI
       create_module(2), init_module(2), delete_module(2).


TRADUCTION
       Christophe Blaess, 1997.







Linux                    21 Juillet 1997                        2