Provided by: manpages-fr-dev_4.13-4_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   (consulter
   feature_test_macros(7)) :

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

DESCRIPTION

       mkfifo()  makes a FIFO  special  file  with  name  pathname.  mode  specifies  the  FIFO's
       permissions.  It  is  modified by the process's umask in the usual way: the permissions of
       the created file are (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 absolu, alors 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  nom_chemin  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,  utilisé  comme  répertoire, du chemin d'accès nom_chemin n'est pas en
              fait 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

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────┼──────────────────────┼─────────┤
       │mkfifo(), mkfifoat() │ Sécurité des threads │ MT-Safe │
       └─────────────────────┴──────────────────────┴─────────┘

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 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com> et Frédéric Hantrais <fhantrais@gmail.com>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.