ERRNO

Section: Manuel du programmeur Linux (3)
Updated: 30 Août 1999
Index Retour au Menu Principal

 

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

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



 

Index

NOM
SYNOPSIS
DESCRIPTION
VOIR AUSSI
TRADUCTION


Time: 22:30:00 GMT, December 19, 2004