Provided by: manpages-fr-dev_4.18.1-1_all bug

NOM

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

SYNOPSIS

       #include <unistd.h>

       [[deprecated]] int uselib(const char *bibliothèque);

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  est  définie
       pour préciser l'erreur.

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

STANDARDS

       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. Il n'est pas déclaré
       dans les en-têtes de la glibc mais, par un  caprice  de  l'histoire,  la  glibc  avant  la
       glibc 2.23  fournissait  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).

       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)

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