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 |