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