.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1996 Free Software Foundation, Inc. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. .\" %%%LICENSE_END .\" .\" 2006-02-09, some reformatting by Luc Van Oostenryck; some .\" reformatting and rewordings by mtk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH QUERY_MODULE 2 "15 septembre 2017" Linux "Manuel du programmeur Linux" .SH NOM query_module \- Interroger le noyau sur diverses choses relatives aux modules .SH SYNOPSIS .nf \fB#include \fP .PP \fBint query_module(const char *\fP\fIname\fP\fB, int \fP\fIwhich\fP\fB, void *\fP\fIbuf\fP\fB,\fP \fB size_t \fP\fIbufsize\fP\fB, size_t *\fP\fIret\fP\fB);\fP .fi .PP \fIRemarque\fP\ : cet appel système n'est pas déclaré par les en\-têtes de la glibc\ ; consultez la section \fBNOTES\fP. .SH DESCRIPTION \fIRemarque\fP\ : cet appel système n'est présent dans Linux qu'avant le noyau\ 2.6. .PP \fBquery_module\fP() demande au noyau des informations sur les modules chargeables. L'information renvoyée est placée dans un tampon pointé par \fIbuf\fP. L'appelant doit indiquer la taille de \fIbuf\fP dans \fIbufsize\fP. La nature précise et le format de l'information renvoyée dépendent de l'opération qui a été spécifiée dans \fIwhich\fP. Certaines opérations nécessitent un \fIname\fP pour identifier un module actuellement chargé, d'autres permettent que \fIname\fP soit NULL, indiquant le noyau. .PP \fIwhich\fP peut prendre les valeurs suivantes\ : .TP \fB0\fP Retourner avec succès si le noyau prend en charge \fBquery_module\fP(). Utilisé pour tester la disponibilité de l'appel système. .TP \fBQM_MODULES\fP .\" ret is set on ENOSPC Renvoyer les noms de tous les modules chargés. Le tampon renvoyé consiste en une séquence de chaînes de caractères terminées par un octet nul\ ; \fIret\fP prend la valeur du nombre de modules. .TP \fBQM_DEPS\fP .\" ret is set on ENOSPC Renvoyer le nom de tous les modules utilisés par le module indiqué. Le tampon renvoyé consiste en une séquence de chaînes de caractères terminées par un octet nul\ ; \fIret\fP prend la valeur du nombre de modules. .TP \fBQM_REFS\fP .\" ret is set on ENOSPC Renvoyer le nom de tous les modules utilisant le module indiqué. C'est l'inverse de \fBQM_DEPS\fP. Le tampon renvoyé consiste en une séquence de chaînes de caractères terminées par un octet nul\ ; \fIret\fP prend la valeur du nombre de modules. .TP \fBQM_SYMBOLS\fP .\" ret is set on ENOSPC Renvoyer les symboles et valeurs exportés par le noyau ou le module indiqué. Le tampon renvoyé est un tableau de structures de la forme suivante\ : .IP .in +4n .EX struct module_symbol { unsigned long value; unsigned long name; }; .EE .in .IP suivi par des chaînes de caractères terminées par un octet nul. La valeur de \fIname\fP est le décalage en caractère de la chaîne relativement au début de \fIbuf\fP\ ; \fIret\fP prend la valeur du nombre de symboles. .TP \fBQM_INFO\fP Renvoyer diverses informations sur le module indiqué. Le format du tampon de sortie est de la forme\ : .IP .in +4n .EX struct module_info { unsigned long address; unsigned long size; unsigned long flags; }; .EE .in .IP où \fIaddress\fP est l'adresse noyau où se trouve le module, \fIsize\fP est la taille en octets du module et \fIflags\fP un masque de \fBMOD_RUNNING\fP, \fBMOD_AUTOCLEAN\fP,\ etc., qui indique l'état actuel du module (consultez le fichier \fIinclude/linux/module.h\fP dans les sources du noyau Linux). \fIret\fP prend la valeur de la taille de la structure \fImodule_info\fP. .SH "VALEUR RENVOYÉE" En cas de succès, \fB0\fP est renvoyé. en cas d'échec, \fB\-1\fP est renvoyé et \fIerrno\fP se remplit en conséquence. .SH ERREURS .TP \fBEFAULT\fP Au moins une adresse parmi \fIname\fP, \fIbuf\fP ou \fIret\fP est en dehors de l'espace d'adressage accessible du programme. .TP \fBEINVAL\fP .\" Not permitted with QM_DEPS, QM_REFS, or QM_INFO. \fIwhich\fP est invalide ou \fIname\fP est NULL (indiquant le noyau) mais ce n'est pas permis avec la valeur de \fIwhich\fP. .TP \fBENOENT\fP Aucun module du nom \fIname\fP n'existe. .TP \fBENOSPC\fP La taille du tampon fournie est trop petite\ ; \fIret\fP prend la valeur de la taille minimum nécessaire. .TP \fBENOSYS\fP \fBquery_module\fP() n'est pas pris en charge par cette version du noyau (par exemple un noyau en version\ 2.6 ou au\-delà). .SH VERSIONS .\" Removed in Linux 2.5.48 Cet appel système n'est présent dans Linux que jusqu'au noyau\ 2.4\ ; il a été supprimé dans Linux\ 2.6. .SH CONFORMITÉ \fBquery_module\fP() est spécifique à Linux. .SH NOTES Certains renseignements, qui étaient auparavant disponibles avec \fBquery_module\fP(), peuvent être obtenus dans \fI/proc/modules\fP, \fI/proc/kallsyms\fP et les fichiers du répertoire \fI/sys/modules\fP. .PP L'appel système \fBquery_module\fP() n'est pas pris en charge par la glibc. Il n'est pas déclaré dans les en\-têtes de la glibc, mais par un caprice de l'histoire, la glibc fournit une interface binaire pour cet appel système. Ainsi, il suffit de déclarer manuellement l'interface dans votre code pour utiliser cet appel système. Sinon, vous pouvez l'invoquer en utilisant \fBsyscall\fP(2). .SH "VOIR AUSSI" \fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBget_kernel_syms\fP(2), \fBinit_module\fP(2), \fBlsmod\fP(8), \fBmodinfo\fP(8) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Thomas Vincent . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .