readlink(2) readlink(2)
NAME
readlink - Wert eines symbolischen Links lesen
SYNTAX
#include <unistd.h>
int readlink(const char *path, char *buf, sizet bufsiz);
BESCHREIBUNG
readlink() schreibt den Inhalt des symbolischen Links, auf den path
weist, in den Puffer buf, welcher die Länge bufsiz hat. Der Inhalt des
Links ist bei Rückgabe nicht mit einem Null-Byte abgeschlossen.
FEHLER
Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
errno(5).
readlink() schlägt bei folgenden Bedingungen fehl, und der Pufferin-
halt wird nicht verändert:
EACCES Die Sucherlaubnis für eine Komponente des Pfadpräfixes
aus path ist nicht vorhanden.
EFAULT path oder buf befindet sich außerhalb des zugewiesenen
Adreßbereichs des Prozesses.
EINVAL Die genannte Datei ist kein symbolischer Link.
EIO Beim Lesen vom Dateisystem oder Schreiben auf dieses
trat ein Ein-/Ausgabefehler auf.
ELOOP Bei der Auflösung von path sind zu viele symbolische
Links aufgetreten.
ENAMETOOLONG Die Länge des Arguments path überschreitet PATHMAX,
oder eine Komponente von path ist länger als NAMEMAX.
ENOENT Die genannte Datei existiert nicht.
ENOSYS Das Dateisystem unterstützt keine symbolischen Links.
ENOTDIR Eine Komponente des Pfadpräfixes ist kein Verzeichnis.
Die Funktion readlink() kann bei folgenden Bedingungen fehlschlagen:
EACCES Für das Verzeichnis wird die Leseberechtigung verwei-
gert.
ENAMETOOLONG Die Auflösung des Pfadnamens eines symbolischen Links
hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
überschreitet.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
readlink(2) readlink(2)
ERGEBNIS
Nach erfolgreicher Ausführung liefert readlink() die Anzahl von Zei-
chen zurück, die in den Puffer geschrieben wurden; bei Fehler wird -1
zurückgegeben und der Fehlercode in errno gesetzt.
SIEHE AUCH
lstat(2), stat(2), symlink(2), unistd(4).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98