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

NOME

       uselib - seleziona una libreria condivisa

SINTASSI

       #include <unistd.h>

       int uselib(const char *library);

       Nota:  Nessuna  dichiarazione  di questa chiamata di sistema si ritrova nelle intestazioni di glibc; vedi
       NOTE.

DESCRIZIONE

       La chiamata di sistema uselib() serve per caricare una libreria condivisa che  sarà  usata  dal  processo
       chiamante. Viene dato un nome di percorso. L'indirizzo da cui caricare si trova nella stessa libreria. La
       libreria può avere qualunque formato binario riconosciuto.

VALORE RESTITUITO

       In  caso  di  successo  restituisce  zero.  In  caso di errore restituisce -1, e errno verrà impostato di
       conseguenza.

ERRORI

       In aggiunta a tutti i codici di errore restituiti da open(2) e mmap(2), possono essere restituiti anche i
       seguenti:

       EACCES La libreria specificata da library non ha permessi in lettura o esecuzione, o il chiamante non  ha
              permessi di ricerca per una delle directory nel percorso (vedere anche path_resolution(7)).

       ENFILE E' stato raggiunto il limite per l'intero sistema sul numero totale di file aperti.

       ENOEXEC
              Il  file  specificato  da  library  non  è un eseguibile o un tipo conosciuto, es., non ha i magic
              number corretti.

CONFORME A

       uselib() è specifico di Linux, e non deve essere usato in programmi pensati per essere portabili.

NOTE

       Questa chiamata di sistema obsoleta non è supportata da glibc. Nelle intestazioni di glibc non  si  trova
       nessuna  dichiarazione  ma,  per  una  stranezza  della storia, le versioni di glibc precedenti alla 2.23
       esportavano un'ABI per questa chiamata di sistema. Di  conseguenza,  per  impiegare  questa  chiamata  di
       sistema,  era  sufficiente  dichiarare  manualmente  l'interfaccia nel proprio codice; in alternativa, si
       poteva invocare la chiamata di sistema usando syscall(2).

       Nelle vecchie versioni (prima di glibc 2.0), uselib() fu usata per caricare  le  librerie  condivise  con
       nomi trovati in un array di nomi nel binario.

       A partire da Linux 3.15, questa chiamata di sistema è disponibile solo quando il kernel è configurato con
       l'opzione CONFIG_USELIB.

VEDERE ANCHE

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

COLOPHON

       Questa  pagina  fa parte del rilascio 5.10 del progetto Linux man-pages. Una descrizione del progetto, le
       istruzioni per la segnalazione degli  errori,  e  l'ultima  versione  di  questa  pagina  si  trovano  su
       https://www.kernel.org/doc/man-pages/.

TRADUZIONE

       La   traduzione   italiana   di   questa  pagina  di  manuale  è  stata  creata  da  Goffredo  Baroncelli
       <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it> e Marco Curreli <marcocurreli@tiscali.it>

       Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o  successiva
       per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale  inviare un messaggio a pluto-
       ildp@lists.pluto.it.

Linux                                           21 dicembre 2020                                       USELIB(2)