ERRNO(3) Manuel du programmeur Linux ERRNO(3)
NOM
errno - Code de la dernière erreur.
SYNOPSIS
#include <errno.h>
extern int errno;
DESCRIPTION
La 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 signi
ficative que lorsque l'appel système a échoué (générale
ment 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 bib
liothè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.
E2BIG liste d'arguments trop longue
EACCES Interdiction d'accès
EAGAIN Ressource indisponible temporairement
EBADF Mauvais descripteur de fichier.
EBADMSG
Mauvais message
EBUSY Ressource en cours d'utilisation.
Linux 17 Mai 1998 1
ERRNO(3) Manuel du programmeur Linux ERRNO(3)
ECANCELED
Opération annulée.
ECHILD Pas de processus fils.
EDEADLK
Blocage d'une ressource évité.
EDOM Erreur de domaine.
EEXIST Fichier existant.
EFAULT Mauvais adresse.
EFBIG Fichier trop grand.
EINPROGRESS
Opération en cours.
EINTR Appel système interrompu.
EINVAL Argument invalide.
EIO Erreur d'entrée/sortie.
EISDIR Est un répertoire.
EMFILE Trop de fichiers ouverts.
EMLINK Trop de liens symboliques.
EMSGSIZE
Longueur du buffer de message inappropriée.
ENAMETOOLONG
Nom de fichier trop long.
ENFILE Trop de fichiers ouverts sur le système.
ENODEV Périphérique inexistant.
ENOENT Fichier ou répertoire inexistant.
ENOEXEC
Exécution impossible.
ENOLCK Pas de verrou disponible.
ENOMEM Pas assez de mémoire.
ENOSPC Plus de place sur le périphérique.
ENOSYS Fonction non implémentée.
Linux 17 Mai 1998 2
ERRNO(3) Manuel du programmeur Linux ERRNO(3)
ENOTDIR
Pas un répertoire.
ENOTEMPTY
Répertoire non vide.
ENOTSUP
Opération non supportée.
ENOTTY Opération de contrôle d'Entrée/Sortie invalide.
ENXIO Périphérique ou adresse inexistant.
EPERM Opération interdite.
EPIPE Tube sans lecteur.
ERANGE Résultat trop grand.
EROFS Système de fichiers en lecture-seule.
ESPIPE Recherche invalide.
ESRCH Processus inexistant.
ETIMEDOUT
Délai maximal écoulé.
EXDEV Lien inapproprié.
VOIR AUSSI
perror(3)
TRADUCTION
Christophe Blaess, 1997.
Linux 17 Mai 1998 3