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

Linux                                           21 décembre 2020                                       USELIB(2)