errno Costanti

Sintassi

#include <errno.h>

Osservazioni:

Le errno costanti sono valori assegnati a errno per varie condizioni di errore.

ERRNO.H contiene le definizioni dei errno valori. Tuttavia, non tutte le definizioni fornite in ERRNO.H vengono usate nei sistemi operativi Windows a 32 bit. Alcuni dei valori in ERRNO.H sono presenti per mantenere la compatibilità con la famiglia di sistemi operativi UNIX. I errno valori in un sistema operativo Windows a 32 bit sono un subset dei valori per errno nei sistemi UNIX.

Il errno valore non corrisponde necessariamente al codice di errore effettivo restituito da una chiamata di sistema dal sistema operativo Windows. Per accedere al codice di errore effettivo del sistema operativo, usare la _doserrno variabile che contiene questo valore.

Sono supportati i valori seguenti errno :

Costante Descrizione valore
E2BIG Elenco degli argomenti troppo lungo. 7
EACCES Autorizzazione negata. L'impostazione di autorizzazione del file non consente l'accesso specificato. È stato effettuato un tentativo di accesso a un file (o, in alcuni casi, a una directory) in modo non compatibile con gli attributi del file.

Ad esempio, l'errore può verificarsi quando viene effettuato un tentativo di lettura da un file che non è aperto. In alternativa, in un tentativo di aprire un file di sola lettura esistente per la scrittura o per aprire una directory anziché un file. In MS-DOS sistema operativo versioni 3.0 e successive, EACCES può anche indicare una violazione di blocco o condivisione.

L'errore può verificarsi anche quando si tenta di rinominare un file o una directory o per rimuovere una directory esistente.
13
EAGAIN Non sono stati raggiunti più processi o non è stato raggiunto un livello di annidamento sufficiente o insufficiente. Tentativo di creazione di un nuovo processo non riuscito perché non sono presenti più slot di elaborazione o memoria insufficiente o è stato raggiunto il livello massimo di annidamento. 11
EBADF Numero file errato. Esistono due possibili cause: 1) Il descrittore di file specificato non è un valore valido o non fa riferimento a un file aperto. 2) Si è tentato di scrivere in un file o in un dispositivo aperto per l'accesso di sola lettura. 9
EBUSY Dispositivo o risorsa occupato. 16
ECHILD Nessun processo generato. 10
EDEADLK Si verificherebbe un deadlock delle risorse. 36
EDEADLOCK EDEADLK Come per la compatibilità con le versioni precedenti di Microsoft C. 36
EDOM Argomento matematico. L'argomento di una funzione matematica non si trova nel dominio della funzione. 33
EEXIST File esistenti. Si è tentato di creare un file già esistente. Ad esempio, i _O_CREAT flag e _O_EXCL vengono specificati in una _open chiamata, ma il file denominato esiste già. 17
EFAULT Indirizzo non valido. 14
EFBIG File troppo grande. 27
EILSEQ Sequenza di byte non valida, ad esempio in una MBCS stringa. 42
EINTR Funzione interrotta. 4
EINVAL Argomento non valido. Un valore non valido è stato fornito per uno degli argomenti a una funzione. Ad esempio, il valore specificato per l'origine quando si posiziona un puntatore a un file (tramite una chiamata a fseek) è prima dell'inizio del file. 22
EIO Errore di I/O. 5
EISDIR Directory. 21
EMFILE Troppi file aperti. Non esistono descrittori di file disponibili, pertanto nessun altro file può essere aperto. 24
EMLINK Troppi collegamenti. 31
ENAMETOOLONG Nome file troppo lungo. 38
ENFILE Troppi file aperti nel sistema. 23
ENODEV Nessun dispositivo di questo tipo. 19
ENOENT Nessun file o directory di questo tipo. Il file o la directory specificata non esiste o non è possibile trovare. Questo messaggio può verificarsi ogni volta che un file specificato non esiste o un componente di un percorso non specifica una directory esistente. 2
ENOEXEC Errore di formato exec. È stato effettuato un tentativo di eseguire un file che non è eseguibile o che ha un formato di file eseguibile non valido. 8
ENOLCK Nessun blocco disponibile. 39
ENOMEM Memoria insufficiente per l'operatore desiderato. Ad esempio, questo messaggio può verificarsi quando è disponibile memoria insufficiente per eseguire un processo figlio o quando la richiesta di allocazione in una _getcwd chiamata non può essere soddisfatta. 12
ENOSPC Spazio esaurito sul dispositivo. Non è più disponibile spazio per la scrittura sul dispositivo (ad esempio quando il disco è pieno). 28
ENOSYS Funzione non supportata. 40
ENOTDIR Non una directory. 20
ENOTEMPTY Directory non vuota. 41
ENOTTY Operazione di controllo I/O non appropriata. 25
ENXIO Nessun dispositivo o indirizzo di questo tipo. 6
EPERM Operazione non consentita. 1
EPIPE Tubo rotto. 32
ERANGE Risultato troppo grande. Un argomento a una funzione matematica è troppo grande, con conseguente perdita parziale o totale di significato nel risultato. Questo errore può verificarsi anche in altre funzioni quando un argomento è maggiore del previsto , ad esempio quando l'argomento buffer su _getcwd è più lungo del previsto. 34
EROFS Sola lettura del file system. 30
ESPIPE Ricerca non valida. 29
ESRCH Nessun processo di questo tipo. 3
EXDEV Collegamento incrociato dispositivo. È stato effettuato un tentativo di spostare un file in un dispositivo diverso (usando la rename funzione ). 18
STRUNCATE Una copia o una concatenazione di stringhe ha comportato un troncamento di stringa. Vedere _TRUNCATE. 80

