.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2005, 2014, 2020 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 18:05:30 1993 by Rik Faith .\" Modified Fri Feb 16 14:25:17 1996 by Andries Brouwer .\" Modified Sun Jul 21 20:55:44 1996 by Andries Brouwer .\" Modified Mon Oct 15 21:16:25 2001 by John Levon .\" Modified Tue Oct 16 00:04:43 2001 by Andries Brouwer .\" Modified Fri Jun 20 03:04:30 2003 by Andries Brouwer .\" 2005-12-13, mtk, Substantial rewrite of strerror_r() description .\" Addition of extra material on portability and standards. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH STRERROR 3 "1 novembre 2020" "" "Manuel du programmeur Linux" .SH NOM strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \- return string describing error number .SH SYNOPSIS .nf \fB#include \fP .PP \fBchar *strerror(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrorname_np(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrordesc_np(int \fP\fIerrnum\fP\fB);\fP .PP \fBint strerror_r(int \fP\fIerrnum\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB);\fP /* conforme XSI */ .PP \fBchar *strerror_r(int \fP\fIerrnum\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB);\fP /* spécifique GNU */ .PP \fBchar *strerror_l(int \fP\fIerrnum\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP .fi .PP .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7))\ : .RE .ad l .PP .PD 0 \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP(): _GNU_SOURCE .PP \fBstrerror_r\fP()\ : .RS 4 La version compatible XSI est fournie si\ : .br (_POSIX_C_SOURCE\ >=\ 200112L) && ! \ _GNU_SOURCE .br Autrement, c'est la version GNU qui est fournie. .RE .PD .ad .SH DESCRIPTION La fonction \fBstrerror\fP() renvoie un pointeur vers une chaîne qui décrit le code d'erreur passé en argument \fIerrnum\fP, en utilisant éventuellement la catégorie \fBLC_MESSAGES\fP de la localisation pour sélectionner la langue appropriée (par exemple, si \fIerrnum\fP est \fBEINVAL\fP, la description renvoyée sera «\ Argument non valable\ »). Cette chaîne ne doit pas être modifiée par l'application, mais peut être écrasée par un appel ultérieur à \fBstrerror\fP() ou \fBstrerror_l\fP(). Aucune autre fonction de bibliothèque, y compris \fBperror\fP(3), ne modifie cette chaîne. .PP Like \fBstrerror\fP(), the \fBstrerrordesc_np\fP() function returns a pointer to a string that describes the error code passed in the argument \fIerrnum\fP, with the difference that the returned string is not translated according to the current locale. .PP .\" The \fBstrerrorname_np\fP() function returns a pointer to a string containing the name of the error code passed in the argument \fIerrnum\fP. For example, given \fBEPERM\fP as an argument, this function returns a pointer to the string "EPERM". .SS strerror_r() La fonction \fBstrerror_r\fP() est identique à \fBstrerror\fP() mais fonctionne correctement dans un environnement multithread. Cette fonction est disponible en deux versions\ : une version conforme XSI spécifiée dans POSIX.1\-2001 (disponible depuis la glibc\ 2.3.4, mais non compatible POSIX avant la glibc\ 2.13) et une version spécifique à GNU (disponible depuis la glibc\ 2.0). La version compatible XSI est fournie par le paramétrage de la macro de test mentionnée dans le \fBSYNOPSIS\fP, sinon la version spécifique à GNU est fournie. Si aucune macro de test n'est définie explicitement, alors (depuis la glibc\ 2.4) \fB_POSIX_C_SOURCE\fP est définie par défaut avec la valeur 200112L, de telle sorte que la version compatible XSI de \fBstrerror_r\fP() soit fournie par défaut. .PP La version de \fBstrerror_r\fP() conforme XSI est préférée pour les applications portables. Elle renvoie la chaîne d’erreur dans le tampon \fIbuf\fP de longueur \fIbuflen\fP fourni par l'appelant. .PP .\" La version de \fBstrerror_r\fP() spécifique GNU renvoie un pointeur sur une chaîne contenant le message d'erreur. Cela peut être soit un pointeur vers une chaîne que la fonction stocke dans \fIbuf\fP, soit un pointeur vers une chaîne statique (immuable) (auquel cas \fIbuf\fP n'est pas utilisé). Si la fonction stocke une chaîne dans \fIbuf\fP, au plus \fIbuflen\fP octets sont stockés (la chaîne peut être tronquée si \fIbuflen\fP est trop petit et qu'\fIerrnum\fP est inconnu). La chaîne inclut toujours l'octet NULL final («\ \e0\ »). .SS strerror_l() \fBstrerror_l\fP() est semblable à \fBstrerror\fP(), mais fait correspondre à \fIerrnum\fP un message d'erreur adapté à la localisation précisée par \fIlocale\fP. Le comportement de \fBstrerror_l\fP() n'est pas défini si la localisation \fIlocale\fP est l'objet spécial de localisation \fBLC_GLOBAL_LOCALE\fP ou si elle n'a pas une valeur valable de localisation. .SH "VALEUR RENVOYÉE" Les fonctions \fBstrerror\fP(), \fBstrerror_l\fP() et la fonction GNU \fBstrerror_r\fP() renvoient la description correspondante au code transmis, ou un message «\ Unknown error nnn\ » si le numéro d'erreur est inconnu. .PP On success, \fBstrerrorname_np\fP() and \fBstrerrordesc_np\fP() return the appropriate error description string. If \fIerrnum\fP is an invalid error number, these functions return NULL. .PP La fonction \fBstrerror_r\fP() conforme XSI renvoie \fB0\fP si elle réussit. En cas d'erreur, un numéro (positif) d'erreur est renvoyé (depuis la glibc\ 2.13), ou \fB\-1\fP est renvoyé et \fIerrno\fP est défini pour indiquer l'erreur (pour les versions de la glibc antérieures à\ 2.13). .PP POSIX.1\-2001 et POSIX.1\-2008 exigent qu'un appel réussi de \fBstrerror\fP() ou \fBstrerror_l\fP() laisse \fIerrno\fP non modifié. Remarquez que, puisqu'aucune valeur de retour de fonction n'est réservée pour indiquer une erreur, une application qui désire vérifier les erreurs devrait initialiser \fIerrno\fP à zéro avant l'appel, et vérifier \fIerrno\fP après l'appel. .SH ERREURS .TP \fBEINVAL\fP La valeur de \fIerrnum\fP n'est pas un code d'erreur valable. .TP \fBERANGE\fP Le tampon fourni n'est pas assez grand pour la chaîne de description d’erreur. .SH VERSIONS La fonction \fBstrerror_l\fP() est apparue dans la glibc\ 2.6. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbw18 lb lb l l l. Interface Attribut Valeur T{ \fBstrerror\fP() T} Sécurité des threads MT\-Unsafe race:strerror T{ \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP() T} Sécurité des threads MT\-Safe T{ \fBstrerror_r\fP(), .br \fBstrerror_l\fP() T} Sécurité des threads MT\-Safe .TE .SH CONFORMITÉ .\" FIXME . for later review when Issue 8 is one day released... .\" A future POSIX.1 may remove strerror_r() .\" http://austingroupbugs.net/tag_view_page.php?tag_id=8 .\" http://austingroupbugs.net/view.php?id=508 \fBstrerror\fP() est spécifiée par POSIX.1\-2001, POSIX.1\-2008, C89 et C99. \fBstrerror_r\fP() est spécifiée par POSIX.1\-2001 et POSIX.1\-2008. .PP \fBstrerror_l\fP() est spécifiée dans POSIX.1\-2008. .PP The GNU\-specific functions \fBstrerror_r\fP(), \fBstrerrorname_np\fP(), and \fBstrerrordesc_np\fP() are nonstandard extensions. .PP .\" e.g., Solaris 8, HP-UX 11 .\" e.g., FreeBSD 5.4, Tru64 5.1B POSIX.1\-2001 permet à \fBstrerror\fP() d'écrire \fIerrno\fP si l'appel rencontre une erreur mais ne spécifie pas quelle valeur devrait être renvoyée comme résultat de fonction dans l'éventualité d'une erreur. Sur certains systèmes, \fBstrerror\fP() renvoie NULL si le numéro d'erreur est inconnu. Sur d'autres, \fBstrerror\fP() renvoie une chaîne du style «\ Error nnn occurred\ » et écrit \fBEINVAL\fP dans \fIerrno\fP si le numéro d'erreur est inconnu. C99 et POSIX.1\-2008 exigent que la valeur renvoyée ne soit pas NULL. .SH NOTES La bibliothèque GNU C utilise un tampon de 1024 octets pour \fBstrerror\fP(). Cette taille de tampon devrait donc être suffisante pour éviter une erreur \fBERANGE\fP lors d'un appel à \fBstrerror_r\fP(). .PP \fBstrerrorname_np\fP() and \fBstrerrordesc_np\fP() are thread\-safe and async\-signal\-safe. .SH "VOIR AUSSI" \fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrsignal\fP(3), \fBlocale\fP(7) .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/. .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 Frédéric Hantrais . 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. 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 .