Provided by:
manpages-fr-dev_2.64.1-1_all 
NOM
errno - Code de la dernière erreur
SYNOPSIS
#include <errno.h>
DESCRIPTION
The <errno.h> header file defines the integer variable errno, which is
set by system calls and some library functions in the event of an error
to indicate what went wrong. Its value is significant only when the
call returned an error (usually -1), and a function that does succeed
is allowed to change errno.
Sometimes, when -1 is also a valid successful return value one has to
zero errno before the call in order to detect possible errors.
errno is defined by the ISO C standard to be a modifiable lvalue of
type int, and must not be explicitly declared; errno may be a macro.
errno is thread-local; setting it in one thread does not affect its
value in any other thread.
Valid error numbers are all non-zero; errno is never set to zero by any
library function. All the error names specified by POSIX.1 must have
distinct values, with the exception of EAGAIN and EWOULDBLOCK, which
may be the same.
Ci-dessous, un liste des noms d’erreurs symboliques qui sont définis
sous Linux. Certains sont marqués avec POSIX.1, cela signifie que
POSIX.1-2001 les définit, ceux marqués avec C99, sont définis par C99.
E2BIG Liste d’arguments trop longue (POSIX.1)
EACCES Permission refusée (POSIX.1)
EADDRINUSE
Adresse déjà en cours d’utilisation (POSIX.1)
EADDRNOTAVAIL
Adresse non disponible (POSIX.1)
EAFNOSUPPORT
Famille d’adresses non supportée (POSIX.1)
EAGAIN Ressource temporairement indisponible (peut être la même valeur
que EWOULDBLOCK) (POSIX.1)
EALREADY
Connexion déjà en cours (POSIX.1)
EBADE Échange invalide
EBADF Mauvais descripteur de fichier (POSIX.1)
EBADFD Descripteur de fichier dans un mauvais état
EBADMSG
Mauvais message (POSIX.1)
EBADR Descripteur de requête non valable
EBADRQC
Code de requête non valable
EBADSLT
Emplacement (« Slot ») non valable
EBUSY Périphérique ou ressource indisponible (POSIX.1)
ECANCELED
Opération annulée (POSIX.1)
ECHILD Pas de processus fils (POSIX.1)
ECHRNG Numéro de voie hors du domaine de définition
ECOMM Échec de la communication lors de l’envoi
ECONNABORTED
Connexion abandonnée (POSIX.1)
ECONNREFUSED
Connexion refusée (POSIX.1)
ECONNRESET
Connexion ré-initialisée (POSIX.1)
EDEADLK
Blocage d’une ressource évité (POSIX.1)
EDEADLOCK
Synonyme de EDEADLK
EDESTADDRREQ
Adresse de destination nécessaire (POSIX.1)
EDOM Argument mathématique hors du domaine de définition de la
fonction (POSIX.1, C99)
EDQUOT Quota du disque dépassé (POSIX.1)
EEXIST Fichier existant (POSIX.1)
EFAULT Mauvaise adresse (POSIX.1)
EFBIG Fichier trop grand (POSIX.1)
EHOSTDOWN
Hôte éteint
EHOSTUNREACH
Hôte non accessible (POSIX.1)
EIDRM Identificateur supprimé (POSIX.1)
EILSEQ Séquence d’octets illégale (POSIX.1, C99)
EINPROGRESS
Opération en cours (POSIX.1)
EINTR Appel système interrompu (POSIX.1)
EINVAL Argument invalide (POSIX.1)
EIO Erreur d’entrée/sortie (POSIX.1)
EISCONN
La socket est connectée (POSIX.1)
EISDIR Est un répertoire (POSIX.1)
EISNAM Est un fichier nommé
EKEYEXPIRED
Clé expirée
EKEYREJECTED
La clé a été rejeté par le service
EKEYREVOKED
La clé a été révoquée
EL2HLT Niveau 2 arrêté
EL2NSYNC
Niveau 2 non synchronisé
EL3HLT Niveau 3 arrêté
EL3RST Niveau 3 arrêté
ELIBACC
Impossible d’accéder à la bibliothèque partagée nécessaire
ELIBBAD
Accès à une bibliothèque partagée corrompue
ELIBMAX
Tentative de liaison avec trop de bibliothèques partagées
ELIBSCN
Section lib dans a.out corrompue
ELIBEXEC
Impossible d’exécuter directement une bibliothèque partagée
ELOOP Trop de niveau de liens symboliques rencontrés (POSIX.1)
EMEDIUMTYPE
Mauvais type de médium
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 réseau est désactivé (POSIX.1)
ENETRESET
Connexion annulée par le réseau (POSIX.1)
ENETUNREACH
Réseau inaccessible (POSIX.1)
ENFILE Trop de fichiers ouverts sur le système (POSIX.1)
ENOBUFS
Plus de tampons disponibles (POSIX.1 (option des FLUX XSI))
ENODATA
Pas de message disponible en tête de la queue de lecture du FLUX
(POSIX.1)
ENODEV Périphérique inexistant (POSIX.1)
ENOENT Fichier ou répertoire inexistant (POSIX.1)
ENOEXEC
Erreur de format d’exécution (POSIX.1)
ENOKEY Clé nécessaire non disponible
ENOLCK Pas de verrou disponible (POSIX.1)
ENOLINK
Un lien a été disjoint (POSIX.1)
ENOMEDIUM
Aucun média trouvé
ENOMEM Pas assez de mémoire (POSIX.1)
ENOMSG Pas de message du type attendu (POSIX.1)
ENONET La machine n’est pas sur le réseau
ENOPKG Paquet non installé
ENOPROTOOPT
Protocole indisponible (POSIX.1)
ENOSPC Plus de place sur le périphérique (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 implémentée (POSIX.1)
ENOTBLK
Périphérique de bloc nécessaire
ENOTCONN
La socket n’est pas connectée (POSIX.1)
ENOTDIR
Pas un répertoire (POSIX.1)
ENOTEMPTY
Répertoire non vide (POSIX.1)
ENOTSOCK
Pas une socket (POSIX.1)
ENOTSUP
Opération non supportée (POSIX.1)
ENOTTY Opération de contrôle d’entrée/sortie invalide (POSIX.1)
ENOTUNIQ
Le nom sur le réseau n’est pas unique
ENXIO Périphérique ou adresse inexistant (POSIX.1)
EOPNOTSUPP
Opération non supportée par la socket (POSIX.1)
(ENOTSUP and EOPNOTSUPP have the same value on Linux, but
according to POSIX.1 these error values should be distinct.)
EOVERFLOW
Valeur trop grande pour être sauvé dans ce type de donnée
(POSIX.1)
EPERM Opération interdite (POSIX.1)
EPFNOSUPPORT
Famille de protocole non supportée
EPIPE Tube cassé (POSIX.1)
EPROTO Erreur de protocole (POSIX.1)
EPROTONOSUPPORT
Protocole non supporté (POSIX.1)
EPROTOTYPE
Mauvais type de protocole pour la socket (POSIX.1)
ERANGE Résultat trop grand (POSIX.1, C99)
EREMCHG
Adresse distante changée
EREMOTE
L’objet est distant
EREMOTEIO
Erreur d’entrées-sorties distante
ERESTART
L’appel système interrompu devrait être relancé
EROFS Système de fichiers en lecture seule (POSIX.1)
ESHUTDOWN
Impossible d’effectuer l’envoi après l’arret du point final du
transport
ESPIPE Recherche invalide (POSIX.1)
ESOCKTNOSUPPORT
Type de socket non supporté
ESRCH Processus inexistant (POSIX.1)
ESTALE Vieux descripteur de fichier (POSIX.1)
Cette erreur peut se produire avec le système de fichiers NFS et
d’autres
ESTRPIPE
Tube de flux cassé
ETIME Compteur de temps écoulé (POSIX.1 (option des FLUX XSI))
(POSIX.1 dit « délai du FLUX ioctl(2) dépassé)
ETIMEDOUT
Délai maximal de connexion écoulé (POSIX.1)
ETXTBSY
Fichier texte occupé (POSIX.1)
EUCLEAN
La structure nécessite un nettoyage
EUNATCH
Protocole indisponible
EUSERS Trop d’utilisateurs
EWOULDBLOCK
L’opération serait bloquante (peut être la même valeur que
EAGAIN) (POSIX.1)
EXDEV Lien inapproprié (POSIX.1)
EXFULL Échange plein
NOTES
Une erreur fréquente est de faire
if (somecall() == -1) {
printf("somecall() failed\n");
if (errno == ...) { ... }
}
où errno n’a plus besoin de la valeur qu’elle avait juste après le
retour de somecall() (par exemple, elle peut être changé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 (somecall() == -1) {
int errsv = errno;
printf("somecall() failed\n");
if (errsv == ...) { ... }
}
C’est commun en C traditionnel de déclarer 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
bibliothèque C. Toutefois, sur de (très) vieux systèmes Unix, il peut
ne pas y avoir de <errno.h> et dans ce cas la déclaration est
nécessaire.
VOIR AUSSI
err(3), error(3), perror(3), strerror(3)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».
9 février 2006 ERRNO(3)