xenial (3) mkfifo.3.gz

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