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> ».