Provided by: manpages-de-dev_2.16-1_all bug

BEZEICHNUNG

       uselib - eine gemeinsam benutzte Bibliothek laden

ÜBERSICHT

       #include <unistd.h>

       int uselib(const char *bibliothek);

       Anmerkung:  In  den  Glibc-Headern  wird  keine Deklaration für diesen Systemaufruf bereitgestellt, siehe
       ANMERKUNGEN.

BESCHREIBUNG

       Der Systemaufruf uselib() dient dazu, eine gemeinsam  benutzte  Bibliothek  für  die  Nutzung  durch  den
       aufrufenden  Prozess zu laden. Ihr wird ein Pfadname übergeben. Die Ladeadresse befindet sich wird in der
       Bibliothek selbst. Die Bibliothek kann jedes bekannte binäre Format haben.

RÜCKGABEWERT

       Bei Erfolg wird Null zurückgegeben. Bei  einem  Fehler  wird  -1  zurückgegeben  und  errno  entsprechend
       gesetzt.

FEHLER

       Zusätzlich zu all den Fehlercodes, die von open(2) und mmap(2) zurückgegeben werden, können auch folgende
       auftreten:

       EACCES Die  durch  bibliothek  angegebene Bibliothek hat kein Lese- oder Ausführrecht oder der Aufrufende
              hat kein Suchrecht für eines der Verzeichnisse im Pfadpräfix. (Siehe auch path_resolution(7).)

       ENFILE Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde erreicht.

       ENOEXEC
              Die Datei, die durch bibliothek angegeben wird, ist keine ausführbare Datei eines bekannten  Typs.
              Sie hat zum Beispiel nicht die richtigen magischen Zahlen.

KONFORM ZU

       uselib() ist Linux-spezifisch und sollte nicht in portierbaren Programmen benutzt werden.

ANMERKUNGEN

       Dieser  veraltete  Systemaufruf  wird  von  Glibc  nicht  unterstützt.  In  den  Glibc-Headern wird keine
       Deklaration bereitgestellt, allerdings  exportierten  Glibc-Versionen  vor  2.23  durch  eine  Laune  der
       Geschichte  eine ABI für diesen Systemaufruf. Um diesen Systemaufruf einzusetzen, reichte es aus, manuell
       die Schnittstelle in  Ihrem  Code  zu  deklarieren;  alternativ  könnten  Sie  den  Systemaufruf  mittels
       syscall(2) auslösen.

       In  uralten  Libc-Versionen wurde uselib() benutzt, um die gemeinsam benutzten Bibliotheken zu laden, die
       mit Namen in einem Namensfeld in der Binärdatei gefunden wurden.

       Seit Libc 4.3.2 versucht der Anfangscode diesen Namen »/usr/lib«, »/lib« und »« voranzustellen, bevor  er
       aufgibt.   In  Libc  4.3.4  und  danach  werden  diese  Namen  in  den  Verzeichnissen  gesucht,  die  im
       LD_LIBRARY_PATH gefunden werden. Falls diese nicht gefunden werden, werden  »/usr/lib«,  »/lib«  und  »/«
       ausprobiert.

       Seit Libc 4.4.4 wird nur noch die Bibliothek »lib/ld.so« geladen, so dass diese dynamische Bibliothek die
       verbleibenden  benötigten Bibliotheken laden kann (wieder mit diesem Aufruf). Dies ist auch der Stand der
       Dinge in Libc5.

       Glibc2 benutzt diesen Aufruf nicht.

       Seit Linux 3.15 ist der Systemaufruf nur  verfügbar,  falls  der  Kernel  mit  der  Option  CONFIG_USELIB
       konfiguriert wurde.

SIEHE AUCH

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

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.03  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Hanno Wagner  <wagner@bidnix.bid.fh-hannover.de>,
       Chris Leick <c.leick@vollbio.de> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser  Handbuchseite  finden,  schicken  Sie  bitte  eine  E-Mail  an
       <debian-l10n-german@lists.debian.org>.

Linux                                          15. September 2017                                      USELIB(2)