USELIB(2) Linux Programmeurs Handleiding USELIB(2)

uselib - kies gedeelde bibliotheek

#include <unistd.h>
int uselib(const char *library);

Let op: Er is geen declaratie van deze systeem aanroep voorzien in glibc kop bestanden; zie OPMERKINGEN.

De systeem aanroep uselib() dient er om om de gedeelde bibliotheek nodig voor het aanroepende proces te laden. De aanroep krijgt een padnaam. Het adres waar deze te laden wordt bepaald door de bibliotheek zelf. De bibliotheek mag elk erkend binair formaat hebben.

Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.

In aanvulling op alle fout-codes die worden teruggegeven door open(2) en mmap(2) kan het volgende ook teruggegeven worden:

De bibliotheek opgegeven door bibliotheek heeft geen lees of uitvoer rechten, of de aanroeper heeft geen zoek rechten voor een van de mappen in het pad voorvoegsel. (Zie ook path_resolution(7)).
De grens aan het aantal open bestanden van het systeem is bereikt.
Het bestand opgegeven door bibliotheek is geen uitvoerbaar bestand van bekend type; bij voorbeeld, het heeft geen correcte magische getallen.

uselib() is Linux-specifiek en zou niet gebruikt moeten worden in programma´s die overdraagbaar moeten zijn.

Deze overbodige systeem aanroep wordt niet ondersteund door glibc. Er is geen declaratie voorzien in de glibc kop bestanden, maar, door een eigenaardigheid in de geschiedenis, glibc versies voor 2.23 exporteerden een ABI voor deze systeem aanroep. Daarom, om deze systeem aanroep te gebruiken, volstond het om het interface handmatig in uw code te declareren. alternatief kon u de systeem aanroep aanroepen met syscall(2).

In hele oude glibc versies (voor glibc 2.0), werd uselib(2) gebruikt om de gedeelde bibliotheken te laden waarvan de namen werden gevonden in een tabel van namen in het binaire bestand.

Vanaf Linux 3.15 is deze systeem aanroep alleen beschikbaar indien de kernel werd geconfigureerd met de CONFIG_USELIB optie.

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

Deze pagina is onderdeel van release 5.13 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

22 maart 2021 Linux