.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" 5 Oct 2002, Modified by Michael Kerrisk .\" Updated for POSIX.1 2001 .\" 2004-12-17 Martin Schulze , mtk .\" Removed errno declaration prototype, added notes .\" 2006-02-09 Kurt Wall, mtk .\" Added non-POSIX errors .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ERRNO 3 "1 novembre 2020" "" "Manuel du programmeur Linux" .SH NOM errno \- Code de la dernière erreur .SH SYNOPSIS .\".PP .\".BI "extern int " errno ; \fB#include \fP .SH DESCRIPTION .\" Le fichier d'en\-tête \fI\fP définit la variable de type entier \fIerrno\fP qui est renseignée par les appels système et quelques fonctions de bibliothèque pour décrire les conditions de la survenue d'une erreur. .SS errno La valeur de \fIerrno\fP n'est significative que lorsque la valeur de retour de l'appel système indique une erreur (c'est\-à\-dire \fB\-1\fP pour la plupart des appels système\ ; \fB\-1\fP ou NULL pour la plupart des fonctions de bibliothèque)\ ; une fonction qui réussit est autorisée à modifier \fIerrno\fP. La valeur de \fIerrno\fP n'est jamais mis à zéro par un appel système ou une fonction de bibliothèque. .PP Pour certains appels système et fonctions de bibliothèque (par exemple \fBgetpriority\fP(2)), \fB\-1\fP est une valeur de retour correcte en cas de réussite. Dans de tels cas, une valeur de retour en cas de réussite peut être distinguée d'un cas d'erreur en positionnant \fIerrno\fP à zéro avant l'appel, puis, quand l'appel renvoie une valeur qui indique qu'une erreur a pu se produire, en vérifiant si \fIerrno\fP a une valeur non nulle. .PP .\" \fIerrno\fP est définie par la norme ISO\ C comme une «\ lvalue\ » modifiable de type \fIint\fP et n'a pas besoin d'être définie explicitement\ ; \fIerrno\fP peut être une macro. \fIerrno\fP est locale à un thread\ ; lui affecter une valeur dans un thread ne modifie pas sa valeur dans les autres threads. .SS "Numéros d'erreur et noms" Les numéros d'erreur valables sont tous des nombres positifs. Le fichier d'en\-tête \fI\fP définit les noms symboliques pour chacun des numéros d'erreur possibles pouvant apparaître dans \fIerrno\fP. .PP Toutes les erreurs détaillées dans POSIX.1 doivent avoir des valeurs différentes à l'exception de \fBEAGAIN\fP et \fBEWOULDBLOCK\fP qui peuvent avoir la même valeur. Sur Linux, ces deux erreurs ont la même valeur sur toutes les architectures. .PP Les numéros d'erreur qui correspondent à chaque nom symbolique varient selon les systèmes UNIX et c'est même le cas sous Linux pour des architectures différentes. Par conséquent, les valeurs numériques ne sont pas indiquées dans la liste des noms d'erreur ci\-dessous. Les fonctions \fBperror\fP(3) et \fBstrerror\fP(3) peuvent être utilisées pour convertir ces noms en leur message d'erreur textuel correspondant. .PP Il est possible, sur n'importe quel système Linux, d'obtenir la liste de tous les noms d'erreurs symboliques et leurs numéros d'erreur correspondant en utilisant la commande \fBerrno\fP(1) (faisant partie du paquet \fImoreutils\fP)\ : .PP .in +4n .EX $ \fBerrno \-l\fP EPERM 1 Opération interdite ENOENT 2 Fichier ou répertoire inexistant ESRCH 3 Processus inexistant EINTR 4 Appel système interrompu EIO 5 Erreur d'entrée/sortie \&... .EE .in .PP La commande \fBerrno\fP(1) peut également être utilisée pour rechercher des numéros et noms d'erreurs spécifiques, ainsi que chercher des erreurs en utilisant les chaînes de description de l'erreur, comme dans l'exemple suivant\ : .PP .in +4n .EX $ \fBerrno 2\fP ENOENT 2 Fichier ou répertoire inexistant $ \fBerrno ESRCH\fP ESRCH 3 Processus inexistant $ \fBerrno \-s permission\fP EACCES 13 Permission refusée .EE .in .\".PP .\" POSIX.1 (2001 edition) lists the following symbolic error names. Of .\" these, \fBEDOM\fP and \fBERANGE\fP are in the ISO C standard. ISO C .\" Amendment 1 defines the additional error number \fBEILSEQ\fP for .\" coding errors in multibyte or wide characters. .\" .SS "Liste des noms d'erreur" Dans la liste des noms d'erreurs symboliques ci\-dessous, plusieurs noms sont marqués comme suit\ : .IP * 3 \fIPOSIX.1\-2001\fP\ : Le nom est défini par POSIX.1\-2001 et est défini dans les versions ultérieures de POSIX.1 à moins qu'il ne soit indiqué autre chose. .IP * \fIPOSIX.1\-2008\fP\ : Le nom est défini dans POSIX.1\-2008 mais n'est pas présent dans les normes POSIX.1 antérieures. .IP * \fIC99\fP\ : Le nom est définit par C99. .PP Ci\-dessous se trouve une liste des noms d'erreurs symboliques qui sont définies sous Linux\ : .TP 16 \fBE2BIG\fP Liste d'arguments trop longue (POSIX.1\-2001). .TP \fBEACCES\fP Permission refusée (POSIX.1\-2001) .TP \fBEADDRINUSE\fP Adresse déjà en cours d'utilisation (POSIX.1\-2001). .TP \fBEADDRNOTAVAIL\fP .\" EADV is only an error on HURD(?) Adresse non disponible (POSIX.1\-2001). .TP \fBEAFNOSUPPORT\fP Famille d'adresses non prise en charge (POSIX.1\-2001). .TP \fBEAGAIN\fP Ressource temporairement indisponible (peut être la même valeur que \fBEWOULDBLOCK\fP) (POSIX.1\-2001) .TP \fBEALREADY\fP Connexion déjà en cours (POSIX.1\-2001). .TP \fBEBADE\fP Échange non valable. .TP \fBEBADF\fP Mauvais descripteur de fichier (POSIX.1\-2001). .TP \fBEBADFD\fP Descripteur de fichier dans un mauvais état. .TP \fBEBADMSG\fP Mauvais message (POSIX.1\-2001). .TP \fBEBADR\fP Descripteur de requête non valable. .TP \fBEBADRQC\fP Code de requête non valable. .TP \fBEBADSLT\fP .\" EBFONT is defined but appears not to be used by kernel or glibc. Emplacement («\ Slot\ ») non valable. .TP \fBEBUSY\fP Périphérique ou ressource indisponible (POSIX.1\-2001). .TP \fBECANCELED\fP Opération annulée (POSIX.1\-2001). .TP \fBECHILD\fP Pas de processus enfant (POSIX.1\-2001). .TP \fBECHRNG\fP Numéro de canal hors intervalle. .TP \fBECOMM\fP Échec de la communication lors de l'envoi. .TP \fBECONNABORTED\fP Connexion abandonnée (POSIX.1\-2001). .TP \fBECONNREFUSED\fP Connexion refusée (POSIX.1\-2001). .TP \fBECONNRESET\fP Connexion réinitialisée (POSIX.1\-2001). .TP \fBEDEADLK\fP Blocage d'une ressource évité (POSIX.1\-2001). .TP \fBEDEADLOCK\fP Un synonyme de \fBEDEADLK\fP sur la plupart des architectures. Sur quelques architectures (comme Linux\ MIPS, PowerPC, SPARC), il s'agit d'un code d'erreur distinct «\ Erreur de blocage de verrou de fichier\ ». .TP \fBEDESTADDRREQ\fP Adresse de destination nécessaire (POSIX.1\-2001). .TP \fBEDOM\fP .\" EDOTDOT is defined but appears to be unused Argument mathématique hors du domaine de définition de la fonction (POSIX.1, C99). .TP \fBEDQUOT\fP .\" POSIX just says "Reserved" Quota du disque dépassé (POSIX.1\-2001). .TP \fBEEXIST\fP Fichier existant (POSIX.1\-2001). .TP \fBEFAULT\fP Mauvaise adresse (POSIX.1\-2001). .TP \fBEFBIG\fP Fichier trop grand (POSIX.1\-2001). .TP \fBEHOSTDOWN\fP Hôte éteint. .TP \fBEHOSTUNREACH\fP Hôte non accessible (POSIX.1\-2001). .TP \fBEHWPOISON\fP Une page mémoire a une erreur matérielle. .TP \fBEIDRM\fP Identificateur supprimé (POSIX.1\-2001). .TP \fBEILSEQ\fP Multi\-octet ou caractère large non autorisé ou incomplet (POSIX.1, C99). .IP Le texte montré ici correspond à la description des erreurs de la glibc\ ; cette erreur est décrite dans POSIX.1 comme «\ Séquence d'octet illégale\ ». .TP \fBEINPROGRESS\fP Opération en cours (POSIX.1\-2001). .TP \fBEINTR\fP Appel système interrompu (POSIX.1\-2001)\ ; consultez \fBsignal\fP(7). .TP \fBEINVAL\fP Argument non valable (POSIX.1\-2001). .TP \fBEIO\fP Erreur d'entrée/sortie (POSIX.1\-2001). .TP \fBEISCONN\fP Socket connecté (POSIX.1\-2001). .TP \fBEISDIR\fP Est un répertoire (POSIX.1\-2001). .TP \fBEISNAM\fP Est un fichier de type nommé. .TP \fBEKEYEXPIRED\fP Clé expirée. .TP \fBEKEYREJECTED\fP La clé a été rejetée par le service. .TP \fBEKEYREVOKED\fP La clé a été révoquée. .TP \fBEL2HLT\fP Niveau 2 arrêté. .TP \fBEL2NSYNC\fP Niveau 2 non synchronisé. .TP \fBEL3HLT\fP Niveau 3 arrêté. .TP \fBEL3RST\fP Niveau 3 réinitialisé. .TP \fBELIBACC\fP Impossible d'accéder à une bibliothèque partagée requise. .TP \fBELIBBAD\fP Accès à une bibliothèque partagée corrompue. .TP \fBELIBMAX\fP Tentative de liaison avec trop de bibliothèques partagées. .TP \fBELIBSCN\fP Section \&.lib dans a.out corrompue .TP \fBELIBEXEC\fP Impossible d'exécuter directement une bibliothèque partagée. .TP \fBELNRANGE\fP .\" ELNRNG appears to be used by a few drivers Numéro de lien hors d’intervalle. .TP \fBELOOP\fP Trop de niveaux de liens symboliques (POSIX.1\-2001). .TP \fBEMEDIUMTYPE\fP Mauvais type de média. .TP \fBEMFILE\fP Trop de fichiers ouverts (POSIX.1\-2001). Communément causée par un dépassement de la limite de ressource \fBRLIMIT_NOFILE\fP décrite dans \fBgetrlimit\fP(2). Peut aussi être causée par un dépassement de la limite spécifiée dans \fI/proc/sys/fs/nr_open\fP. .TP \fBEMLINK\fP Trop de liens (POSIX.1\-2001). .TP \fBEMSGSIZE\fP Message trop long (POSIX.1\-2001). .TP \fBEMULTIHOP\fP .\" POSIX says "Reserved" Tentative de sauts multiples «\ Multihop\ » (POSIX.1\-2001). .TP \fBENAMETOOLONG\fP .\" ENAVAIL is defined, but appears not to be used Nom de fichier trop long (POSIX.1\-2001). .TP \fBENETDOWN\fP Le réseau est désactivé (POSIX.1\-2001). .TP \fBENETRESET\fP Connexion annulée par le réseau (POSIX.1\-2001). .TP \fBENETUNREACH\fP Réseau inaccessible (POSIX.1\-2001). .TP \fBENFILE\fP Trop de fichiers ouverts pour le système (POSIX.1\-2001). Sur Linux, cela est probablement dû au dépassement de la limite \fI/proc/sys/fs/file\-max\fP (consultez \fBproc\fP(5)). .TP \fBENOANO\fP .\" ENOANO appears to be used by a few drivers Pas de nœud d'index. .TP \fBENOBUFS\fP .\" ENOCSI is defined but appears to be unused. Aucun espace de tampon disponible (POSIX.1 (option des FLUX XSI)). .TP \fBENODATA\fP Pas de message disponible en tête de la queue de lecture du FLUX (POSIX.1\-2001). .TP \fBENODEV\fP Périphérique inexistant (POSIX.1\-2001). .TP \fBENOENT\fP Fichier ou répertoire inexistant (POSIX.1\-2001). .IP Typiquement, cette erreur survient lors qu'un nom de chemin indiqué n'existe pas, ou que l'un des composants dans le préfixe de répertoire d'un nom de chemin n'existe pas, ou que le nom de chemin indiqué est un lien symbolique sans cible. .TP \fBENOEXEC\fP Erreur de format d'exécution (POSIX.1\-2001). .TP \fBENOKEY\fP Clé nécessaire non disponible. .TP \fBENOLCK\fP Pas de verrou disponible (POSIX.1\-2001). .TP \fBENOLINK\fP .\" POSIX says "Reserved" Un lien a été disjoint (POSIX.1\-2001). .TP \fBENOMEDIUM\fP Aucun média trouvé. .TP \fBENOMEM\fP Pas assez de mémoire, impossible d'allouer de la mémoire (POSIX.1\-2001). .TP \fBENOMSG\fP Pas de message du type attendu (POSIX.1\-2001). .TP \fBENONET\fP La machine n'est pas sur le réseau. .TP \fBENOPKG\fP Paquet non installé. .TP \fBENOPROTOOPT\fP Protocole indisponible (POSIX.1\-2001). .TP \fBENOSPC\fP Plus de place sur le périphérique (POSIX.1\-2001). .TP \fBENOSR\fP Pas de ressources FLUX (POSIX.1 (option des FLUX XSI)). .TP \fBENOSTR\fP Pas un FLUX (POSIX.1 (option des FLUX XSI)). .TP \fBENOSYS\fP Fonction non implémentée (POSIX.1\-2001). .TP \fBENOTBLK\fP Périphérique bloc nécessaire. .TP \fBENOTCONN\fP Le socket n'est pas connecté (POSIX.1\-2001). .TP \fBENOTDIR\fP Pas un répertoire (POSIX.1\-2001). .TP \fBENOTEMPTY\fP .\" ENOTNAM is defined but appears to be unused. Répertoire non vide (POSIX.1\-2001). .TP \fBENOTRECOVERABLE\fP État non récupérable (POSIX.1\-2008). .TP \fBENOTSOCK\fP Pas un socket (POSIX.1\-2001). .TP \fBENOTSUP\fP Opération non prise en charge (POSIX.1\-2001). .TP \fBENOTTY\fP Opération de contrôle d'entrée/sortie inadéquate (POSIX.1\-2001). .TP \fBENOTUNIQ\fP Le nom sur le réseau n'est pas unique. .TP \fBENXIO\fP Périphérique ou adresse inexistant (POSIX.1\-2001). .TP \fBEOPNOTSUPP\fP Opération non prise en charge par le socket (POSIX.1\-2001). .IP (\fBENOTSUP\fP et \fBEOPNOTSUPP\fP ont la même valeur sous Linux, mais selon POSIX.1, ces codes d'erreurs devraient être différents). .TP \fBEOVERFLOW\fP Valeur trop grande pour être stockée dans ce type de donnée (POSIX.1\-2001). .TP \fBEOWNERDEAD\fP .\" Used at least by the user-space side of rubost mutexes Propriétaire disparu (POSIX.1\-2008). .TP \fBEPERM\fP Opération interdite (POSIX.1\-2001). .TP \fBEPFNOSUPPORT\fP Famille de protocoles non prise en charge. .TP \fBEPIPE\fP Tube cassé (POSIX.1\-2001). .TP \fBEPROTO\fP Erreur de protocole (POSIX.1\-2001). .TP \fBEPROTONOSUPPORT\fP Protocole non pris en charge (POSIX.1\-2001). .TP \fBEPROTOTYPE\fP Mauvais type de protocole pour le socket (POSIX.1\-2001). .TP \fBERANGE\fP Résultat trop grand (POSIX.1, C99). .TP \fBEREMCHG\fP Adresse distante changée. .TP \fBEREMOTE\fP L'objet est distant. .TP \fBEREMOTEIO\fP Erreur d'entrées\-sorties distante. .TP \fBERESTART\fP L'appel système interrompu devrait être relancé. .TP \fBERFKILL\fP .\" ERFKILL appears to be used by various drivers Opération impossible à cause de RF\-kill. .TP \fBEROFS\fP Système de fichiers en lecture seule (POSIX.1\-2001). .TP \fBESHUTDOWN\fP Impossible d'effectuer l'envoi après l'arrêt du point final du transport. .TP \fBESPIPE\fP Recherche non valable (POSIX.1\-2001). .TP \fBESOCKTNOSUPPORT\fP Type de socket non pris en charge. .TP \fBESRCH\fP .\" ESRMNT is defined but appears not to be used Processus inexistant (POSIX.1\-2001). .TP \fBESTALE\fP Gestion de fichier périmée (POSIX.1\-2001). .IP Cette erreur peut se produire avec le système de fichiers NFS et d'autres. .TP \fBESTRPIPE\fP Tube de flux cassé. .TP \fBETIME\fP Délai expiré (POSIX.1 (option des FLUX XSI)). .IP (POSIX.1 stipule «\ délai du FLUX \fBioctl\fP(2) dépassé.) .TP \fBETIMEDOUT\fP Délai maximal de connexion écoulé (POSIX.1\-2001). .TP \fBETOOMANYREFS\fP .\" ETOOMANYREFS seems to be used in net/unix/af_unix.c Trop de références\ : impossible de copier (splice). .TP \fBETXTBSY\fP Fichier texte occupé (POSIX.1\-2001). .TP \fBEUCLEAN\fP La structure nécessite un nettoyage. .TP \fBEUNATCH\fP Pilote du protocole non attaché. .TP \fBEUSERS\fP Trop d'utilisateurs. .TP \fBEWOULDBLOCK\fP L'opération serait bloquante (peut être la même valeur que \fBEAGAIN\fP) (POSIX.1\-2001). .TP \fBEXDEV\fP Lien inapproprié (POSIX.1\-2001). .TP \fBEXFULL\fP Échange plein. .SH NOTES Une erreur fréquente est de faire .PP .in +4n .EX if (somecall() == \-1) { printf("somecall() failed\en"); if (errno == ...) { ... } } .EE .in .PP où \fIerrno\fP n'a plus besoin de la valeur qu'elle avait juste après le retour de \fIsomecall\fP() (par exemple, elle peut être changée par \fBprintf\fP(3)). Si la valeur de \fIerrno\fP doit être préservée à travers un appel bibliothèque, elle doit être sauvegardée\ : .PP .in +4n .EX if (somecall() == \-1) { int errsv = errno; printf("somecall() failed\en"); if (errsv == ...) { ... } } .EE .in .PP Notez que les API de fil d'exécution POSIX \fIne\fP positionnent \fIpas\fP \fIerrno\fP en cas d'erreur mais elles renvoient pour résultat le numéro de l'erreur. Ces numéros d'erreur ont la même signification que les numéros d'erreur indiqués dans \fIerrno\fP par d'autres API. .PP Sur d'anciens systèmes, \fI\fP n'est pas présent ou ne déclare pas \fIerrno\fP si bien qu'il est nécessaire de déclarer \fIerrno\fP manuellement (avec \fIextern int errno\fP). \fBNe faites pas cela\fP. Cela a cessé d'être le cas il y a bien longtemps et cause des problèmes avec les versions modernes de la bibliothèque C. .SH "VOIR AUSSI" .\" In the moreutils package \fBerrno\fP(1), \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Grégoire Scano . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .