Provided by: manpages-fr-dev_3.65d1p1-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 indiqué
       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, ou cmd vaut F_LOCK ou F_TLOCK et fd n'est pas un
              descripteur de fichier en écriture.

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

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

       ENOLCK La table des verrous est pleine.

CONFORMITÉ

       SVr4, POSIX.1-2001.

VOIR AUSSI

       fcntl(2), flock(2)

       locks.txt et mandatory-locking.txt dans le répertoire  Documentation/filesystems  des  sources  du  noyau
       Linux.   (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.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <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> ».