1 .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" Distributed under GPL
7 .\" adapted glibc info page
9 .\" This should run as 'Guru Meditation' (amiga joke :)
10 .\" The function is quite complex and deserves an example
12 .\" Polished, aeb, 2003-11-01
13 .\"*******************************************************************
15 .\" This file was generated with po4a. Translate the source file.
17 .\"*******************************************************************
18 .TH FMTMSG 3 2008\-06\-14 "" "Linux Programmer's Manual"
20 fmtmsg \- 整形されたエラーメッセージを表示する
23 \fB#include <fmtmsg.h>\fP
25 \fBint fmtmsg(long \fP\fIclassification\fP\fB, const char *\fP\fIlabel\fP\fB,\fP
27 \fB int \fP\fIseverity\fP\fB, const char *\fP\fItext\fP\fB,\fP
29 \fB const char *\fP\fIaction\fP\fB, const char *\fP\fItag\fP\fB);\fP
32 この関数は、引き数で記述されたメッセージを、 \fIclassification\fP 引き数で指定されたデバイス上に表示する。 \fIstderr\fP
33 に書き出されるメッセージのフォーマットは、 \fBMSGVERB\fP 環境変数に依存する。
35 \fIlabel\fP 引き数はメッセージの発生源を識別する。 この文字列はコロンで区切られた 2 つの部分から構成されていなければならない。 1
36 つ目の部分は 10 文字以内でなければならず、 2 つ目の部分は 14 文字以内でなければならない。
38 \fItext\fP 引き数にはエラー条件を記述する。
40 \fIaction\fP 引き数にはエラーから回復するために利用可能なステップを記述する。 これが表示される場合、"TO FIX: " が前に付く。
42 \fItag\fP 引き数はより多くの情報を見つけるためのオンラインドキュメントへの参照である。 これは \fIlabel\fP
43 値とユニークな識別番号を含んでいるべきである。
45 各引き数にはダミーの値を入れることができる。 ダミーの \fIclassification\fP 値 \fBMM_NULLMC\fP (0L)
46 は出力を何も指定しない。そのため何も表示されない。 ダミーの \fIseverity\fP 値 \fBNO_SEV\fP (0) は重大度 (severity)
47 が与えられていないことを表す。 値 \fBMM_NULLLBL\fP, \fBMM_NULLTXT\fP, \fBMM_NULLACT\fP, \fBMM_NULLTAG\fP
48 は \fI((char *) 0)\fP と空文字列の別名であり、 \fBMM_NULLSEV\fP は \fBNO_SEV\fP の別名である。
49 .SS "classification 引き数"
50 \fIclassification\fP 引き数は 4 種類の情報を記述する値の和である。
61 \fBMM_PRINT | MM_CONSOLE\fP
75 3 番目の値は問題の検知を行ったものをエンコードする:
84 オペレーティングシステムによって検知された。
94 \fIseverity\fP 引き数は以下の 1 つの値をとることができる。
106 この値は WARNING として表示される。
111 数値の場合は 0 から 4 である。 \fBaddseverity\fP(3) または環境変数 \fBSEV_LEVEL\fP
112 を使うことにより、表示するレベルと文字列を更に追加できる。
123 \fIstderr\fP に書き込むときにエラーが起こった。
126 コンソールに書き込むときにエラーが起こった。
128 環境変数 \fBMSGVERB\fP ("message verbosity") は \fIstderr\fP への出力の一部を抑制するのに使うことができる。
129 (コンソールへの出力には影響しない。) この変数が定義されて、NULL でなく、 コロンで区切られた有効なキーワードのリストである場合、
130 キーワードに対応するメッセージの一部のみが表示される。 有効なキーワードは "label", "severity", "text", "action",
133 環境変数 \fBSEV_LEVEL\fP は新しい重大度レベルを導入するのに使用できる。 デフォルトでは、上記の 5 つの重大度レベルのみが利用可能である。
134 他の数値の場合、 \fBfmtmsg\fP() は何も表示しない。 \fBfmtmsg\fP() を初めて呼び出す前に、ユーザが \fBSEV_LEVEL\fP を
137 SEV_LEVEL=[description[:description[:...]]]
140 のような形式でプロセスの環境に設定すると、 \fBfmtmsg\fP() は (標準のレベル 0\-4 に加えて) level に指定された値も受け付け、
141 そのようなレベルの問題が発生すると指定された printstring を表示する。 各 description は
144 severity\-keyword,level,printstring
149 severity\-keyword 部は \fBfmtmsg\fP() に使用されないが、存在しなければならない。 level
150 部は数値を文字列で表したものである。 数値は 4 より大きい値でなければならない。 この値は \fBfmtmsg\fP() の severity
151 引き数で使用されなければならず、この重大度を選択する。 前もって宣言された重大度を上書きすることはできない。 printstring は、
152 この重大度のメッセージが \fBfmtmsg\fP() によって生成された場合に表示される文字列である。
154 \fBfmtmsg\fP() は、バージョン 2.1 以降の glibc で提供されている。
156 関数 \fBfmtmsg\fP() と \fBaddseverity\fP(3) と環境変数 \fBMSGVERB\fP と \fBSEV_LEVEL\fP は
157 System V に由来している。 関数 \fBfmtmsg\fP() と環境変数 \fBMSGVERB\fP は POSIX.1\-2001 に記述されている。
159 System V と UnixWare の man ページには、 「これらの関数は "pfmt() と addsev()" または "pfmt(),
160 vpfmt(), lfmt(), vlfmt()" で置き換えられており、 将来は削除される予定である」と書かれている。
170 long class = MM_PRINT | MM_SOFT | MM_OPSYS | MM_RECOVER;
173 err = fmtmsg(class, "util\-linux:mount", MM_ERROR,
174 "unknown mount option", "See mount(8).",
175 "util\-linux:mount:017");
180 printf("Nothing printed\en");
183 printf("Nothing printed to stderr\en");
186 printf("No console output\en");
189 printf("Unknown error from fmtmsg()\en");
198 util\-linux:mount: ERROR: unknown mount option
199 TO FIX: See mount(8). util\-linux:mount:017
205 MSGVERB=text:action; export MSGVERB
212 TO FIX: See mount(8).
215 \fBaddseverity\fP(3), \fBperror\fP(3)
217 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
218 である。プロジェクトの説明とバグ報告に関する情報は
219 http://www.kernel.org/doc/man\-pages/ に書かれている。