Provided by: manpages-fr-dev_3.32d0.2p4-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 fonctionnalités  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 spécifié par fd, un descripteur ouvert
       en écriture, 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 négative, où pos est la position actuelle dans le fichier.  Si  len
       vaut  zéro,  la  section  s'étend  de  la  position courant à l'infini,
       englobant la fin de fichier et les extensions  ultérieures.  Dans  tous
       les cas, la section peut s'étendre au delà de la fin du fichier.

       Sous  Linux, lockf() est une interface de vérrou au dessus de fcntl(2).
       Beaucoup  d'autres  systèmes  implémentent  lockf()  de  cette   façon,
       cependant  POSIX.1-2001  ne  spécifie  pas  la relation de vérrou entre
       lockf() et fcntl(2). Une application portable ne devrait pas mixer  des
       appels à ces deux interfaces.

       Les opérations valides sont les suivantes :

       F_LOCK Poser  un verrou exclusif sur la section indiquée du fichier. Si
              (une partie de) la section est déjà verrouillée, l'appel  bloque
              jusqu'à  la  suppression  du  verrou  précédent.  Si  la section
              recouvre un verrou existant (du même processus), les  deux  sont
              regroupés.  Les  verrouillages sont libérés lorsque le processus
              ferme un descripteur du fichier. Un processus fils n'hérite  pas
              du verrou.

       F_TLOCK
              Comme  F_LOCK  mais  l'appel  n'est pas bloquant, il renvoie une
              erreur si le fichier est déjà verrouillé.

       F_ULOCK
              Déverrouiller la section indiquée du fichier. Ceci peut conduire
              une section verrouillée à être découpée en deux sections.

       F_TEST Vérifier  s'il  y  a un verrou : l'appel renvoie 0 si la section
              indiquée est libre ou verrouillée par le processus appelant,  et
              -1  avec  EAGAIN (EACCES sur d'autres systèmes) dans errno si un
              autre processus possède le verrou.

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il  renvoie  -1
       et remplit errno en conséquence.

ERREURS

       EACCES ou EAGAIN
              Le fichier est verrouillé et F_TLOCK ou F_TEST étaient indiqués,
              ou encore l'opération est impossible car le fichier est projetée
              dans la mémoire d'un autre processus.

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

       EDEADLK
              L'opération T_LOCK demandée amènerait à un cas de blocage.

       EINVAL Une opération invalide a été réclamée sur fd.

       ENOLCK La table des verrous est pleine.

CONFORMITÉ

       SVr4, POSIX.1-2001.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   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'équipe francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».