Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       lockf  -  Poser,  examiner  ou supprimer un verrou POSIX sur un fichier
       ouvert

SYNOPSIS

       #include <unistd.h>

       int lockf(int fd, int cmd, off_t len);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       lockf() :
           _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION

       Cette fonction pose, examine,  ou  supprime  un  verrou  POSIX  sur  un
       fichier  ouvert.  Le fichier est specifie par fd, un descripteur ouvert
       en ecriture, l'action par  cmd,  et  la  section  par  les  octets  aux
       positions  pos..pos+len-1  si len est positive et pos-len..pos-1 si len
       est negative, ou pos est la position actuelle dans le fichier.  Si  len
       vaut  zero,  la  section  s'etend  de  la  position courant a l'infini,
       englobant la fin de fichier et les extensions  ulterieures.  Dans  tous
       les cas, la section peut s'etendre au dela de la fin du fichier.

       Sous  Linux, lockf() est une interface de verrou au dessus de fcntl(2).
       Beaucoup  d'autres  systemes  implementent  lockf()  de  cette   facon,
       cependant  POSIX.1-2001  ne  specifie  pas  la relation de verrou entre
       lockf() et fcntl(2). Une application portable ne devrait pas mixer  des
       appels a ces deux interfaces.

       Les operations valides sont les suivantes :

       F_LOCK Poser  un verrou exclusif sur la section indiquee du fichier. Si
              (une partie de) la section est deja verrouillee, l'appel  bloque
              jusqu'a  la  suppression  du  verrou  precedent.  Si  la section
              recouvre un verrou existant (du meme processus), les  deux  sont
              regroupes.  Les  verrouillages sont liberes lorsque le processus
              ferme un descripteur du fichier. Un processus fils n'herite  pas
              du verrou.

       F_TLOCK
              Comme  F_LOCK  mais  l'appel  n'est pas bloquant, il renvoie une
              erreur si le fichier est deja verrouille.

       F_ULOCK
              Deverrouiller la section indiquee du fichier. Ceci peut conduire
              une section verrouillee a etre decoupee en deux sections.

       F_TEST Verifier  s'il  y  a un verrou : l'appel renvoie 0 si la section
              indiquee est libre ou verrouillee par le processus appelant,  et
              -1  avec  EAGAIN (EACCES sur d'autres systemes) dans errno si un
              autre processus possede le verrou.

VALEUR RENVOY'EE

       S'il reussit, cet appel systeme renvoie 0. S'il echoue, il  renvoie  -1
       et remplit errno en consequence.

ERREURS

       EACCES ou EAGAIN
              Le fichier est verrouille et F_TLOCK ou F_TEST etaient indiques,
              ou encore l'operation est impossible car le fichier est projetee
              dans la memoire d'un autre processus.

       EBADF  fd n'est pas un descripteur de fichier ouvert.

       EDEADLK
              L'operation T_LOCK demandee amenerait a un cas de blocage.

       EINVAL Une operation invalide a ete reclamee sur fd.

       ENOLCK La table des verrous est pleine.

CONFORMIT'E

       SVr4, POSIX.1-2001.

VOIR AUSSI

       fcntl(2), flock(2)
       Il  existe  aussi locks.txt et mandatory-locking.txt dans le repertoire
       Documentation/filesystems des sources du noyau (sur  d'anciens  noyaux,
       ces   fichiers   se  trouvent  dans  le  repertoire  Documentation/  et
       mandatory-locking.txt est appele mandatory.txt).

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2003-2006).  Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.