readlink

Autres langues

Langue: de

Version: 24. Juli 1993 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

NAME

readlink - Ermittelt das Ziel eines symbolischen Links

ÜBERSICHT

#include <unistd.h>

int readlink(const char *path, char *buf, size_t bufsiz);

BESCHREIBUNG

Readlink ermittelt den Pfad, auf den der symbolische Link path zeigt. Das Ergebnis wird in den Puffer buf geschrieben, der die Größe bufsiz hat. Readlink schreibt kein NUL-Zeichen, d.h. in buf steht nicht unbedingt ein gültiger C-String.

RÜCKGABEWERTE

Der Aufruf gibt die Anzahl der in den Puffer geschriebenen Bytes zurück. Trat ein Fehler auf, dann wird -1 zurückgeliefert und die globale Variable errno entsprechend gesetzt.

FEHLER

ENOTDIR
Eine Komponente des Pfades ist kein Verzeichnis.
EINVAL
Der Pfadname enthält ein Zeichen, bei dem das "high-order" Bit gesetzt ist.
ENAMETOOLONG
Eine Komponente des Pfades ist länger als 255 Zeichen, oder der gesamte Pfad ist länger als 1023 Zeichen.
ENOENT
Der angegebene Dateiname existiert nicht.
EACCES
Für ein Teil des Pfades fehlt die Sucherlaubnis.
ELOOP
Beim Ermitteln des Originalpfades wurden zu viele symbolische Links festgestellt.
EINVAL
Die angegebene Datei ist kein symbolischer Link.
EIO
Beim Lesen vom Dateisystem trat ein E/A-Fehler ("I/O-error") auf.
EFAULT
Buf überschreitet den Adressbereich dieses Prozesses.

HERKUNFT

Der readlink-Funktionsaufruf erschien in BSD 4.2.

SIEHE AUCH

stat(2), lstat(2), symlink(2).