jammy (2) uselib.2.gz

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