NOM¶
get_kernel_syms - Obtenir les symboles exportés du noyau et des modules
SYNOPSIS¶
#include <linux/module.h>
int get_kernel_syms(struct kernel_sym *table);
DESCRIPTION¶
Remarque : cet appel système n'est présent dans Linux
qu'avant le noyau 2.6.
Si
table est NULL,
get_kernel_syms() renvoie le nombre de symboles
disponibles. Autrement, 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
rempli en conséquence.
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 dans Linux que jusqu'au
noyau 2.4 ; il a été supprimé dans Linux 2.6.
get_kernel_syms() est spécifique à Linux.
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)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Alain Portal <
http://manpagesfr.free.fr/> (2006-2008).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande «
man -L C
<section> <page_de_man> ».