Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       mkfifo, mkfifoat - Créer un fichier spécial FIFO (un tube nommé)

SYNOPSIS

       #include <sys/types.h>
       #include <sys/stat.h>

       int mkfifo(const char *pathname, mode_t mode);

       #include <fcntl.h>           /* Définition des constantes  AT_* */
       #include <sys/stat.h>

       int mkfifoat(int dirfd, const char *pathname, mode_t mode) ;

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       mkfifoat() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _ATFILE_SOURCE

DESCRIPTION

       La fonction mkfifo() crée un fichier spécial FIFO (tube nommé)  à l'emplacement  pathname.
       mode indique les permissions d'accès. Ces permissions sont modifiées par la valeur d'umask
       du processus : les permissions d'accès effectivement adoptées sont (mode & ~umask).

       Un fichier spécial FIFO est semblable à un tube (pipe), sauf qu'il est créé  différemment.
       Plutôt qu'un canal de communication anonyme, un fichier FIFO est inséré dans le système de
       fichiers en appelant mkfifo().

       Une fois qu'un fichier FIFO est créé, n'importe quel processus peut l'ouvrir en lecture ou
       écriture,  comme  tout  fichier  ordinaire.  En  fait,  il faut ouvrir les deux extrémités
       simultanément  avant  de  pouvoir  effectuer  une  opération  d'écriture  ou  de  lecture.
       L'ouverture  d'un  FIFO  en  lecture  est  généralement  bloquante, jusqu'à ce qu'un autre
       processus ouvre le même FIFO en  écriture,  et  inversement.  Consultez  fifo(7)  pour  la
       gestion non bloquante d'une FIFO.

   mkfifoat()
       La  fonction  mkfifoat() opère exactement de la même façon que la fonction mkfifo(), à une
       différence près (décrite ci-dessous).

       Si le chemin fourni  dans  pathname  est  un  chemin  relatif,  alors  il  est  interprété
       relativement   au  répertoire  indiqué  par  le  descripteur  de  fichier  dirfd  (et  non
       relativement au répertoire courant du processus appelant, comme c'est le cas  lorsque  que
       mkfifo() est appelée avec un chemin relatif).

       Si  pathname  est  un  chemin  relatif et si  dirfd est la valeur spéciale AT_FDCWD, alors
       pathname est interprété  relativement  au  répertoire  de  travail  courant  du  processus
       appelant (comme pour mkfifo()).

       Si pathname est un chemin absolu, dirfd est ignoré.

VALEUR RENVOYÉE

       La valeur renvoyée par mkfifo() et par mkfifoat() lorsqu'elles réussissent est 0. Si elles
       échouent, ces fonctions renvoient -1, auquel cas errno contient le code d'erreur.

ERREURS

       EACCES L'un des répertoires dans pathname ne permet pas la recherche (exécution).

       EDQUOT Le quota utilisateur pour le système de fichiers a été dépassé (usage de  blocs  de
              disque ou d'inœuds).

       EEXIST pathname  existe  déjà.  Cela  inclut  le  cas  où pathname est un lien symbolique,
              pouvant pointer nulle part.

       ENAMETOOLONG
              Soit la longueur totale de pathname est supérieure à PATH_MAX, soit un  élément  de
              pathname a une longueur plus grande que NAME_MAX. Sur les systèmes GNU il n'y a pas
              de limite absolue à la longueur du nom d'un fichier, mais certains autres  systèmes
              en ont une.

       ENOENT Un  des  répertoires  du  chemin  d'accès  pathname  n'existe  pas  ou  est un lien
              symbolique pointant nulle part.

       ENOSPC Le répertoire, ou le système de fichiers, n'a pas assez de place  pour  un  nouveau
              fichier.

       ENOTDIR
              Un élément du chemin d'accès pathname n'est pas un répertoire.

       EROFS  pathname est sur un système de fichiers en lecture seule.

       Les erreurs supplémentaires suivantes peuvent survenir pour mkfifoat() :

       EBADF  dirfd n'est pas un descripteur de fichier valable.

       ENOTDIR
              pathname est un chemin relatif et dirfd est un descripteur d'un fichier et non d'un
              répertoire.

VERSIONS

       mkfifoat() a été introduite dans la version 2.4 de glibc. Elle est implémentée au moyen de
       mknodat(2), qui est disponible dans Linux depuis le noyau 2.6.16.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       Les fonctions mkfifo() et mkfifoat() sont sûres dans un contexte multithread.

CONFORMITÉ

       mkfifo() : POSIX.1-2001, POSIX.1-2008.

       mkfifoat() : POSIX.1-2008.

VOIR AUSSI

       mkfifo(1), close(2), open(2), read(2), stat(2), umask(2), write(2), fifo(7)

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