.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2005, 2014, 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 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 <faith@cs.unc.edu>
.\" Modified Fri Feb 16 14:25:17 1996 by Andries Brouwer <aeb@cwi.nl>
.\" Modified Sun Jul 21 20:55:44 1996 by Andries Brouwer <aeb@cwi.nl>
.\" Modified Mon Oct 15 21:16:25 2001 by John Levon <moz@compsoc.man.ac.uk>
.\" Modified Tue Oct 16 00:04:43 2001 by Andries Brouwer <aeb@cwi.nl>
.\" Modified Fri Jun 20 03:04:30 2003 by Andries Brouwer <aeb@cwi.nl>
.\" 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 "5 février 2023" "Pages du manuel de Linux 6.03" 
.SH NOM
strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \- Obtenir
le libellé d'un numéro d'erreur
.SH BIBLIOTHÈQUE
Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP)
.SH SYNOPSIS
.nf
\fB#include <string.h>\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[.\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB);\fP
               /* XSI\-compliant */
.PP
\fBchar *strerror_r(int \fP\fIerrnum\fP\fB, char \fP\fIbuf\fP\fB[.\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB);\fP
               /* GNU\-specific */
.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
.PP
\fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP()\ :
.nf
    _GNU_SOURCE
.fi
.PP
\fBstrerror_r\fP()\ :
.nf
    La version conforme à XSI est fournie si :
        (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE
    Sinon la version spécifique à GNU est fournie.
.fi
.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
Comme \fBstrerror\fP(), la fonction \fBstrerrordesc_np\fP() renvoie un pointeur
vers une chaîne qui décrit le code d’erreur passé dans l’argument \fIerrnum\fP,
avec comme différence que la chaîne renvoyée n’est pas traduite selon la
régionalisation en cours.
.PP
.\"
La fonction \fBstrerrorname_np\fP() renvoie un pointeur vers une chaîne
contenant le nom du code d’erreur passé dans l’argument \fIerrnum\fP. Par
exemple, si \fBEPERM\fP est donné comme argument, cette fonction renvoie un
pointeur vers la chaîne «\ 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
.\"
The GNU\-specific \fBstrerror_r\fP()  returns a pointer to a string containing
the error message.  This may be either a pointer to a string that the
function stores in \fIbuf\fP, or a pointer to some (immutable) static string
(in which case \fIbuf\fP is unused).  If the function stores a string in
\fIbuf\fP, then at most \fIbuflen\fP bytes are stored (the string may be truncated
if \fIbuflen\fP is too small and \fIerrnum\fP is unknown).  The string always
includes a terminating null byte (\[aq]\e0\[aq]).
.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
En cas de succès, \fBstrerrorname_np\fP() et \fBstrerrordesc_np\fP() renvoient la
description correspondante au code transmis. Si \fIerrnum\fP est un numéro
d'erreur non valable, elles renvoient NULL.
.PP
The XSI\-compliant \fBstrerror_r\fP()  function returns 0 on success.  On error,
a (positive) error number is returned (since glibc 2.13), or \-1 is returned
and \fIerrno\fP is set to indicate the error (before glibc 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.
.PP
Les fonctions \fBstrerrorname_np\fP() et \fBstrerrordesc_np\fP() sont apparues
pour la première fois dans la version\ 2.32 de la glibc.
.SH ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
\fBattributes\fP(7).
.ad l
.nh
.TS
allbox;
lb lb lbx
l l l.
Interface	Attribut	Valeur
T{
\fBstrerror\fP()
T}	Sécurité des threads	T{
MT\-Unsafe race:strerror
T}
T{
\fBstrerrorname_np\fP(),
\fBstrerrordesc_np\fP()
T}	Sécurité des threads	MT\-Safe
T{
\fBstrerror_r\fP(),
\fBstrerror_l\fP()
T}	Sécurité des threads	MT\-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
.\" 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()  is specified by POSIX.1\-2001, POSIX.1\-2008, and C99.
\fBstrerror_r\fP()  is specified by POSIX.1\-2001 and POSIX.1\-2008.
.PP
\fBstrerror_l\fP() est spécifiée dans POSIX.1\-2008.
.PP
Les fonctions \fBstrerror_r\fP(), \fBstrerrorname_np\fP() et \fBstrerrordesc_np\fP()
spécifiques à GNU sont des extensions non standard.
.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() et \fBstrerrordesc_np\fP() sont thread\-safe et
async\-signal\-safe.
.SH "VOIR AUSSI"
\fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrsignal\fP(3),
\fBlocale\fP(7)
.PP
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>,
David Prévot <david@tilapin.org>
et
Frédéric Hantrais <fhantrais@gmail.com>
.
.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 .