Compartir a través de


constantes errno

Sintaxis

#include <errno.h>

Comentarios

Las errno constantes son valores asignados a errno para varias condiciones de error.

ERRNO.H contiene las definiciones de los valores errno. Sin embargo, no todas las definiciones facilitadas en ERRNO.H se usan en sistemas operativos Windows de 32 bits. Algunos de los valores de ERRNO.H están presentes para mantener la compatibilidad con la familia UNIX de sistemas operativos. Los valores errno en un sistema operativo Windows de 32 bits son un subconjunto de los valores de errno en sistemas UNIX.

Por lo tanto, el valor errno no es necesariamente el mismo que el código de error real devuelto por una llamada del sistema de los sistemas operativos Windows. Para acceder al código de error real del sistema operativo, use la variable _doserrno, que contiene este valor.

Se admiten los valores errno siguientes:

Constante Descripción Valor
E2BIG La lista de argumentos es demasiado larga. 7
EACCES permiso denegado. La configuración de permisos del archivo no permite el acceso especificado. Se intentó acceder a un archivo (o, en algunos casos, un directorio) de una manera incompatible con los atributos del archivo.

Por ejemplo, el error puede producirse cuando se intenta leer desde un archivo que no está abierto. O bien, en un intento de abrir un archivo de solo lectura existente para escribir o para abrir un directorio en lugar de un archivo. En las versiones del sistema operativo MS-DOS 3.0 y posteriores, EACCES también puede indicar un bloqueo o infracción de uso compartido.

También puede producirse el error al intentar cambiar el nombre de un archivo o directorio o quitar un directorio existente.
13
EAGAIN No hay más procesos, memoria insuficiente o se alcanzó el nivel de anidamiento máximo. Error al intentar crear un nuevo proceso porque no hay más ranuras de proceso o no hay suficiente memoria o se ha alcanzado el nivel máximo de anidamiento. 11
EBADF Número de archivo incorrecto. Hay dos causas posibles: 1) El descriptor de archivo especificado no es un valor válido o no hace referencia a un archivo abierto. 2) Se ha intentado escribir en un archivo o dispositivo abierto con acceso de solo lectura. 9
EBUSY Dispositivo o recurso no disponible. 16
ECHILD No hay procesos de compilación. 10
EDEADLK Podría ocurrir un bloqueo irreversible del recurso. 36
EDEADLOCK Igual que EDEADLK por compatibilidad con versiones anteriores de Microsoft C. 36
EDOM Argumento matemático. El argumento de una función matemática no está en el dominio de la función. 33
EEXIST Existen archivos. Se intentó crear un archivo que ya existe. Por ejemplo, las marcas _O_CREAT y _O_EXCL se especifican en una llamada _open, pero el archivo especificado ya existe. 17
EFAULT Dirección incorrecta. 14
EFBIG Archivo demasiado grande. 27
EILSEQ Secuencia no válida de bytes (por ejemplo, en una cadena de MBCS). 42
EINTR Función interrumpida. 4
EINVAL Argumento no válido. Se asignó un valor no válido para uno de los argumentos a una función. Por ejemplo, el valor proporcionado para el origen al colocar un puntero de archivo (mediante una llamada a fseek) es antes del principio del archivo. 22
EIO Error de E/S. 5
EISDIR Es un directorio. 21
EMFILE Demasiados archivos abiertos. No hay más descriptores de archivo disponibles, por lo que no se pueden abrir más archivos. 24
EMLINK Hay demasiados vínculos. 31
ENAMETOOLONG El nombre de archivo es demasiado largo. 38
ENFILE Demasiados archivos abiertos en el sistema. 23
ENODEV No existe tal dispositivo. 19
ENOENT No existe ese archivo o directorio. El archivo o directorio especificados no existe o no se encuentra. Este mensaje puede producirse siempre que un archivo especificado no exista o un componente de una ruta de acceso no especifique un directorio existente. 2
ENOEXEC Error de formato exec. Se intentó ejecutar un archivo que no es ejecutable o que tiene un formato de archivo ejecutable no válido. 8
ENOLCK No hay bloqueos disponibles. 39
ENOMEM No hay suficiente memoria disponible para el operador con el que se ha realizado el intento. Por ejemplo, este mensaje puede producirse cuando no hay suficiente memoria disponible para ejecutar un proceso secundario o cuando no se puede satisfacer la solicitud de asignación en una _getcwd llamada. 12
ENOSPC No queda espacio en el dispositivo. No hay más espacio disponible para escribir en el dispositivo (por ejemplo, cuando el disco está lleno). 28
ENOSYS No se admite la función. 40
ENOTDIR No es un directorio. 20
ENOTEMPTY El directorio no está vacío. 41
ENOTTY Operación de control de E/S incorrecta. 25
ENXIO No existe tal dispositivo o dirección. 6
EPERM Operación no permitida. 1
EPIPE Canalización rota. 32
ERANGE El resultado es demasiado grande. Un argumento para una función matemática es demasiado grande, lo que causará una pérdida parcial o total de significación en el resultado. Este error puede producirse también en otras funciones cuando el argumento es mayor de lo esperado (por ejemplo, cuando el argumento buffer para _getcwd es más largo de lo esperado). 34
EROFS Sistema de archivos de solo lectura. 30
ESPIPE Búsqueda no válida. 29
ESRCH No existe tal proceso. 3
EXDEV Vínculo de dispositivo cruzado. Se ha intentado mover un archivo a otro dispositivo (mediante la función rename). 18
STRUNCATE Una copia de la cadena o una concatenación generó una cadena truncada. Vea _TRUNCATE. 80

