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 |
Se rechazó la conexión. | 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 admitida. | 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 |