| errno | |||
Nomerrno - Code de la dernière erreur.Synopsis#include <errno.h>extern int errno; DescriptionLa variable entière errno est renseignée par les appels systèmes (et quelques fonctions de bibliothèque) pour expliquer les conditions d'erreurs. Sa valeur n'est significative que lorsque l'appel système a échoué (généralement en renvoyant -1), car même en cas de réussite une fonction de bibliothèque peut modifier errno.Parfois, si -1 est une valeur de retour légale, il faut positionner 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 mis à zéro par une fonction de la bibliothèque. Toutes les erreurs détaillées dans POSIX.1 doivent avoir des valeurs différents.
POSIX.1 (édition 1996) définit les noms symboliques ci-dessous pour les codes d'erreurs. Parmi eux, EDOM et ERANGE sont également dans le standard C ISO. Amendement 1 au standard C ISO définit également le code d'erreur EILSEQ pour les erreurs de codage dans les caractères étendus, ou multi-octets.
Voir Aussiperror(3)
TraductionChristophe Blaess, 1997.
|