Provided by: manpages-fr-dev_4.23.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

       Linux.

HISTORIQUE

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