QUERY_MODULE

Section: Manuel du programmeur Linux (2)
Updated: 21 Juillet 1997
Index Retour au Menu Principal

 

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

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 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.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEURS POSSIBLES DE WHICH
VALEUR RENVOYÉE
ERREURS
VOIR AUSSI
TRADUCTION


Time: 21:42:43 GMT, December 19, 2004