File: mknod.2

package info (click to toggle)
manpages-fr 0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,236 kB
  • ctags: 4
  • sloc: makefile: 55
file content (144 lines) | stat: -rw-r--r-- 4,351 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
.\"                               1993 Michael Haardt
.\"                               1993,1994 Ian Jackson.
.\" You may distribute it under the terms of the GNU General
.\" Public Licence. It comes with NO WARRANTY.
.\"
.\" 
.\" Traduction  10/10/1996 Christophe BLAESS (ccb@club-internet.fr)
.\" Mise a Jour 8/04/97
.TH MKNOD 2 "8 Avril 1997" "Linux" "Manuel du programmeur Linux"
.SH NOM
mknod \- Creer un noeud du systeme de fichier.
.SH SYNOPSIS
.nf
.B #include <sys/types.h>
.B #include <sys/stat.h>
.B #include <fcntl.h>
.B #include <unistd.h>
.sp
.BI "int mknod(const char *" pathname ", mode_t " mode ", dev_t " dev );
.fi
.SH DESCRIPTION
.B mknod
cree un noeud du systeme de fichiers (fichier, fichier special de peripherique ou
tube) appele
.IR pathname ", avec les attributs " mode " et " dev .

.I mode
definit a la fois les permissions d'utilisation, et le type de noeud
a creer. C'est une combinaison par 
.I 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
.BR umask
du processus : les permissions effectivement ecrites sont
.BR "(mode & ~umask)" .

Le type de noeud doit etre l'un des suivants
.BR S_IFREG ", " S_IFCHR ", " S_IFBLK " et " S_IFIFO
pour indiquer respectivement un fichier normal (vide a la creation),
un fichier special mode caractere, un fichier special mode bloc,
ou un tube nomme (FIFO).
On peut egalement utiliser 0 pour creer un fichier normal.

Si le noeud est de type
.BR S_IFCHR " or " S_IFBLK
alors
.I dev
doit specifier les numeros majeurs et mineurs du peripherique
associe, pour les autres types de noeuds,
.I dev
est ignore.

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 fichier 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.
.SH "VALEUR RENVOYEE"
.BR mknod
renvoie 0 s'il reussit, ou \-1 s'il echoue, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP
.B EPERM
.I mode
demande la creation d'un noeud autre qu'un tube nomme, alors que
le processus appelant n'est pas le Super\-User. Cette erreur se
produit egalement si le systeme de fichier contenant
.I pathname
ne supporte pas les noeuds du type demande.
.TP
.B EINVAL
.I mode
demande la creation d'autre chose qu'un fichier normal, fichier
special de peripherique ou tube nomme.
.TP
.B EEXIST
.I pathname
existe deja
.TP
.B EFAULT
.IR pathname " pointe en\-dehors de l'espace d'adressage accessible."
.TP
.B EACCES
Le repertoire parent n'autorise pas l'ecriture au processus, ou l'un
des repertoires de
.IR pathname
n'autorise pas la consultation de son contenu.
.TP
.B ENAMETOOLONG
.IR pathname " trop long."
.TP
.B ENOENT
Un repertoire du chemin d'acces
.I pathname
n'existe pas ou est un lien symbolique pointant nulle part.
.TP
.B ENOTDIR
Un element utilise dans le chemin
.I pathname
n'est pas un repertoire.
.TP
.B ENOMEM
Pas assez de memoire pour le noyau.
.TP
.B EROFS
.I pathname
correspond a un fichier sur un systeme de fichier en lecture seule.
.TP
.B ELOOP
.I pathname
contient une reference circulaire (a travers un lien symbolique).
.TP
.B ENOSPC
Le peripherique contenant
.I pathname
n'a pas assez de place pour le nouveau noeud. Cette erreur se
produit egalement si
le quota de disque de l'utilisateur est depasse.
.SH "CONFORMITE"
SVr4 (mais l'appel y necessite des privileges, alors qu'il n'y en a
pas besoin dans POSIX), BSD 4.4. La version Linux differe de celle de
SVr4 en ceci qu'elle n'a pas besoin de privileges root pour creer des
tubes, et qu'elle ne decrit pas les erreurs EMULTIHOP, ENOLINK, et EINTR.
.SH BUGS
.B mknod
ne peut pas etre utilise pour creer des repertoires ou des sockets, 
et ne peut etre appele que par le Super\-User pour creer des fichiers normaux.
.PP
Il y a de nombreux problemes avec le protocole sous-jacent a NFS, certains
d'entre-eux pouvant affecter
.BR mknod .
.SH "VOIR AUSSI"
.BR read "(2), " write "(2), " fcntl "(2), " close (2),
.BR unlink "(2), " open "(2), " mkdir "(2), " stat "(2), " umask (2),
.BR mount "(2), " socket "(2), " fopen (3).