MKFIFOAT(3)

NOM
mkfifoat - Créer une FIFO (un tube nommé) relatif à un descripteur de fichier d'un répertoire

SYNOPSIS
#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
L'appel système mkfifoat() opère exactement de la même façon que mkfifo(3), excepté pour les différences décrites dans cette page. Si le chemin de pathname est relatif, alors il est interprété relativement depuis le répertoire référencé par le descripteur dirfd (plutôt que relativement au répertoire courant du processus appelant, comme c'est le cas pour mkfifo(3) et les chemins relatifs). Si pathname est relatif et si dirfd a la valeur spéciale AT_FDCWD, alors pathname est interprété relativement au répertoire courant du processus appelant (comme mkfifo(3)). Si pathname est un chemin absolu, dirfd est ignoré.

VALEUR RENVOYÉE
Si elle réussit, mkfifoat() renvoie 0. En cas d'erreur, elle renvoie -1 et remplit errno en conséquence.

ERREURS
Les erreurs de mkfifoat sont les mêmes que celles de mkfifo(3). Les erreurs supplémentaires suivantes peuvent apparaître avec 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é ajoutée à la glibc 2.4. Elle est implémentée avec mknod(2), disponible depuis Linux 2.6.16.

CONFORMITÉ
POSIX.1-2008.

NOTES
Consultez openat(2) pour des explications à propos de mkfifoat().

VOIR AUSSI
openat(2), mkfifo(3), path_resolution(7)

COLOPHON
Cette page fait partie de la publication 3.40 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://perkamon.alioth.debian.org/>.

Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».