Se admiten los siguientes valores para la compatibilidad con Posix:

Constante Descripción Valor
EADDRINUSE Dirección en uso. 100
EADDRNOTAVAIL Dirección no disponible. 101
EAFNOSUPPORT Familia del protocolo no compatible. 102
EALREADY Cnexión ya en curso. 103
EBADMSG Mensaje incorrecto. 104
ECANCELED Operación cancelada. 105
ECONNABORTED Conexión anulada. 106
ECONNREFUSED Conectar se negó. 107
ECONNRESET Restablecimiento de la conexión. 108
EDESTADDRREQ Dirección de destino necesaria. 109
EHOSTUNREACH No se puede acceder al host. 110
EIDRM Identificador quitado. 111
EINPROGRESS Operación en curso. 112
EISCONN Ya conectado. 113
ELOOP Demasiados niveles de vínculo simbólico. 114
EMSGSIZE Tamaño del mensaje. 115
ENETDOWN La red no funciona. 116
ENETRESET Restablecimiento de la red. 117
ENETUNREACH No se puede conectar a la red. 118
ENOBUFS No hay espacio disponible en el búfer. 119
ENODATA No hay ningún mensaje disponible. 120
ENOLINK Sin vínculo. 121
ENOMSG Sin mensaje. 122
ENOPROTOOPT Sin opción de protocolo. 123
ENOSR Sin recursos de flujo. 124
ENOSTR No es una secuencia. 125
ENOTCONN Sin conexión. 126
ENOTRECOVERABLE Estado no recuperable. 127
ENOTSOCK No es un socket. 128
ENOTSUP No compatible. 129
EOPNOTSUPP Operación no admitida. 130
EOTHER Otro. 131
EOVERFLOW Valor demasiado grande. 132
EOWNERDEAD Propietario fallecido. 133
EPROTO Error de protocolo. 134
EPROTONOSUPPORT No se admite el protocolo. 135
EPROTOTYPE Tipo de protocolo incorrecto. 136
ETIME Tiempo de espera de la secuencia. 137
ETIMEDOUT Se agota el tiempo de espera. 138
ETXTBSY Archivo de texto ocupado. 139
EWOULDBLOCK La operación se bloquearía. 140

Consulte también

Constantes globales