Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
fmtmsg - Afficher des messages d'erreur formates
SYNOPSIS
#include <fmtmsg.h>
int fmtmsg(long classification, const char *label,
int severity, const char *text,
const char *action, const char *tag);
DESCRIPTION
Cette fonction affiche un message decrit par ses arguments sur le(s)
peripherique(s) specifie(s) par le parametre classification. Pour les
messages ecrits sur stderr, le format depend de la variable
d'environnement MSGVERB.
Le parametre label identifie la source du message. La chaine doit etre
composee en deux parties, separees par le caractere deux-points
<< : >>, ou la premiere partie ne comporte pas plus de 10 caracteres et
la seconde, pas plus de 14.
Le parametre text decrit la condition de l'erreur.
Le parametre action decrit les etapes possibles pour recuperer
l'erreur. Si elle est affichee, elle sera prefixee par <<TO FIX: >>.
Le parametre tag est une reference a la documentation en ligne ou l'on
pourra trouver plus d'informations. Il devrait contenir la valeur label
et un numero d'identification unique.
Param`etres factices
Chacun des parametres peut avoir une valeur factice. La valeur de
classification factice MM_NULLMC (0L) ne specifie aucune sortie, ainsi,
rien n'est affiche. La valeur de severite factice NO_SEV (0) signifie
qu'aucune severite n'est fournie. Les valeurs MM_NULLLBL, MM_NULLTXT,
MM_NULLACT, MM_NULLTAG sont des synonymes de ((char *) 0), la chaine
vide, et MM_NULLSEV est un synonyme de NO_SEV.
Le param`etre classification
Le parametre classification est la somme de valeurs decrivant 4 types
d'informations.
La premiere valeur definit le canal de sortie.
MM_PRINT Sortie sur stderr.
MM_CONSOLE Sortie sur la console du systeme.
MM_PRINT | MM_CONSOLE
Sortie sur les deux.
La deuxieme valeur est la source de l'erreur :
MM_HARD Une erreur materielle est survenue.
MM_FIRM Une erreur micro-logicielle (<< firmware >>) est survenue.
MM_SOFT Une erreur logicielle est survenue.
La troisieme valeur encode le detecteur du probleme :
MM_APPL L'erreur a ete detectee par une application.
MM_UTIL L'erreur a ete detectee par un utilitaire.
MM_OPSYS L'erreur a ete detectee par le systeme d'exploitation.
La quatrieme valeur indique la gravite de l'incident :
MM_RECOVER L'erreur est recuperable.
MM_NRECOV L'erreur n'est pas recuperable.
Le param`etre << severity >>
Le parametre severity peut prendre l'une des valeurs suivantes :
MM_NOSEV Aucune severite ne sera affichee.
MM_HALT Cette valeur est affichee en tant que HALT.
MM_ERROR Cette valeur est affichee en tant que ERROR.
MM_WARNING Cette valeur est affichee en tant que WARNING.
MM_INFO Cette valeur est affichee en tant que INFO.
Les valeurs numeriques sont comprises entre 0 et 4. Utiliser
addseverity(3) ou la variable d'environnement SEV_LEVEL vous permet
d'ajouter plus de niveaux et d'afficher des messages.
VALEUR RENVOY'EE
La fonction peut retourner 4 valeurs :
MM_OK Tout c'est bien passe.
MM_NOTOK Echec complet.
MM_NOMSG Erreur lors de l'ecriture sur stderr.
MM_NOCON Erreur lors de l'ecriture sur la console.
ENVIRONNEMENT
La variable d'environnement MSGVERB (<< verbosite du message >>) peut
etre utilisee pour supprimer des parties de la sortie vers stderr (cela
n'a pas d'influence sur la sortie vers la console). Lorsque cette
variable est definie, non vide et que c'est une liste de mots cles
valides separes par le caractere deux-points, seules les parties du
message correspondant a ces mots cles seront affichees. Les mots-cles
valides sont << label >>, << severity >>, << text >>, << action >> et
<< tag >>.
La variable d'environnement SEV_LEVEL peut etre utilisee afin
d'introduire de nouveaux niveaux de severite. Par defaut, seuls les
cinq niveaux de severite decrits precedemment sont disponibles. Toute
autre valeur numerique fera que la fonction fmtmsg() n'affichera rien.
Si l'utilisateur positionne SEV_LEVEL avec un format comme
SEV_LEVEL=[description[:description[:...]]]
dans l'environnement du processus avant le premier appel a fmtmsg(), ou
chaque description est de la forme
severite, niveau, chaine
alors fmtmsg() acceptera egalement les valeurs indiquees pour le niveau
(en plus des niveaux standard [0, 4]), et utilisera la chaine indiquee
lorsqu'un tel niveau surviendra.
La partie << severite >> n'est pas utilisee par fmtmsg() mais elle doit
etre presente. La partie << niveau >> est la representation
alphabetique d'un nombre. La valeur numerique doit etre un nombre
strictement superieur a 4. Cette valeur doit etre utilisee dans le
parametre << severite >> de fmtmsg() pour selectionner cette classe. Il
n'est pas possible de surcharger les classes predefinies. La partie
<< chaine >> est la chaine qui sera affichee lorsqu'un message de cette
classe est traite par fmtmsg().
VERSIONS
fmtmsg() est fournie par la glibc depuis la version 2.1.
CONFORMIT'E
Les fonctions fmtmsg(), addseverity(3), les variables d'environnement
MSGVERB et SEV_LEVEL proviennent de System V. La fonction fmtmsg() et
la variable d'environnement MSGVERB sont decrites dans POSIX.1-2001.
NOTES
Les pages de manuel System V et Unixware disent que ces fonctions ont
ete remplacees par << pfmt() et addsev() >> ou par << pfmt(), vpfmt(),
lfmt(), et vlfmt() >>, et seront supprimees par la suite.
EXEMPLE
#include <stdio.h>
#include <stdlib.h>
#include <fmtmsg.h>
int
main(void)
{
long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;
int err;
err = fmtmsg(class, "util-linux:mount", MM_ERROR,
"unknown mount option", "See mount(8).",
"util-linux:mount:017");
switch (err) {
case MM_OK:
break;
case MM_NOTOK:
printf("Nothing printed\n");
break;
case MM_NOMSG:
printf("Nothing printed to stderr\n");
break;
case MM_NOCON:
printf("No console output\n");
break;
default:
printf("Unknown error from fmtmsg()\n");
}
exit(EXIT_SUCCESS);
}
La sortie devrait etre :
util-linux:mount: ERROR: unknown mount option
TO FIX: See mount(8). util-linux:mount:017
et apres
MSGVERB=text:action; export MSGVERB
la sortie devient :
unknown mount option
TO FIX: See mount(8).
VOIR AUSSI
addseverity(3), perror(3)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Alain Portal <URL:http://manpagesfr.free.fr/> (2004-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
14 juin 2008 FMTMSG(3)