get_kernel_syms(2) System Calls Manual get_kernel_syms(2) NOM get_kernel_syms - Obtenir les symboles exportes du noyau et des modules SYNOPSIS #include [[obsolete]] int get_kernel_syms(struct kernel_sym *table); DESCRIPTION Remarque : cet appel systeme n'est present 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 disperses avec des symboles magiques de la forme #module-name, le noyau ayant un nom vide. La valeur associee a un symbole de cette forme est l'adresse a laquelle le module a ete charge. Les symboles exportes par chaque module suivent leur etiquette module magique et les modules sont renvoyes dans l'ordre inverse duquel ils ont ete charges. VALEUR RENVOYEE En cas de reussite, renvoie le nombre de symboles copies dans table. En cas d'echec, -1 est renvoye et errno est positionne 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. STANDARDS Linux. HISTORIQUE Supprime dans Linux 2.6. Cet appel systeme obsolete n'est pas pris en charge par la glibc. Il n'est pas declare dans les en-tetes de la glibc mais, par un caprice de l'histoire, les versions de la glibc anterieures a la glibc 2.23 fournissaient une interface binaire pour cet appel systeme. Ainsi, il suffisait de declarer manuellement l'interface dans votre code pour utiliser cet appel systeme. Sinon, vous pouvez l'invoquer en utilisant syscall(2). BOGUES Il n'y a pas moyen d'indiquer la taille du tampon alloue a table. Si des symboles ont ete ajoutes au noyau depuis que le programme s'est enquis de la taille de la table des symboles, la memoire sera corrompue. La longueur des noms de symboles exportes est limitee a 59 caracteres. A cause de ces limitations, cet appel systeme est deprecie au profit de query_module(2) (qui est lui-meme aujourd'hui deprecie au profit d'autres interfaces qui sont decrites dans leurs pages de manuel). VOIR AUSSI create_module(2), delete_module(2), init_module(2), query_module(2) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier et David Prevot Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.8 2 mai 2024 get_kernel_syms(2)