.\" 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. .\" .\" Translated into Spanish 3 January 1998 by Gerardo Aburruzaga .\" García .\" Translation revised Mon Aug 17 1998 by Juan Piernas .\" .TH ERRNO 3 "30 Marzo 1998" "" "Funciones de biblioteca" .SH NOMBRE errno \- número del último error .SH SINOPSIS #include .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. POSIX.1 (edición de 1996) 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 EAGAIN Recurso temporalmente no disponible .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 EDEADLK Interbloqueo de recurso evitado .TP .B EDOM Error de dominio .TP .B EEXIST El fichero existe .TP .B EFAULT Dirección incorrecta .TP .B EFBIG Fichero demasiado grande .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 EISDIR Es un directorio .TP .B EMFILE Demasiados ficheros abiertos .TP .B EMLINK Demasiados enlaces .TP .B EMSGSIZE Longitud de buffer de mensaje inapropiada .TP .B ENAMETOOLONG Nombre de fichero demasiado largo .TP .B ENFILE Demasiados ficheros abiertos en el sistema .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 ENOMEM No hay bastante espacio .TP .B ENOSPC No queda espacio en el dispositivo .TP .B ENOSYS Función no implementada .TP .B ENOTDIR No es un directorio .TP .B ENOTEMPTY El directorio no está vacío .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 EPERM Operación no permitida .TP .B EPIPE Interconexión rota .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 ETIMEDOUT La operación ha excedido su plazo de tiempo .TP .B EXDEV Enlace inapropiado .LP Otras implementaciones de Unix devuelven muchos otros tipos de error. System V devuelve ETXTBSY (fichero de código ocupado) si se intenta ejecutar una llamada exec() sobre un fichero que actualmente está abierto para escritura. Linux también devuelve este error si se intenta tener un fichero tanto asociado en memoria con VM_DENYWRITE como abierto para escritura. .SH "VÉASE TAMBIÉN" .BR perror (3), .BR strerror (3)