Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
NOM
errno - Code de la derniere erreur
SYNOPSIS
#include <errno.h>
DESCRIPTION
Le fichier d'en-tete <errno.h> definit la variable entiere errno, qui
est renseignee par les appels systeme et quelques fonctions de
bibliotheque pour decrire les conditions d'erreurs. Sa valeur n'est
significative que lorsque la valeur de retour l'appel systeme indique
une erreur (c'est-a-dire -1 pour la plupart des appels systeme ; -1 ou
NULL pour la plupart des fonctions de bibliotheque) ; en cas de
reussite une fonction de bibliotheque peut modifier errno.
Les numeros d'erreur correctes son tous non nuls ; errno n'est mis a
zero par aucun appel systeme ou fonction de bibliotheque.
Pour certains appels systeme et fonctions de bibliotheque (par exemple
getpriority(2)), -1 est une valeur de retour correcte en cas de
reussite. Dans de tels cas, une valeur de retour en cas de reussite
peut etre distinguee d'un cas d'erreur est positionnant errno a zero
avant l'appel, puis, quand l'appel fourni une valeur qui indique qu'une
erreur a pu se produire, en verifiant si errno a une valeur non nulle.
errno est definie par le standard ISO C comme une << lvalue >>
modifiable de type int, et n'a pas besoin d'etre definie
explicitement ; errno peut etre une macro. errno est locale a un
thread ; lui affecter une valeur dans un thread ne modifie pas sa
valeur dans les autres threads.
Toutes les erreurs detaillees dans POSIX.1 doivent avoir des valeurs
differentes a l'exception de EAGAIN et EWOULDBLOCK qui peuvent avoir la
meme valeur.
Ci-dessous, un liste des noms d'erreurs symboliques qui sont definis
sous Linux. Certains sont marques avec POSIX.1, cela signifie que
POSIX.1-2001 les definit, ceux marques avec C99, sont definis par C99.
E2BIG Liste d'arguments trop longue (POSIX.1)
EACCES Permission refusee (POSIX.1)
EADDRINUSE Adresse deja en cours d'utilisation (POSIX.1)
EADDRNOTAVAIL Adresse non disponible (POSIX.1)
EAFNOSUPPORT Famille d'adresses non supportee (POSIX.1)
EAGAIN Ressource temporairement indisponible (peut etre la
meme valeur que EWOULDBLOCK) (POSIX.1)
EALREADY Connexion deja en cours (POSIX.1)
EBADE Echange invalide
EBADF Mauvais descripteur de fichier (POSIX.1)
EBADFD Descripteur de fichier dans un mauvais etat
EBADMSG Mauvais message (POSIX.1)
EBADR Descripteur de requete non valable
EBADRQC Code de requete non valable
EBADSLT Emplacement (<< Slot >>) non valable
EBUSY Peripherique ou ressource indisponible (POSIX.1)
ECANCELED Operation annulee (POSIX.1)
ECHILD Pas de processus fils (POSIX.1)
ECHRNG Numero de voie hors du domaine de definition
ECOMM Echec de la communication lors de l'envoi
ECONNABORTED Connexion abandonnee (POSIX.1)
ECONNREFUSED Connexion refusee (POSIX.1)
ECONNRESET Connexion reinitialisee (POSIX.1)
EDEADLK Blocage d'une ressource evite (POSIX.1)
EDEADLOCK Synonyme de EDEADLK
EDESTADDRREQ Adresse de destination necessaire (POSIX.1)
EDOM Argument mathematique hors du domaine de definition de
la fonction (POSIX.1, C99)
EDQUOT Quota du disque depasse (POSIX.1)
EEXIST Fichier existant (POSIX.1)
EFAULT Mauvaise adresse (POSIX.1)
EFBIG Fichier trop grand (POSIX.1)
EHOSTDOWN Hote eteint
EHOSTUNREACH Hote non accessible (POSIX.1)
EIDRM Identificateur supprime (POSIX.1)
EILSEQ Sequence d'octets illegale (POSIX.1, C99)
EINPROGRESS Operation en cours (POSIX.1)
EINTR Appel systeme interrompu (POSIX.1) ; consultez
signal(7).
EINVAL Argument invalide (POSIX.1)
EIO Erreur d'entree/sortie (POSIX.1)
EISCONN La socket est connectee (POSIX.1)
EISDIR Est un repertoire (POSIX.1)
EISNAM Est un fichier nomme
EKEYEXPIRED Cle expiree
EKEYREJECTED La cle a ete rejete par le service
EKEYREVOKED La cle a ete revoquee
EL2HLT Niveau 2 arrete
EL2NSYNC Niveau 2 non synchronise
EL3HLT Niveau 3 arrete
EL3RST Niveau 3 arrete
ELIBACC Impossible d'acceder a la bibliotheque partagee
necessaire
ELIBBAD Acces a une bibliotheque partagee corrompue
ELIBMAX Tentative de liaison avec trop de bibliotheques
partagees
ELIBSCN Section lib dans a.out corrompue
ELIBEXEC Impossible d'executer directement une bibliotheque
partagee
ELOOP Trop de niveau de liens symboliques rencontres
(POSIX.1)
EMEDIUMTYPE Mauvais type de medium
EMFILE Trop de fichiers ouverts (POSIX.1)
EMLINK Trop de liens symboliques (POSIX.1)
EMSGSIZE Message trop long (POSIX.1)
EMULTIHOP Tentative de saut multiple << Multihop >> (POSIX.1)
ENAMETOOLONG Nom de fichier trop long (POSIX.1)
ENETDOWN Le reseau est desactive (POSIX.1)
ENETRESET Connexion annulee par le reseau (POSIX.1)
ENETUNREACH Reseau inaccessible (POSIX.1)
ENFILE Trop de fichiers ouverts sur le systeme (POSIX.1)
ENOBUFS Plus de tampons disponibles (POSIX.1 (option des FLUX
XSI))
ENODATA Pas de message disponible en tete de la queue de
lecture du FLUX (POSIX.1)
ENODEV Peripherique inexistant (POSIX.1)
ENOENT Fichier ou repertoire inexistant (POSIX.1)
ENOEXEC Erreur de format d'execution (POSIX.1)
ENOKEY Cle necessaire non disponible
ENOLCK Pas de verrou disponible (POSIX.1)
ENOLINK Un lien a ete disjoint (POSIX.1)
ENOMEDIUM Aucun media trouve
ENOMEM Pas assez de memoire (POSIX.1)
ENOMSG Pas de message du type attendu (POSIX.1)
ENONET La machine n'est pas sur le reseau
ENOPKG Paquet non installe
ENOPROTOOPT Protocole indisponible (POSIX.1)
ENOSPC Plus de place sur le peripherique (POSIX.1)
ENOSR Pas de ressources FLUX (POSIX.1 (option des FLUX XSI))
ENOSTR Pas un FLUX (POSIX.1 (option des FLUX XSI))
ENOSYS Fonction non implementee (POSIX.1)
ENOTBLK Peripherique de bloc necessaire
ENOTCONN La socket n'est pas connectee (POSIX.1)
ENOTDIR Pas un repertoire (POSIX.1)
ENOTEMPTY Repertoire non vide (POSIX.1)
ENOTSOCK Pas une socket (POSIX.1)
ENOTSUP Operation non supportee (POSIX.1)
ENOTTY Operation de controle d'entree/sortie invalide
(POSIX.1)
ENOTUNIQ Le nom sur le reseau n'est pas unique
ENXIO Peripherique ou adresse inexistant (POSIX.1)
EOPNOTSUPP Operation non supportee par la socket (POSIX.1)
(ENOTSUP et EOPNOTSUPP ont la meme valeur sous Linux,
mais selon POSIX.1, ces codes d'erreurs doivent etre
differents).
EOVERFLOW Valeur trop grande pour etre sauve dans ce type de
donnee (POSIX.1)
EPERM Operation interdite (POSIX.1)
EPFNOSUPPORT Famille de protocole non supportee
EPIPE Tube casse (POSIX.1)
EPROTO Erreur de protocole (POSIX.1)
EPROTONOSUPPORT Protocole non supporte (POSIX.1)
EPROTOTYPE Mauvais type de protocole pour la socket (POSIX.1)
ERANGE Resultat trop grand (POSIX.1, C99)
EREMCHG Adresse distante changee
EREMOTE L'objet est distant
EREMOTEIO Erreur d'entrees-sorties distante
ERESTART L'appel systeme interrompu devrait etre relance
EROFS Systeme de fichiers en lecture seule (POSIX.1)
ESHUTDOWN Impossible d'effectuer l'envoi apres l'arret du point
final du transport
ESPIPE Recherche invalide (POSIX.1)
ESOCKTNOSUPPORT Type de socket non supporte
ESRCH Processus inexistant (POSIX.1)
ESTALE Vieux descripteur de fichier (POSIX.1)
Cette erreur peut se produire avec le systeme de
fichiers NFS et d'autres
ESTRPIPE Tube de flux casse
ETIME Compteur de temps ecoule (POSIX.1 (option des FLUX
XSI))
(POSIX.1 dit << delai du FLUX ioctl(2) depasse)
ETIMEDOUT Delai maximal de connexion ecoule (POSIX.1)
ETXTBSY Fichier texte occupe (POSIX.1)
EUCLEAN La structure necessite un nettoyage
EUNATCH Protocole indisponible
EUSERS Trop d'utilisateurs
EWOULDBLOCK L'operation serait bloquante (peut etre la meme valeur
que EAGAIN) (POSIX.1)
EXDEV Lien inapproprie (POSIX.1)
EXFULL Echange plein
NOTES
Une erreur frequente est de faire
if (somecall() == -1) {
printf("somecall() failed\n");
if (errno == ...) { ... }
}
ou errno n'a plus besoin de la valeur qu'elle avait juste apres le
retour de somecall() (par exemple, elle peut etre changee par
printf(3)). Si la valeur de errno doit etre preservee a travers un
appel bibliotheque, elle doit etre sauvegardee :
if (somecall() == -1) {
int errsv = errno;
printf("somecall() failed\n");
if (errsv == ...) { ... }
}
C'est commun en C traditionnel de declarer errno manuellement (par
exemple, extern int errno) au lieu d'inclure <errno.h>. Ne faites pas
ceci. Cela ne fonctionnera pas avec les versions modernes des
bibliotheque C. Toutefois, sur de (tres) vieux systemes UNIX, il peut
ne pas y avoir de <errno.h> et dans ce cas la declaration est
necessaire.
VOIR AUSSI
err(3), error(3), perror(3), strerror(3)
COLOPHON
Cette page fait partie de la publication 3.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
9 juillet 2008 ERRNO(3)