mknod | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
#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 fonctionalités pour la glibc (voir feature_test_macros(7)) :
mknod() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
L'argument mode définit à la fois les permissions d'utilisation, et le type de noeud à créer. C'est une combinaison par OU binaire « | » entre l'un des types de noeuds ci-dessous et les permissions d'accès pour le nouveau noeud.
Les permissions sont modifiées par le umask du processus : les permissions effectivement écrites sont (mode & ~umask).
Le type de noeud doit être l'un des suivants S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO ou S_IFSOCK pour indiquer respectivement un fichier régulier (vide à la création), un fichier spécial mode caractère, un fichier spécial mode bloc, un tube nommé (FIFO) ou une socket du domaine Unix. On peut également utiliser 0 pour créer un fichier normal.
Si le noeud est de type S_IFCHR ou S_IFBLK, alors dev doit spécifier les numéros majeurs et mineurs du périphérique associé, pour les autres types de noeuds, dev est ignoré.
Si pathname existe déjà, ou est un lien symbolique, l'appel échoue avec l'erreur EEXIST.
Le noeud nouvellement créé aura pour propriétaire l'UID effectif du processus. Si le répertoire contenant ce noeud a son bit Set-GID à 1, ou si le système de fichiers est monté avec une sémantique BSD, le nouveau noeud héritera de l'appartenance au groupe de son parent. Sinon il appartiendra au groupe effectif du processus.
VALEUR RENVOYÉE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
ERREURS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
CONFORMITÉ | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Sous Linux mknod() ne peut pas être utilisé pour créer des répertoires. Il faut créer les répertoires avec mkdir(2).
Il y a de nombreux problèmes avec le protocole sous-jacent à NFS, certains d'entre-eux pouvant affecter mknod().
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 10 octobre 1996 et révisée le 6 juin 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 2 mknod ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
EACCES | ERREURS |
EEXIST | ERREURS |
EFAULT | ERREURS |
EINVAL | ERREURS |
ELOOP | ERREURS |
ENAMETOOLONG | ERREURS |
ENOENT | ERREURS |
ENOMEM | ERREURS |
ENOSPC | ERREURS |
ENOTDIR | ERREURS |
EPERM | ERREURS |
EROFS | ERREURS |