Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       uselib - Sélectionner une bibliothèque partagée

SYNOPSIS

       #include <unistd.h>

       int uselib(const char *bibliothèque);

       Remarque : cet appel système n'est pas déclaré par les en-têtes de la glibc ; consultez la
       section NOTES.

DESCRIPTION

       L'appel système uselib() permet de charger une bibliothèque partagée qui sera utilisée par
       le  processus appelant. Il prend un chemin de fichier comme argument. L'adresse où charger
       la bibliothèque est trouvée dans la bibliothèque elle-même.  La  bibliothèque  peut  avoir
       n'importe quel format de binaire reconnu.

VALEUR RENVOYÉE

       En  cas  de  succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno reçoit une
       valeur adéquate.

ERREURS

       En plus de tous les codes d’erreurs renvoyés par open(2) et mmap(2),  les  codes  suivants
       peuvent aussi être renvoyés :

       EACCES La  bibliothèque  indiquée  par  bibliothèque n'est pas accessible en lecture ou en
              écriture, ou l'appelant n'a pas la permission de parcours pour l'un des répertoires
              du chemin. (Consultez aussi path_resolution(7).)

       ENFILE La  limite  du  nombre  total  de  fichiers  ouverts  pour  le système entier a été
              atteinte.

       ENOEXEC
              Le fichier décrit par bibliothèque n'est pas  un  exécutable  de  type  connu  (par
              exemple n'a pas le bon nombre magique).

CONFORMITÉ

       uselib()  est  spécifique  à  Linux  et  ne  devrait  pas être employé dans des programmes
       destinés à être portables.

NOTES

       Cet appel système obsolète n'est pas pris en charge par la glibc. Aucune déclaration n'est
       fournie  dans  les en-têtes de la glibc, mais, par une bizarrerie historique, les versions
       de la glibc antérieures à 2.23 exportaient une ABI pour cet appel système. Par conséquent,
       pour utiliser cet appel système, il suffisait de déclarer l'interface dans votre code ; de
       manière alternative, il est possible d'invoquer l'appel système en utilisant syscall(2).

       Dans les anciennes versions de la libc (avant la glibc 2.0), uselib() était  utilisé  pour
       charger  les  bibliothèques  partagées dont les noms se trouvaient dans un tableau de noms
       dans le binaire.

       Depuis Linux 3.15, cet appel système n'est disponible que si le noyau a été configuré avec
       l'option CONFIG_USELIB.

VOIR AUSSI

       ar(1), gcc(1), ld(1), ldd(1), mmap(2), open(2), dlopen(3), capabilities(7), ld.so(8)

COLOPHON

       Cette  page  fait partie de la publication 5.10 du projet man-pages 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/.

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>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre  Giraud
       <jean-pierregiraud@neuf.fr>

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