File: mknod.2

package info (click to toggle)
manpages-es 0.4a-2
  • links: PTS
  • area: main
  • in suites: hamm, slink
  • size: 3,592 kB
  • ctags: 3
  • sloc: sh: 59; makefile: 42
file content (142 lines) | stat: -rw-r--r-- 4,295 bytes parent folder | download
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
.\" 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.
.\"
.\" Tiny fix by urs - 960818
.\"
.TH MKNOD 2 "29 de Marzo 1994" "Linux 1.0" "Manual del Programador de Linux"
.SH NOMBRE
mknod \- crea un directorio
.SH SINTAXIS
.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 DESCRIPCIN
.B mknod
intenta crear un nodo-i en el sitema de ficheros (fichero, dispositivo o tuberia
) 
llamado
.IR pathname ", especificado por " mode " y " dev .

.I mode
especifica los permisos de uso y tipo de nodo-i a crear.

Debe ser una combinacion (utilizando mascaras de bits OR) de uno de los tipo 
de ficheros enumerados a continaucion y de los permisos para el nuevo nodo-i.

Los permisos son modificados por por la mascara
.BR umask
en la forma usual: los permisos del nodo-i creado son
.BR "(mode & ~umask)" .

El tipo de fichero debe ser uno de los siguientes:
.BR S_IFREG ", " S_IFCHR ", " S_IFBLK " y " S_IFIFO
para especificar un fichero normal (que sera creado vacio), un fichero 
de tipo caracter, de bloques o FIFO (tuberia con nombre), respectivamente,
o cero, que creara un fichero normal.

Si el tipo de fichero es
.BR S_IFCHR " o " S_IFBLK
entonces
.I dev
espeficia los valores mayor y menor de fichero de dispositivo creado;
de otra forma es ignorado.

El identificador de usuario efectivo indica el propietario del nuevo nodo-i. 
Si el directorio que contiene al nodo-i tiene fijado el bit de identificador
de grupo, o si el sistema de ficheros es montado con la semantica de grupos
de BSD, el nuevo nodo heredara el propietario del grupo de su directorio padre;
en otro caso sera poseido por el grupo efectivo que marque el identificador del
proceso.

.SH VALOR DEVUELTO
.BR mknod
devuelve cero si ha funconado correctamente, -1 si ha ocurrido un error (en 
cuyo caso 
.I errno
es modificado apropiadamente).
.SH ERRORES
.TP
.B EPERM
.I mode
solicitada la creacion de algo distivo a una tuberia con nombre (FIFO), y el
invocador no es el super-usuario (administrador); devuelvo tambien si el
sistema de ficheros indicado en 
.I pathname
no soporta el tipo de nodo-i solicitado.
.TP
.B EINVAL
.I mode
solicitada la creacion de algo diferente a un fichero normal, un fichero de
dispositivo o de tipo FIFO.
.TP
.B EEXIST
.I pathname
ya existe.
.TP
.B EFAULT
.IR pathname " apunta fuera de su espacio de direcciones permitido". 
.TP
.B EACCES
El directorio padre no permite la escritura al proceso, o a uno de los
directorios incluido en 
.IR pathname
no permite la busqueda (ejecucion).
.TP
.B ENAMETOOLONG
.IR pathname " es demasiado largo."
.TP
.B ENOENT
Un componente de 
.I pathname
no existe o es un enlace simbolico.
.TP
.B ENOTDIR
El comoponente utilizado como directorio en
.I pathname
no es, de hecho, un directorio.
.TP
.B ENOMEM
Memoria del nucleo disponible insuficiente.
.TP
.B EROFS
.I pathname
indica un fichero en un sistema de ficheros de solo lectura.
.TP
.B ELOOP
.I pathname
contiene una referencia circular a un enlace simbolico, esto es, un enlace
simblico que contiene una referencia a si mismo.
.TP
.B ENOSPC
El dispositivo que contiene
.I pathname
no tiene espacio para el nuevo nodo-i.
.SH COMPATIBLE CON
SVr4 (pero la llamada requiere privilegios y por esto no es POSIX), 4.4BSD. La
version Linux difiere de la SVr4 en que no queriere permisos de administrador
para crear tuberias, tambien en que los errores EMULTIHOP, ENOLINK, o EINTR
no estan documentados. 
.SH BUGS
La llamada
.B mknod
no puede ser utilizada para crear directorios o ficheros de
comunicaciones (sockets), y no puede ser utilizada para crear ficheros
normales por otros usuarios distintos del administrador.

Existen numerosas pegas en el protocolo por debajo de NFS. Algunas de estas
afectan a
.BR mknod .
.SH VER TAMBIN
.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).