.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2005, 2014, 2020 Michael Kerrisk .\" .\" 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 .\" 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 "20 juillet 2023" "Pages du manuel de Linux 6.05.01" .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 \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 /* conforme à XSI */ .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 /* 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 .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 .\" 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 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 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 (avant la 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 ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interface Attribut Valeur T{ .na .nh \fBstrerror\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:strerror T} T{ .na .nh \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP() T} Sécurité des threads MT\-Safe T{ .na .nh \fBstrerror_r\fP(), \fBstrerror_l\fP() T} Sécurité des threads MT\-Safe .TE .sp 1 .SH STANDARDS .TP \fBstrerror\fP() C11, POSIX.1\-2008. .TP \fBstrerror_r\fP() .\" 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 .TQ \fBstrerror_l\fP() POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() GNU. .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 HISTORIQUE .TP \fBstrerror\fP() POSIX.1\-2001, C89. .TP \fBstrerror_r\fP() POSIX.1\-2001. .TP \fBstrerror_l\fP() glibc 2.6. POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() glibc 2.32: .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 , 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 . .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 .