Provided by: manpages-ro-dev_4.21.0-2_all 

NUME
uselib - încarcă o bibliotecă partajată
REZUMAT
#include <unistd.h>
[[depreciată]] int uselib(const char *biblioteca);
DESCRIERE
Apelul de sistem uselib() are rolul de a încărca o bibliotecă partajată care urmează să fie utilizată de
procesul apelant. I se atribuie o adresă de acces. Adresa la care trebuie încărcată se găsește în
biblioteca însăși. Biblioteca poate avea orice format binar recunoscut.
VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată
pentru a indica eroarea.
ERORI
În plus față de toate codurile de eroare returnate de open(2) și mmap(2), pot fi returnate și
următoarele:
EACCES Biblioteca specificată de biblioteca nu are permisiunea de citire sau de execuție, sau apelantul
nu are permisiunea de căutare pentru unul dintre directoarele din prefixul rutei (a se vedea, de
asemenea, path_resolution(7)).
ENFILE Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă.
ENOEXEC
Fișierul specificat de biblioteca nu este un executabil de un tip cunoscut; de exemplu, nu are
numerele magice corecte.
STANDARDE
Apelul uselib() este specific Linux și nu ar trebui să fie utilizat în programe destinate a fi portabile.
NOTE
Acest apel de sistem învechit nu este acceptat de glibc. În anteturile glibc nu este furnizată nicio
declarație, dar, printr-o ciudățenie a istoriei, glibc înainte de glibc 2.23 a exportat un ABI pentru
acest apel de sistem. Prin urmare, pentru a utiliza acest apel de sistem, era suficient să declarați
manual interfața în codul dumneavoastră; alternativ, ați putea invoca apelul de sistem utilizând
syscall(2).
În vechile versiuni libc (înainte de glibc 2.0), uselib() era utilizat pentru a încărca bibliotecile
partajate cu nume găsite într-o matrice de nume din binar.
Începând cu Linux 3.15, acest apel de sistem este disponibil numai atunci când nucleul este configurat cu
opțiunea CONFIG_USELIB.
CONSULTAȚI ȘI
ar(1), gcc(1), ld(1), ldd(1), mmap(2), open(2), dlopen(3), capabilities(7), ld.so(8)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.03 7 ianuarie 2023 uselib(2)