Provided by: manpages-it-dev_4.15.0-9_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 per indicare l'errore

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.13 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.