Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
lseek - read/write Datei offset verandern
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 lseek
eingeben.
"UBERSICHT
#include <sys/types.h>
#include <unistd.h>
off_t lseek(int filedes, off_t offset, int whence);
BESCHREIBUNG
Die Funktion lseek setzt den Offset des Dateideskriptors filedes auf
offset, gemaB des Wertes von whence, der sich wie folgt zusammensetzt:
SEEK_SET
Der neue Offset wird auf offset Bytes gesetzt.
SEEK_CUR
Der neue Offset ist die aktuelle Position plus offset Bytes.
SEEK_END
Der neue Offset ist die Datei GroBe plus offset Bytes.
Die Funktion lseek erlaubt es, den Offset einer Datei hinter ihr end-
of-file zu setzen. Wenn spater Daten geschrieben werden, ergeben
Lesezugriffe auf die Lucke zwischen der eigentlichen Datei und den
neuen Daten einen Ruckgabewert von Null (bis tatsachlich Daten in die
Lucke geschrieben werden).
R"UCKGABEWERT
Bei Erfolg liefert lseek die neue Position in Bytes vom Anfang der
Datei aus. Anderenfalls wird (off_t)-1 zuruckgegeben und der Fehler in
errno gesetzt.
FEHLER
EBADF Filedes ist kein geoffneter Datei Zeiger.
ESPIPE Filedes beschreibt eine Pipe, einen Socket oder ein FIFO.
EINVAL Whence hat einen falschen Wert.
KONFORM ZU
SVr4, POSIX, BSD 4.3
EINSCHR"ANKUNGEN
Manche Gerate unterstutzen kein Vor- und Zuruckspulen und POSIX
spezifiziert nicht, welche es unterstutzen mussen.
Einschrankung unter Linux: Wendet man lseek auf ein tty-Device an, gibt
es ESPIPE zuruck. Andere Systeme liefern die Anzahl der geschriebenen
Bytes und verwenden SEEK_SET als Zahler. Manche Devices wie /dev/null
verursachen den Fehler ESPIPE nicht, aber liefern einen Zeiger zuruck,
dessen Wert nicht definiert ist.
ANMERKUNGEN
Wenn alter Code konvertiert wird, ersetzen Sie die Werte von whence
durch die folgenden Makros:
old new
0 SEEK_SET
1 SEEK_CUR
2 SEEK_END
L_SET SEEK_SET
L_INCR SEEK_CUR
L_XTND SEEK_END
SVR1-3 liefert long statt off_t, BSD liefert int.
Beachten Sie, dass Datei-Deskriptoren, die mit dup(2) oder fork(2)
erstellt wurden, den aktuellen Positions-Zeiger gemeinsam nutzen. Wenn
lseek bei solchen Dateien verwendet wird, kann es zu unerwarteten Race-
Bedingungen kommen.
SIEHE AUCH
dup(2), fork(2), open(2), fseek(3).