Index général des pages de man   Index Section man 2   Table des Matières de query_module   Imprime la page de man query_module en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions du système (section 2)

query_module

 
  

Nom

query_module - Demander au noyau des informations concernant 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 informations 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 fonction.

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

Valeurs Possibles De Which

  1. 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 modules.
    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 sortie est un tableau de structures :


    struct module_symbol
    {
      unsigned long value;
      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 contient le nombre de symboles.

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


    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.


    Table des matières


    Haut de page

    © 1996-2000 Adaptation française "Christophe Blaess"