961e281418
Submitted by: yuko@veltec.co.jp, jpman project <man-jp@jp.FreeBSD.org> Obtained from: http://veltec.co.jp/jman/
99 lines
2.4 KiB
Groff
99 lines
2.4 KiB
Groff
.\" Copyright (c) 1988 Massachusetts Institute of Technology,
|
|
.\" Student Information Processing Board. All rights reserved.
|
|
.\"
|
|
.\" %FreeBSD: src/contrib/com_err/com_err.3,v 1.1 1999/09/04 09:48:58 markm Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.TH COM_ERR 3 "22 Nov 1988" SIPB
|
|
.SH 名称
|
|
com_err \- 共通エラー表示ルーチン
|
|
.SH 書式
|
|
.nf
|
|
#include <com_err.h>
|
|
.PP
|
|
void com_err (whoami, code, format, ...);
|
|
const char *whoami;
|
|
long code;
|
|
const char *format;
|
|
.PP
|
|
proc = set_com_err_hook (proc);
|
|
.fi
|
|
void (*
|
|
.I proc
|
|
) (const char *, long, const char *, va_list);
|
|
.nf
|
|
.PP
|
|
proc = reset_com_err_hook ();
|
|
.PP
|
|
void initialize_XXXX_error_table ();
|
|
.fi
|
|
.SH 解説
|
|
.I com_err
|
|
は、
|
|
.I whoami
|
|
文字列で構成される標準エラーストリーム
|
|
.I stderr
|
|
.IR (stdio (3S)
|
|
を参照) にエラーメッセージを表示します。
|
|
.I whoami
|
|
文字列は、プログラム名またはプログラムの一部の後に、
|
|
.I code
|
|
値
|
|
.IR (compile_et(1)
|
|
から導出されたもの) から生成されたエラーメッセージ、および
|
|
.IR fprintf (3)
|
|
と同じスタイルで、
|
|
.I format
|
|
文字列と以降の引数を使用して作成された
|
|
文字列が続いたものを指定するはずです。
|
|
|
|
.I com_err
|
|
の動作は、
|
|
.I set_com_err_hook
|
|
を使用して修正できます。これによって、
|
|
.I com_err
|
|
に渡される引数とともに呼び出されるプロシージャが定義されます。
|
|
これは、フォーマットされたテキストを
|
|
エラー出力に送信するデフォルトの内部プロシージャの代わりです。
|
|
このように、プログラムからのエラーメッセージはすべて
|
|
.IR syslog (3)
|
|
のような別の形式の診断ログに簡単に転用できます。
|
|
.I reset_com_err_hook
|
|
を使用して、
|
|
.I com_err
|
|
をデフォルトの形式に復元することもできます。
|
|
いずれのプロシージャも前のフック値を返します。
|
|
これらのフックプロシージャは、上記の書式の
|
|
.I proc
|
|
に指定された宣言がなければなりません。
|
|
|
|
.I initialize_XXXX_error_table
|
|
ルーチンは、名前および対応する文字列の入ったソースファイルから
|
|
.IR compile_et (1)
|
|
が機械的に生成します。
|
|
各テーブルには、最高 4 文字の名前があります。
|
|
この名前はルーチンの名前で
|
|
.B XXXX
|
|
の代わりに使用されます。
|
|
これらのルーチンは、
|
|
対応するエラーコードが使用される前に呼び出す必要があるので、
|
|
.I com_err
|
|
ライブラリは、これらのテーブルが使用されるときに、
|
|
これらのテーブルからエラーコードを認識しようとします。
|
|
|
|
.B com_err.h
|
|
ヘッダファイルは、
|
|
.I com_err
|
|
ライブラリのルーチンを使用するソースファイルに
|
|
インクルードする必要があります。実行可能ファイルは、
|
|
.I com_err
|
|
ライブラリがインクルードされるように、
|
|
.I ``-lcom_err''
|
|
を使用してリンクする必要があります。
|
|
|
|
.SH 関連項目
|
|
.IR compile_et (1),
|
|
.IR syslog (3)
|
|
|
|
Ken Raeburn, "A Common Error Description Library for UNIX".
|