MKFIFO
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 12 juin 2008
Index
Menu principal
NOM
mkfifo - 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);
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.
Voir
fifo(7)
pour la gestion non bloquante d'une FIFO.
VALEUR RENVOYÉE
La valeur renvoyée par
mkfifo()
est 0 si elle réussit, ou -1 si elle
échoue, auquel cas
errno
contient le code d'erreur.
ERREURS
- EACCES
-
L'un des répertoires dans
pathname
ne permet pas la recherche (exécution).
- EEXIST
-
pathname
existe déjà.
Cela inclut le cas où
pathname
est un lien symbolique, pendouillant ou non.
- 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.
CONFORMITÉ
POSIX.1-2001.
VOIR AUSSI
mkfifo(1),
close(2),
open(2),
read(2),
stat(2),
umask(2),
write(2),
mkfifoat(3),
fifo(7)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 5 novembre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 mkfifo ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- CONFORMITÉ
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008