Scroll to navigation

ERRNO(3) Funciones de biblioteca ERRNO(3)

NOMBRE

errno - número del último error

SINOPSIS

#include <errno.h>

extern int errno;

DESCRIPCIÓN

Algunas llamadas al sistema (y algunas funciones de biblioteca) dan un valor al entero 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 errno.

Algunas veces, cuando una función tambíen puede devolver -1 como valor válido, se debe poner errno a cero antes de la llamada, para poder detectar posibles errores.

errno se define en el estándar ISO de C como un lvalor (valor de lado izquierdo) modificable de tipo int y no se debe declarar de forma explícita; errno puede ser una macro. errno 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 errno. Todos los nombres de error especificados por POSIX.1 deben tener valores distintos.

POSIX.1 (edición de 2001) lista los siguientes nombres de error simbólicos. De éstos, EDOM y ERANGE existen en el estándar ISO de C. La enmienda 1 del ISO C define el número de error adicional EILSEQ para codificar los errores en múltiples bytes o caracteres extendidos.

Lista de argumentos demasiado larga
Permiso denegado
Dirección en uso
Dirección no disponible
Familia de direcciones no soportada
Recurso temporalmente no disponible
La conexión se encuentra ya en progreso
Descriptor de fichero incorrecto
Mensaje incorrecto
Recurso ocupado
Operación cancelada
No hay procesos hijos
Conexión abortada
Conexión rechazada
Conexión reiniciada
Interbloqueo de recurso evitado
Dirección de destino solicitada
Error de dominio
Reservado
El fichero existe
Dirección incorrecta
Fichero demasiado grande
El host es inalcanzable
Identificador eliminado
Secuencia ilegal de bytes
Operación en progreso
Llamada a función interrumpida
Argumento inválido
Error de Entrada/Salida
El conector está conectado
Es un directorio
Demasiados niveles de enlaces simbólicos
Demasiados ficheros abiertos
Demasiados enlaces
Longitud de buffer de mensaje inapropiada
Reservado
Nombre de fichero demasiado largo
La red está desactivada
Conexión abortada por la red
Red inalcanzable
Demasiados ficheros abiertos en el sistema
Espacio en el buffer no disponible
No hay mensajes disponibles en la cabeza de la cola de lectura del FLUJO
No existe tal dispositivo
No existe ese fichero o directorio
Error en el formato del ejecutable
No hay bloqueos disponibles
Reservado
No hay bastante espacio
Ningún mensaje del tipo deseado
Protocolo no disponible
No queda espacio en el dispositivo
No hay recursos de tipo FLUJO
No es un FLUJO
Función no implementada
El conector no está conectado
No es un directorio
El directorio no está vacío
No es un conector
Operación no soportada
Operación de control de E/S inapropiada
No existe tal dispositivo o dirección
Operación no soportada sobre el conector
Valor demasiado grande para ser almacenado en el tipo de datos
Operación no permitida
Interconexión rota
Error de protocolo
Protocolo no soportado
Tipo de protocolo erróneo para el conector
Resultado demasiado grande
Sistema de ficheros de sólo lectura
Posicionamiento inválido
No existe tal proceso
Reservado
Tiempo de espera agotado para el ioctl() sobre el FLUJO
La operación ha excedido su plazo de tiempo
Comprobación de fichero ocupada
La operación podría bloquearse (puede ser algun valor como EAGAIN)
Enlace inapropiado

VÉASE TAMBIÉN

perror(3), strerror(3)

5 octubre 2002