constantes d'errno
#include <errno.h>
Notes
Les valeurs errno sont des constantes assignées à errno dans l'événement de différentes conditions d'erreur.
ERRNO.H contient les définitions des valeurs errno.Toutefois, toutes les définitions données dans ERRNO.H sont utilisées dans les systèmes d'exploitation Windows 32 bits.Certaines valeurs dans ERRNO.H sont présentes pour des raisons de compatibilité avec la famille UNIX les systèmes d'exploitation.
Les valeurs errno dans un système d'exploitation Windows 32 bits sont un sous-ensemble des valeurs pour errno dans les systèmes de XENIX.Ainsi, la valeur errno n'est pas nécessairement le même que le code d'erreur réel est retournée par un appel système des systèmes d'exploitation Windows.Pour accéder au code d'erreur du système d'exploitation réel, utilisez la variable de _doserrno , qui contient cette valeur.
les valeurs errno suivantes sont prises en charge :
ECHILD
aucun processus engendrés.EAGAIN
pas plus processus.Une tentative de création d'un nouveau processus a échoué car il n'y a plus d'emplacements de processus, ou il n'y a pas assez de mémoire, ou le niveau d'imbrication maximale a été atteint.E2BIG
Liste d'arguments trop long.EACCES
autorisation refusée ;Le paramètre d'autorisation de fichier n'autorise pas l'accès spécifié.Cette erreur signifie qu'une tentative d'accéder à un fichier (ou, dans certains cas, un répertoire) d'une façon qui est incompatible avec les attributs de fichier.Par exemple, l'erreur peut se produire lorsqu'une tentative est faite pour lire un fichier qui n'est pas ouvert, pour ouvrir un fichier existant en lecture seule pour écrire, ou pour ouvrir un répertoire au lieu d'un fichier.Sous les versions 3,0 de système d'exploitation MS-DOS et versions ultérieures, EACCES peut également indiquer un verrouillage ou une violation de partage.
L'erreur peut également se produire pour essayer de renommer un fichier ou un répertoire ou supprimer un répertoire existant.
EBADF
Numéro de fichier incorrect.Il existe deux causes possibles : 1) Le descripteur de fichier spécifié n'est pas une valeur valide ou ne fait pas référence à un fichier ouvert.2) Une tentative d'écriture sur un fichier ou à un appareil ouvert pour un accès en lecture seule.EDEADLOCK
L'interblocage de ressource se produit.L'argument à une fonction mathématique n'est pas dans le champ de la fonction.EDOM
Argument de mathématiques.EEXIST
les fichiers existent.Une tentative de création d'un fichier existant.Par exemple, _O_CREATE entre les balises d' _O_EXCL sont spécifiés dans un appel de _open , mais le fichier nommé existe déjà.EILSEQ
Séquence non conforme d'octets (par exemple, dans une chaîne MBCS).EINVAL
Argument non valide.Une valeur non valide a été fournie pour un des arguments d'une fonction.Par exemple, la valeur donnée pour l'origine lorsque le positionnement un pointeur de fichier (via un appel à fseek) est avant le début du fichier.EMFILE
trop de fichiers ouverts.Plus de descripteurs de fichier n'est disponible, donc plus de fichiers ne peuvent être ouverts.ENOENT
Aucun fichier ou répertoire.Le fichier ou le répertoire spécifié n'existe pas ou est introuvable.Ce message peut se produire lorsqu'un fichier spécifié n'existe pas ou un composant d'un chemin d'accès ne spécifie pas un répertoire existant.ENOEXEC
Erreur de format d'exec.Une tentative a été faite pour exécuter un fichier qui n'est pas exécutable ou un qui a un format de fichier exécutable valide.ENOMEM
Pas assez principaux.Pas assez de mémoire est disponible pour l'opérateur tentée.Par exemple, ce message peut se produire lorsque la mémoire insuffisante est disponible pour exécuter un processus enfant, ou lorsque la demande d'allocation dans un appel de _getcwd ne peut pas être satisfaite.ENOSPC
aucun espace laissé sur le périphérique.Plus d'espace pour entrer n'est disponible sur le périphérique (par exemple, lorsque le disque est plein).ERANGE
Résultat trop volumineux.Un argument à une fonction mathématique est trop important, ce qui entraînera la perte partielle ou complète de signification dans le résultat.Cette erreur peut également se produire dans d'autres fonctions lorsqu'un argument est plus grand que prévu (par exemple, lorsque l'argument de mémoire tampon vers _getcwd est plus longtemps que prévu.)EXDEV
Lien sur un autre appareil.Une tentative a été faite pour déplacer un fichier dans un autre périphérique (à l'aide de la fonction de changement de nom ).STRUNCATE
Une copie ou une concaténation de chaîne a provoqué une chaîne tronquée.Consultez _TRUNCATE.
Les valeurs suivantes sont prises en charge pour la compatibilité avec POSIX.Ils sont des valeurs nécessaires sur les systèmes de non-POSIX.
#define E2BIG [argument list too long]
#define EACCES [permission denied]
#define EADDRINUSE [address in use]
#define EADDRNOTAVAIL [address not available]
#define EAFNOSUPPORT [address family not supported]
#define EAGAIN [resource unavailable try again]
#define EALREADY [connection already in progress]
#define EBADF [bad file descriptor]
#define EBADMSG [bad message]
#define EBUSY [device or resource busy]
#define ECANCELED [operation canceled]
#define ECHILD [no child process]
#define ECONNABORTED [connection aborted]
#define ECONNREFUSED [connection refused]
#define ECONNRESET [connection reset]
#define EDEADLK [resource deadlock would occur]
#define EDESTADDRREQ [destination address required]
#define EDOM [argument out of domain]
#define EEXIST [file exists]
#define EFAULT [bad address]
#define EFBIG [file too large]
#define EHOSTUNREACH [host unreachable]
#define EIDRM [identifier removed]
#define EILSEQ [illegal byte sequence]
#define EINPROGRESS [operation in progress]
#define EINTR [interrupted]
#define EINVAL [invalid argument]
#define EIO [io error]
#define EISCONN [already connected]
#define EISDIR [is a directory]
#define ELOOP [too many synbolic link levels]
#define EMFILE [too many files open]
#define EMLINK [too many links]
#define EMSGSIZE [message size]
#define ENAMETOOLONG [filename too long]
#define ENETDOWN [network down]
#define ENETRESET [network reset]
#define ENETUNREACH [network unreachable]
#define ENFILE [too many files open in system]
#define ENOBUFS [no buffer space]
#define ENODATA [no message available]
#define ENODEV [no such device]
#define ENOENT [no such file or directory]
#define ENOEXEC [executable format error]
#define ENOLCK [no lock available]
#define ENOLINK [no link]
#define ENOMEM [not enough memory]
#define ENOMSG [no message]
#define ENOPROTOOPT [no protocol option]
#define ENOSPC [no space on device]
#define ENOSR [no stream resources]
#define ENOSTR [not a stream]
#define ENOSYS [function not supported]
#define ENOTCONN [not connected]
#define ENOTDIR [not a directory]
#define ENOTEMPTY [directory not empty]
#define ENOTRECOVERABLE [state not recoverable]
#define ENOTSOCK [not a socket]
#define ENOTSUP [not supported]
#define ENOTTY [inappropriate io control operation]
#define ENXIO [no such device or address]
#define EOPNOTSUPP [operation not supported]
#define EOTHER [other]
#define EOVERFLOW [value too large]
#define EOWNERDEAD [owner dead]
#define EPERM [operation not permitted]
#define EPIPE [broken pipe]
#define EPROTO [protocol error]
#define EPROTONOSUPPORT [protocol not supported]
#define EPROTOTYPE [wrong protocol type]
#define ERANGE [result out of range]
#define EROFS [read only file system]
#define ESPIPE [invalid seek]
#define ESRCH [no such process]
#define ETIME [stream timeout]
#define ETIMEDOUT [timed out]
#define ETXTBSY [text file busy]
#define EWOULDBLOCK [operation would block]
#define EXDEV [cross device link]