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 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
|
.\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl)
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\"
.\" 5 Oct 2002, Modified by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
.\" Updated for POSIX 1003.1 2001
.\"
.\" Translated into Spanish 3 January 1998 by Gerardo Aburruzaga
.\" García <Gerardo.Aburruzaga@uca.es>
.\" Translation revised Mon Aug 17 1998 by Juan Piernas <piernas@ditec.um.es>
.\" Traducción revisada por Miguel Pérez Ibars <mpi79470@alu.um.es> el 14-febrero-2005
.\"
.TH ERRNO 3 "5 octubre 2002" "" "Funciones de biblioteca"
.SH NOMBRE
errno \- número del último error
.SH SINOPSIS
#include <errno.h>
.sp
extern int errno;
.SH DESCRIPCIÓN
Algunas llamadas al sistema (y algunas funciones de biblioteca) dan un
valor al entero
.B errno
para indicar qué ha ido mal. Su valor sólo es significativo cuando la
llamada devolvió un error (usualmente \-1) y cuando una función de
biblioteca que acabe bien tenga permitido cambiar
.BR errno .
Algunas veces, cuando una función tambíen puede devolver \-1 como valor válido,
se debe poner
.B errno
a cero antes de la llamada, para poder detectar posibles errores.
\fBerrno\fR se define en el estándar ISO de C como un lvalor (valor
de lado izquierdo) modificable de tipo \fBint\fR y no se debe declarar de
forma explícita; \fBerrno\fR puede ser una macro. \fBerrno\fR es
"local en hilo"; asignarle un valor en un hilo no afecta al valor que
tenga en ningún otro hilo.
Los números de error válidos son todos no cero; ninguna función de
biblioteca asigna nunca un valor cero a \fBerrno\fR. Todos los nombres de
error especificados por POSIX.1 deben tener valores distintos.
.\" FIXME EILSEQ is in C99.
POSIX.1 (edición de 2001) lista los siguientes nombres de error simbólicos.
De éstos, \fBEDOM\fR y \fBERANGE\fR existen en el estándar ISO de C. La
enmienda 1 del ISO C define el número de error adicional \fBEILSEQ\fR
para codificar los errores en múltiples bytes o caracteres extendidos.
.TP
.B E2BIG
Lista de argumentos demasiado larga
.TP
.B EACCES
Permiso denegado
.TP
.B EADDRINUSE
Dirección en uso
.TP
.B EADDRNOTAVAIL
Dirección no disponible
.TP
.B EAFNOSUPPORT
Familia de direcciones no soportada
.TP
.B EAGAIN
Recurso temporalmente no disponible
.TP
.B EALREADY
La conexión se encuentra ya en progreso
.TP
.B EBADF
Descriptor de fichero incorrecto
.TP
.B EBADMSG
Mensaje incorrecto
.TP
.B EBUSY
Recurso ocupado
.TP
.B ECANCELED
Operación cancelada
.TP
.B ECHILD
No hay procesos hijos
.TP
.B ECONNABORTED
Conexión abortada
.TP
.B ECONNREFUSED
Conexión rechazada
.TP
.B ECONNRESET
Conexión reiniciada
.TP
.B EDEADLK
Interbloqueo de recurso evitado
.TP
.B EDESTADDRREQ
Dirección de destino solicitada
.TP
.B EDOM
Error de dominio
.TP
.B EDQUOT
Reservado
.TP
.B EEXIST
El fichero existe
.TP
.B EFAULT
Dirección incorrecta
.TP
.B EFBIG
Fichero demasiado grande
.TP
.B EHOSTUNREACH
El host es inalcanzable
.TP
.B EIDRM
Identificador eliminado
.TP
.B EILSEQ
Secuencia ilegal de bytes
.TP
.B EINPROGRESS
Operación en progreso
.TP
.B EINTR
Llamada a función interrumpida
.TP
.B EINVAL
Argumento inválido
.TP
.B EIO
Error de Entrada/Salida
.TP
.B EISCONN
El conector está conectado
.TP
.B EISDIR
Es un directorio
.TP
.B ELOOP
Demasiados niveles de enlaces simbólicos
.TP
.B EMFILE
Demasiados ficheros abiertos
.TP
.B EMLINK
Demasiados enlaces
.TP
.B EMSGSIZE
Longitud de buffer de mensaje inapropiada
.TP
.B EMULTIHOP
Reservado
.TP
.B ENAMETOOLONG
Nombre de fichero demasiado largo
.TP
.B ENETDOWN
La red está desactivada
.TP
.B ENETRESET
Conexión abortada por la red
.TP
.B ENETUNREACH
Red inalcanzable
.TP
.B ENFILE
Demasiados ficheros abiertos en el sistema
.TP
B ENOBUFS
Espacio en el buffer no disponible
.\" ENODATA es parte de la opción XSR
.TP
.B ENODATA
No hay mensajes disponibles en la cabeza de la cola de lectura del FLUJO
.TP
.B ENODEV
No existe tal dispositivo
.TP
.B ENOENT
No existe ese fichero o directorio
.TP
.B ENOEXEC
Error en el formato del ejecutable
.TP
.B ENOLCK
No hay bloqueos disponibles
.TP
.B ENOLINK
Reservado
.TP
.B ENOMEM
No hay bastante espacio
.TP
.B ENOMSG
Ningún mensaje del tipo deseado
.TP
.B ENOPROTOOPT
Protocolo no disponible
.TP
.B ENOSPC
No queda espacio en el dispositivo
.\" ENOSR es parte de la opción XSR
.TP
.B ENOSR
No hay recursos de tipo FLUJO
.\" ENOSTR es parte de la opción XSR
.TP
.B ENOSTR
No es un FLUJO
.TP
.B ENOSYS
Función no implementada
.TP
.B ENOTCON
El conector no está conectado
.TP
.B ENOTDIR
No es un directorio
.TP
.B ENOTEMPTY
El directorio no está vacío
.TP
.B ENOTSOCK
No es un conector
.TP
.B ENOTSUP
Operación no soportada
.TP
.B ENOTTY
Operación de control de E/S inapropiada
.TP
.B ENXIO
No existe tal dispositivo o dirección
.TP
.B EOPNOTSUPP
Operación no soportada sobre el conector
.TP
.B EOVERFLOW
Valor demasiado grande para ser almacenado en el tipo de datos
.TP
.B EPERM
Operación no permitida
.TP
.B EPIPE
Interconexión rota
.TP
.B EPROTO
Error de protocolo
.TP
.B EPROTONOSUPPORT
Protocolo no soportado
.TP
.B EPROTOTYPE
Tipo de protocolo erróneo para el conector
.TP
.B ERANGE
Resultado demasiado grande
.TP
.B EROFS
Sistema de ficheros de sólo lectura
.TP
.B ESPIPE
Posicionamiento inválido
.TP
.B ESRCH
No existe tal proceso
.TP
.B ESTALE
Reservado
.\" ETIME es parte de la opción XSR
.TP
.B ETIME
Tiempo de espera agotado para el ioctl() sobre el FLUJO
.TP
.B ETIMEDOUT
La operación ha excedido su plazo de tiempo
.TP
.B ETXTBSY
Comprobación de fichero ocupada
.TP
.B EWOULDBLOCK
La operación podría bloquearse (puede ser algun valor como
.BR EAGAIN )
.TP
.B EXDEV
Enlace inapropiado
.SH "VÉASE TAMBIÉN"
.BR perror (3),
.BR strerror (3)
|