LSEEK(2) Manuel du programmeur Linux LSEEK(2)
NOM
lseek - Positionner la tête de lecture/écriture dans un
fichier.
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
off_t lseek(int fildes, off_t offset, int whence);
DESCRIPTION
La fonction lseek place la tête de lecture/écriture à la
position offset dans le fichier associé au descripteur
fildes en suivant la directive whence ainsi :
SEEK_SET
La tête est placée à offset octets depuis le début
du fichier.
SEEK_CUR
La tête de lecture/écriture est avancée de offset
octets.
SEEK_END
La tête est placée à la fin du fichier plus offset
octets.
La fonction lseek permet de placer la tête au-delà de la fin
actuelle du fichier. Si des données sont écrites à cet emplace
ment, une lecture ultérieure de l'espace intermediaire retournera
des zéros (jusqu'à ce que d'autres données y soient écrites).
VALEUR RENVOYÉE
lseek, s'il réussit, renvoie le nouvel emplacement, mesuré
en octets depuis le début, du fichier. En cas d'échec, la
valeur -1 est renvoyée, et errno contient le code
d'erreur.
ERREURS
EBADF Fildes n'est pas un descripteur de fichier ouvert.
ESPIPE Fildes est associée à un tube (pipe), une socket,
ou une file FIFO.
EINVAL Whence est invalide.
CONFORMITÉ
SVr4, POSIX, BSD 4.3
RESTRICTIONS
Certains périphériques ne permettent pas de positionnement
direct, POSIX ne précise pas le comportement à adopter
dans ce cas.
Linux 28 Avril 1998 1
LSEEK(2) Manuel du programmeur Linux LSEEK(2)
Restrictions spécifiques à Linux : L'utilisation de lseek
sur un péripherique tty renvoie ESPIPE. Les autres
systèmes renvoient le nombre de caractères écrits en util
isant SEEK_SET pour positionner le compteur. Certains
périphériques, comme /dev/null, ne renvoie pas l'erreur
ESPIPE, mais renvoie un pointeur dont la valeur est
indéfinie.
NOTES
Lors de la conversion d'un ancien code, substituez les
valeurs suivantes :
ancien nouveau
0 SEEK_SET
1 SEEK_CUR
2 SEEK_END
L_SET SEEK_SET
L_INCR SEEK_CUR
L_XTND SEEK_END
SVR1-3 renvoie un long à la place d'un off_t, BSD renvoie
un int.
VOIR AUSSI
dup(2), open(2), fseek(3)
TRADUCTION
Christophe Blaess, 1997.
Linux 28 Avril 1998 2