Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
NOM
mknod - Creer un noeud du systeme de fichiers
SYNOPSIS
#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 fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
mknod() :
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
DESCRIPTION
mknod() cree un noeud du systeme de fichiers (fichier, fichier special
de peripherique ou tube nomme) appele pathname, avec les attributs mode
et dev.
L'argument mode definit a la fois les permissions d'utilisation, et le
type de noeud a creer. C'est une combinaison par OU binaire << | >>
entre l'un des types de noeuds ci-dessous et les permissions d'acces
pour le nouveau noeud.
Les permissions sont modifiees par le umask du processus : les
permissions effectivement ecrites sont (mode & ~umask).
Le type de noeud doit etre l'un des suivants S_IFREG, S_IFCHR, S_IFBLK,
S_IFIFO ou S_IFSOCK pour indiquer respectivement un fichier regulier
(vide a la creation), un fichier special mode caractere, un fichier
special mode bloc, un tube nomme (FIFO) ou une socket du domaine UNIX.
Un type de fichier egal a 0 est equivalent a S_IFREG.
Si le noeud est de type S_IFCHR or S_IFBLK alors dev doit indiquer les
numeros majeurs et mineurs du peripherique associe (makedev(3) peut
etre utile pour construire la valeur de dev). Pour les autres types de
noeuds, dev est ignore.
Si pathname existe deja, ou est un lien symbolique, l'appel echoue avec
l'erreur EEXIST.
Le noeud nouvellement cree aura pour proprietaire l'UID effectif du
processus. Si le repertoire contenant ce noeud a son bit Set-GID a 1,
ou si le systeme de fichiers est monte avec une semantique BSD, le
nouveau noeud heritera de l'appartenance au groupe de son parent. Sinon
il appartiendra au groupe effectif du processus.
VALEUR RENVOY'EE
mknod() renvoie 0 s'il reussit, ou -1 s'il echoue, auquel cas errno
contient le code d'erreur.
ERREURS
EACCES Le repertoire parent n'autorise pas l'ecriture au processus, ou
l'un des repertoires de pathname n'autorise pas la consultation
de son contenu. (Consultez aussi path_resolution(7).)
EEXIST pathname existe deja. Cela inclut le cas ou pathname est un lien
symbolique, pouvant pointer nulle part.
EFAULT pathname pointe en-dehors de l'espace d'adressage accessible.
EINVAL mode demande la creation d'autre chose qu'un fichier regulier,
fichier special de peripherique, FIFO ou socket.
ELOOP Trop de liens symboliques ont ete rencontres en parcourant
pathname.
ENAMETOOLONG
pathname est trop long.
ENOENT Un des repertoires du chemin d'acces pathname n'existe pas ou
est un lien symbolique pointant nulle part.
ENOMEM Pas assez de memoire pour le noyau.
ENOSPC Le peripherique contenant pathname n'a pas assez de place pour
le nouveau noeud.
ENOTDIR
Un element du chemin d'acces pathname n'est pas un repertoire.
EPERM mode demande la creation d'un noeud autre qu'un fichier
regulier, une FIFO (tube nomme) ou une socket du domaine UNIX,
alors que le processus appelant n'est pas privilegie (sous
Linux : n'a pas la capacite CAP_MKNOD). Cette erreur se produit
egalement si le systeme de fichiers contenant pathname ne
supporte pas les noeuds du type demande.
EROFS pathname est place sur un systeme de fichiers en lecture seule.
CONFORMIT'E
SVr4, BSD 4.4, POSIX.1-2001 (mais voir plus loin).
NOTES
POSIX.1-2001 dit : << Le seul usage portable de mknod() est reserve a
la creation de fichiers speciaux FIFO. Si le mode n'est pas S_IFIFO ou
si dev n'est pas 0, alors le comportement de mknod() est
indetermine >>. Toutefois, aujourd'hui, on ne devrait jamais utiliser
mknod() pour cela ; on devrait utiliser mkfifo(3), une fonction
specialement concue pour cela.
Sous Linux mknod ne peut pas etre utilise pour creer des repertoires.
Il faut creer les repertoires avec mkdir(2).
Il y a de nombreux problemes avec le protocole sous-jacent a NFS,
certains d'entre eux pouvant affecter mknod().
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.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.