table of contents
other sections
MKNOD(2) | Manuel du programmeur Linux | MKNOD(2) |
NOM¶
mknod - Créer un nœud du système de fichiersSYNOPSIS¶
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h>int mknod(const char *pathname, mode_t mode, dev_t dev);
Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :
_BSD_SOURCE || _SVID_SOURCE ||
_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
DESCRIPTION¶
mknod() crée un nœud du système de fichiers (fichier, fichier spécial de périphérique ou tube nommé) appelé pathname, avec les attributs mode et dev.VALEUR RENVOYÉE¶
mknod() renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.ERREURS¶
- EACCES
- Le répertoire parent n'autorise pas l'écriture au processus, ou l'un des répertoires de pathname n'autorise pas la consultation de son contenu. (Consultez aussi path_resolution(7).)
- EEXIST
- pathname existe déjà. Cela inclut le cas où pathname est un lien symbolique, pouvant pointer nulle part.
- EFAULT
- pathname pointe en‐dehors de l'espace d'adressage accessible.
- EINVAL
- mode demande la création d'autre chose qu'un fichier régulier, fichier spécial de périphérique, FIFO ou socket.
- ELOOP
- Trop de liens symboliques ont été rencontrés en parcourant pathname.
- ENAMETOOLONG
- pathname est trop long.
- ENOENT
- Un des répertoires du chemin d'accès pathname n'existe pas ou est un lien symbolique pointant nulle part.
- ENOMEM
- Pas assez de mémoire pour le noyau.
- ENOSPC
- Le périphérique contenant pathname n'a pas assez de place pour le nouveau nœud.
- ENOTDIR
- Un élément du chemin d'accès pathname n'est pas un répertoire.
- EPERM
- mode demande la création d'un nœud autre qu'un fichier régulier, une FIFO (tube nommé) ou une socket du domaine UNIX, alors que le processus appelant n'est pas privilégié (sous Linux : n'a pas la capacité CAP_MKNOD). Cette erreur se produit également si le système de fichiers contenant pathname ne supporte pas les nœuds du type demandé.
- EROFS
- pathname est placé sur un système de fichiers en lecture seule.
CONFORMITɶ
SVr4, BSD 4.4, POSIX.1-2001 (mais voir plus loin).NOTES¶
POSIX.1-2001 dit : « Le seul usage portable de mknod() est réservé à la création de fichiers spéciaux FIFO. Si le mode n'est pas S_IFIFO ou si dev n'est pas 0, alors le comportement de mknod() est indéterminé ». Toutefois, aujourd'hui, on ne devrait jamais utiliser mknod() pour cela ; on devrait utiliser mkfifo(3), une fonction spécialement conçue pour cela.VOIR AUSSI¶
chmod(2), chown(2), fcntl(2), mkdir(2), mknodat(2), mount(2), socket(2), stat(2), umask(2), unlink(2), makedev(3), mkfifo(3), path_resolution(7)COLOPHON¶
Cette page fait partie de la publication 3.44 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). Julien Cristau 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> ».20 septembre 2010 | Linux |