errno | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Parfois, si -1 est une valeur de retour légale, il faut définir errno à 0 avant d'effectuer l'appel système, de manière à détecter une erreur éventuelle. C'est le cas par exemple de getpriority(2).
errno est définie par le standard ISO C comme une lvalue modifiable, de type int, et n'a pas besoin d'être définie explicitement. errno peut être une macro. errno est locale à un thread ; lui affecter une valeur dans un thread ne modifie pas sa valeur dans les autres threads.
Les codes d'erreurs valides sont tous non-nuls. errno n'est jamais mise à zéro par une fonction de la bibliothèque. Toutes les erreurs détaillées dans POSIX.1 doivent avoir des valeurs différentes, à l'exception de EAGAIN et EWOULDBLOCK, qui peuvent être les mêmes
Ci-desous une liste des noms symboliques d'erreur qui sont définis sous Linux. Certains sont marqués POSIX.1 indiquant que le nom est défini par POSIX.1-2001, ou C99, indiquant que le nom est défini par C99.
(ENOTSUP et EOPNOTSUPP ont la même valeur sous Linux, mais comformément à POSIX.1 ces valeurs d'erreurs doivent être distinctes.)
Cette erreur peut survenir pour NFS et d'autres systèmes de fichiers;
(POSIX.1 dit « Dépassement du délai ioctl(2) STREAM ».
NOTES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
if (unappel() == -1) { printf("unappel() a échoué\n"); if (errno == ...) { ... } }où errno n'a plus la valeur qu'elle avait juste après le retour de unappel() (c'est-à-dire qu'elle peut avoir été modifiée par printf(3)). Si la valeur de errno doit être préservée à travers un appel bibliothèque, elle doit être sauvegardée :
if (unappel() == -1) { int errsv = errno; printf("unappel() a échoué\n"); if (errsv == ...) { ... } }
Il est classique, dans le C traditionnel, de déclarer errno manuellement (c'est-à-dire, extern int errno) au lieu d'inclure <errno.h>. Ne faites pas ceci. Cela ne fonctionnera pas avec les versions récentes de la bibliothèque C. Toutefois, sur de (très) vieux systèmes UNIX, <errno.h> peut ne pas exister, auquel cas la déclaration est nécessaire
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 23 octobre 1996 et révisée le 22 avril 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 errno ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
E2BIG | DESCRIPTION |
EACCES | DESCRIPTION |
EADDRINUSE | DESCRIPTION |
EADDRNOTAVAIL | DESCRIPTION |
EAFNOSUPPORT | DESCRIPTION |
EAGAIN | DESCRIPTION |
EALREADY | DESCRIPTION |
EBADE | DESCRIPTION |
EBADF | DESCRIPTION |
EBADFD | DESCRIPTION |
EBADMSG | DESCRIPTION |
EBADR | DESCRIPTION |
EBADRQC | DESCRIPTION |
EBADSLT | DESCRIPTION |
EBUSY | DESCRIPTION |
ECANCELED | DESCRIPTION |
ECHILD | DESCRIPTION |
ECHRNG | DESCRIPTION |
ECOMM | DESCRIPTION |
ECONNABORTED | DESCRIPTION |
ECONNREFUSED | DESCRIPTION |
ECONNRESET | DESCRIPTION |
EDEADLK | DESCRIPTION |
EDEADLOCK | DESCRIPTION |
EDESTADDRREQ | DESCRIPTION |
EDOM | DESCRIPTION |
EDQUOT | DESCRIPTION |
EEXIST | DESCRIPTION |
EFAULT | DESCRIPTION |
EFBIG | DESCRIPTION |
EHOSTDOWN | DESCRIPTION |
EHOSTUNREACH | DESCRIPTION |
EIDRM | DESCRIPTION |
EILSEQ | DESCRIPTION |
EINPROGRESS | DESCRIPTION |
EINTR | DESCRIPTION |
EINVAL | DESCRIPTION |
EIO | DESCRIPTION |
EISCONN | DESCRIPTION |
EISDIR | DESCRIPTION |
EISNAM | DESCRIPTION |
EKEYEXPIRED | DESCRIPTION |
EKEYREJECTED | DESCRIPTION |
EKEYREVOKED | DESCRIPTION |
EL2HLT | DESCRIPTION |
EL2NSYNC | DESCRIPTION |
EL3HLT | DESCRIPTION |
EL3RST | DESCRIPTION |
ELIBACC | DESCRIPTION |
ELIBBAD | DESCRIPTION |
ELIBEXEC | DESCRIPTION |
ELIBMAX | DESCRIPTION |
ELIBSCN | DESCRIPTION |
ELOOP | DESCRIPTION |
EMEDIUMTYPE | DESCRIPTION |
EMFILE | DESCRIPTION |
EMLINK | DESCRIPTION |
EMSGSIZE | DESCRIPTION |
EMULTIHOP | DESCRIPTION |
ENAMETOOLONG | DESCRIPTION |
ENETDOWN | DESCRIPTION |
ENETRESET | DESCRIPTION |
ENETUNREACH | DESCRIPTION |
ENFILE | DESCRIPTION |
ENOBUFS | DESCRIPTION |
ENODATA | DESCRIPTION |
ENODEV | DESCRIPTION |
ENOENT | DESCRIPTION |
ENOEXEC | DESCRIPTION |
ENOKEY | DESCRIPTION |
ENOLCK | DESCRIPTION |
ENOLINK | DESCRIPTION |
ENOMEDIUM | DESCRIPTION |
ENOMEM | DESCRIPTION |
ENOMSG | DESCRIPTION |
ENONET | DESCRIPTION |
ENOPKG | DESCRIPTION |
ENOSPC | DESCRIPTION |
ENOSR | DESCRIPTION |
ENOSTR | DESCRIPTION |
ENOSYS | DESCRIPTION |
ENOTBLK | DESCRIPTION |
ENOTCONN | DESCRIPTION |
ENOTDIR | DESCRIPTION |
ENOTEMPTY | DESCRIPTION |
ENOTPROTOOPT | DESCRIPTION |
ENOTSOCK | DESCRIPTION |
ENOTSUP | DESCRIPTION |
ENOTTY | DESCRIPTION |
ENOTUNIQ | DESCRIPTION |
ENXIO | DESCRIPTION |
EOPNOTSUPP | DESCRIPTION |
EOVERFLOW | DESCRIPTION |
EPERM | DESCRIPTION |
EPFNOSUPPORT | DESCRIPTION |
EPIPE | DESCRIPTION |
EPROTO | DESCRIPTION |
EPROTONOSUPPORT | DESCRIPTION |
EPROTOTYPE | DESCRIPTION |
ERANGE | DESCRIPTION |
EREMCHG | DESCRIPTION |
EREMOTE | DESCRIPTION |
EREMOTEIO | DESCRIPTION |
ERESTART | DESCRIPTION |
EROFS | DESCRIPTION |
ESHUTDOWN | DESCRIPTION |
ESOCKTNOSUPPORT | DESCRIPTION |
ESPIPE | DESCRIPTION |
ESRCH | DESCRIPTION |
ESTALE | DESCRIPTION |
ESTRPIPE | DESCRIPTION |
ETIME | DESCRIPTION |
ETIMEDOUT | DESCRIPTION |
ETXTBSY | DESCRIPTION |
EUCLEAN | DESCRIPTION |
EUNATCH | DESCRIPTION |
EUSERS | DESCRIPTION |
EWOULDBLOCK | DESCRIPTION |
EXDEV | DESCRIPTION |
EXFULL | DESCRIPTION |