| 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 |