Provided by: manpages-fr-dev_4.15.0-9_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 version 2.10 de la glibc :
               _POSIX_C_SOURCE >= 200809L
           Avant la version 2.10 de la glibc :
               _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é.

       See openat(2)  for an explanation of the need for mkfifoat().

VALEUR RENVOYÉE

       On  success  mkfifo()  and mkfifoat()  return 0. On error, -1 is returned and errno is set
       to indicate the error.

ERREURS

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

       EBADF  (mkfifoat())  pathname is relative but dirfd is neither AT_FDCWD nor a  valid  file
              descriptor.

       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.

       ENOTDIR
              (mkfifoat())   pathname  is  a  relative  pathname  and  dirfd is a file descriptor
              referring to a file other than a directory.

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

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.13 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⟩.