Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       get_kernel_syms - Obtenir les symboles exportés du noyau et des modules

SYNOPSIS

       #include <linux/module.h>

       [[obsolète]] int get_kernel_syms(struct kernel_sym *table);

DESCRIPTION

       Remarque : cet appel système n'est présent qu'avant Linux  2.6.

       Si  table  est  NULL,  get_kernel_syms() renvoie le nombre de symboles disponibles. Sinon, il remplit une
       table de structures :

           struct kernel_sym {
               unsigned long value;
               char          name[60];
           };

       Les symboles sont dispersés avec des symboles magiques de la forme #module-name, le noyau  ayant  un  nom
       vide. La valeur associée à un symbole de cette forme est l'adresse à laquelle le module a été chargé.

       Les  symboles  exportés  par  chaque  module  suivent  leur  étiquette module magique et les modules sont
       renvoyés dans l'ordre inverse duquel ils ont été chargés.

VALEUR RENVOYÉE

       En cas de réussite, renvoie le nombre de symboles copiés dans table. En cas d'échec, -1  est  renvoyé  et
       errno est positionné pour indiquer l'erreur.

ERREURS

       Il n'y a qu'une seule erreur de retour possible :

       ENOSYS get_kernel_syms() n'est pas pris en charge par cette version du noyau.

VERSIONS

       Cet appel système n'est présent que jusqu'à Linux 2.4 ; il a été supprimé dans Linux 2.6.

STANDARDS

       get_kernel_syms() est spécifique à Linux.

NOTES

       Cet  appel système obsolète 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, les versions de la  glibc  antérieures  à  la  glibc 2.23
       fournissaient  une interface binaire pour cet appel système. Ainsi, il suffisait de déclarer manuellement
       l'interface dans votre code pour utiliser cet appel système. Sinon, vous pouvez l'invoquer  en  utilisant
       syscall(2).

BOGUES

       Il  n'y  a  pas  moyen  d'indiquer la taille du tampon alloué à table. Si des symboles ont été ajoutés au
       noyau depuis que le programme s'est enquis de la taille  de  la  table  des  symboles,  la  mémoire  sera
       corrompue.

       La longueur des noms de symboles exportés est limitée à 59 caractères.

       À cause de ces limitations, cet appel système est déprécié au profit de query_module(2) (qui est lui-même
       aujourd'hui déprécié au profit d'autres interfaces qui sont décrites dans leurs pages de manuel).

VOIR AUSSI

       create_module(2), delete_module(2), init_module(2), query_module(2)

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier   <barbier@debian.org>   et    David    Prévot
       <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les  conditions  de   copie   et   de
       distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       ⟨debian-l10n-french@lists.debian.org⟩.