I valori seguenti sono supportati per la compatibilità con POSIX:

Costante Descrizione valore
EADDRINUSE Indirizzo in uso. 100
EADDRNOTAVAIL Indirizzo non disponibile. 101
EAFNOSUPPORT Famiglia di indirizzi non supportata. 102
EALREADY Connessione già in corso. 103
EBADMSG Messaggio non valido. 104
ECANCELED Operazione annullata. 105
ECONNABORTED Connessione interrotta. 106
ECONNREFUSED Connessione rifiutata. 107
ECONNRESET Reimpostazione della connessione. 108
EDESTADDRREQ Indirizzo di destinazione obbligatorio. 109
EHOSTUNREACH Host non raggiungibile. 110
EIDRM Identificatore rimosso. 111
EINPROGRESS Operazione in corso. 112
EISCONN Già connesso. 113
ELOOP Troppi livelli di collegamento simbolici. 114
EMSGSIZE Dimensioni del messaggio. 115
ENETDOWN Rete inattiva. 116
ENETRESET Reimpostazione della rete. 117
ENETUNREACH Rete non raggiungibile. 118
ENOBUFS Nessun spazio buffer. 119
ENODATA Nessun messaggio disponibile. 120
ENOLINK Nessun collegamento. 121
ENOMSG Nessun messaggio. 122
ENOPROTOOPT Nessuna opzione di protocollo. 123
ENOSR Nessuna risorsa di flusso. 124
ENOSTR Non un flusso. 125
ENOTCONN Non connesso. 126
ENOTRECOVERABLE Stato non recuperabile. 127
ENOTSOCK Non un socket. 128
ENOTSUP Non supportato. 129
EOPNOTSUPP Operazione non supportata. 130
EOTHER Altro. 131
EOVERFLOW Valore troppo grande. 132
EOWNERDEAD Proprietario morto. 133
EPROTO Errore del protocollo. 134
EPROTONOSUPPORT Protocollo non supportato. 135
EPROTOTYPE Tipo di protocollo errato. 136
ETIME Timeout del flusso. 137
ETIMEDOUT Timeout. 138
ETXTBSY File di testo occupato. 139
EWOULDBLOCK L'operazione si blocca. 140

Vedi anche

Costanti globali