READLINK(2)

BEZEICHNUNG
readlink - liest das Ziel eines symbolischen Links

ÜBERSICHT
#include <unistd.h>

ssize_t readlink(const char *pfad, char *puffer, size_t puffergroesse);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

readlink():
    _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE &&_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE >= 200112L

BESCHREIBUNG
readlink() platziert den Inhalt des symbolischen Links pfad in den Puffer puffer, der die Größe puffergroesse hat. readlink() hängt kein Null-Byte an puffer. Ist der Puffer zu klein, um den ganzen Inhalt aufzunehmen, verkürzt es den Inhalt (auf die Länge von puffergroesse Zeichen).

RÜCKGABEWERT
Bei Erfolg gibt readlink() die Anzahl der Byte zurück, die in puffer platziert wurden. Bei einem Fehler wird -1 zurückgegeben und errno so gesetzt, dass es den Fehler angibt.

FEHLER

EACCES
    Für einen Bestandteil des Pfad-Präfix fehlt die Sucherlaubnis. (Siehe auch path_resolution(7).)

EFAULT
    puffer überschreitet den reservierten Adressbereich dieses Prozesses.

EINVAL
    puffergroesse ist nicht positiv.

EINVAL
    Die genannte Datei ist kein symbolischer Link.

EIO Beim Lesen vom Dateisystem trat ein E/A-Fehler auf.

ELOOP
    Beim Übersetzen des Pfadnamens wurden zu viele symbolische Links vorgefunden.

ENAMETOOLONG
    Ein Pfadname oder ein Bestandteil eines Pfadnamens war zu lang.

ENOENT
    Der genannte Dateiname existiert nicht.

ENOMEM
    Es war nicht genügend Kernel-Speicher verfügbar.

ENOTDIR
    Eine Komponente des Pfad-Präfixes ist kein Verzeichnis.

KONFORM ZU
4.4BSD (readlink() erschien erstmalig in 4.2BSD), POSIX.1-2001.

ANMERKUNGEN
In Glibc-Versionen bis einschließlich Glibc 2.4 wurde der Typ des Rückgabewerts von readlink() als int deklariert. Heutzutage ist der Typ des Rückgabewerts als ssize_t deklariert, wie es (neuerdings) in POSIX.1-2001 benötigt wird.

SIEHE AUCH
lstat(2), readlinkat(2), stat(2), symlink(2), path_resolution(7), symlink(7)

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Kaufmann <markus.kaufmann@gmx.de> und Chris Leick <c.leick@vollbio.de> 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>.