Provided by: manpages-fr-dev_2.64.1-1_all bug

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)