]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/fmtmsg.3
dlopen.3: srcfix: add URL relevant for BUGS
[thirdparty/man-pages.git] / man3 / fmtmsg.3
index b0118ce34d10999e23502433ac1eae6896b1612c..c4b4901e47cafca2f89e6d3857f7c0bf773b85e4 100644 (file)
 .\"  The function is quite complex and deserves an example
 .\"
 .\"  Polished, aeb, 2003-11-01
-.TH FMTMSG 3 2008-06-14 "" "Linux Programmer's Manual"
+.TH FMTMSG 3 2017-09-15 "" "Linux Programmer's Manual"
 .SH NAME
 fmtmsg \- print formatted error messages
 .SH SYNOPSIS
 .nf
 .B #include <fmtmsg.h>
-.sp
+.PP
 .BI "int fmtmsg(long " classification ", const char *" label ,
-.br
 .BI "           int " severity ", const char *" text ,
-.br
 .BI "           const char *" action ", const char *" tag );
 .fi
 .SH DESCRIPTION
@@ -33,23 +31,23 @@ For messages written to
 the format depends on the
 .B MSGVERB
 environment variable.
-.LP
+.PP
 The
 .I label
 argument identifies the source of the message.
 The string must consist
 of two colon separated parts where the first part has not more
 than 10 and the second part not more than 14 characters.
-.LP
+.PP
 The
 .I text
 argument describes the condition of the error.
-.LP
+.PP
 The
 .I action
 argument describes possible steps to recover from the error.
 If it is printed, it is prefixed by "TO FIX: ".
-.LP
+.PP
 The
 .I tag
 argument is a reference to the online documentation where more
@@ -80,8 +78,7 @@ is a synonym for
 The
 .I classification
 argument is the sum of values describing 4 types of information.
-.br
-.sp
+.PP
 The first value defines the output channel.
 .TP 12n
 .B MM_PRINT
@@ -187,25 +184,25 @@ print nothing.
 If the user puts
 .B SEV_LEVEL
 with a format like
-.sp
+.PP
 .RS
 SEV_LEVEL=[description[:description[:...]]]
 .RE
-.sp
+.PP
 in the environment of the process before the first call to
 .BR fmtmsg (),
 where each description is of the form
-.sp
+.PP
 .RS
 severity-keyword,level,printstring
 .RE
-.sp
+.PP
 then
 .BR fmtmsg ()
 will also accept the indicated values for the level (in addition to
-the standard levels 0-4), and use the indicated printstring when
+the standard levels 0\(en4), and use the indicated printstring when
 such a level occurs.
-.LP
+.PP
 The severity-keyword part is not used by
 .BR fmtmsg ()
 but it has to be present.
@@ -223,12 +220,27 @@ is the string printed when a message of this class is processed by
 .BR fmtmsg ()
 is provided in glibc since version 2.1.
 .SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lbw23
+l l l.
+Interface      Attribute       Value
+T{
+.BR fmtmsg ()
+T}     Thread safety   T{
+glibc >= 2.16: MT-Safe
+.br
+glibc < 2.16: MT-Unsafe
+T}
+.TE
+.PP
 Before glibc 2.16, the
 .BR fmtmsg ()
 function uses a static variable that is not protected,
 so it is not thread-safe.
-
+.PP
 Since glibc 2.16,
 .\" Modified in commit 7724defcf8873116fe4efab256596861eef21a94
 the
@@ -244,17 +256,18 @@ and environment variables
 and
 .B SEV_LEVEL
 come from System V.
+.PP
 The function
 .BR fmtmsg ()
 and the environment variable
 .B MSGVERB
-are described in POSIX.1-2001.
+are described in POSIX.1-2001 and POSIX.1-2008.
 .SH NOTES
 System V and UnixWare man pages tell us that these functions
 have been replaced by "pfmt() and addsev()" or by "pfmt(),
 vpfmt(), lfmt(), and vlfmt()", and will be removed later.
 .SH EXAMPLE
-.nf
+.EX
 #include <stdio.h>
 #include <stdlib.h>
 #include <fmtmsg.h>
@@ -285,27 +298,34 @@ main(void)
     }
     exit(EXIT_SUCCESS);
 }
-.fi
+.EE
 .PP
 The output should be:
-.nf
-
-    util\-linux:mount: ERROR: unknown mount option
-    TO FIX: See mount(8).  util\-linux:mount:017
-
-.fi
+.PP
+.in +4n
+.EX
+util\-linux:mount: ERROR: unknown mount option
+TO FIX: See mount(8).  util\-linux:mount:017
+.EE
+.in
+.PP
 and after
-.nf
-
-    MSGVERB=text:action; export MSGVERB
-
-.fi
+.PP
+.in +4n
+.EX
+MSGVERB=text:action; export MSGVERB
+.EE
+.in
+.PP
 the output becomes:
-.nf
-
-    unknown mount option
-    TO FIX: See mount(8).
-.fi
+.PP
+.in +4n
+.EX
+unknown mount option
+TO FIX: See mount(8).
+.EE
+.in
+.PP
 .SH SEE ALSO
 .BR addseverity (3),
 .BR perror (3)