com_errのヘルプ・マニュアル
日本語 英語
com_err --help
man com_err
COM_ERR(3) COM_ERR(3)
名前
com_err - 汎用のエラー表示ルーチン
書式
#include
void (*proc) (const char *, long, const char *, va_list);
void com_err (const char *whoami, long code, const char *format, ...);
proc = set_com_err_hook (proc);
proc = reset_com_err_hook ();
void initialize_XXXX_error_table ();
説明
com_err はエラーメッセージを標準エラーストリーム stderr (stdio(3S) を見
よ) に表示する。エラーメッセージは、 whoami 文字列 (プログラムの名前 や
プ ロ グ ラ ムのある部分を示す)・値 code (compile_et(1) から引かれる)・
fprintf(3) スタイルの format 文字列を使って、残りの引数から生成した文字
列、の 3 つの部分からなる。
com_err の動作は set_com_err_hook を用いて変更できる。これは com_err に
渡される引数を用いて呼び出される関数を定義する。デフォルトでは内部の 関
数 が用いられ、これは整形したテキストをエラー出力に送る。つまり、プログ
ラムからのエラーメッセージを、例えば syslog(3) のような診断ログに振り向
け る こ と が 容易にできるわけである。 reset_com_err_hook を用いると、
com_err の動作をデフォルトの形式に戻すことができる。この両関数は、実 行
前 の ‘‘hook’’ の値を返す。これらの ‘‘hook’’ 関数は、書式の部分で示した
proc のように宣言しなければならない。
initialize_XXXX_error_table ルーチンは、名前とそれに対応する文字列と か
らなるソースファイルから compile_et(1) によって自動的に生成される。それ
ぞれの表は 4 文字までの名前を持ち、ルーチンの名前の XXXX の部分になる。
こ れらのルーチンは、各エラーコードを用いる前に呼び出しておき、 com_err
ライブラリがエラーコードをこれらの表から認識できるようにしておかなけ れ
ばならない。
com_err ライブラリのルーチンを用いる全てのソースファイルは、 com_err.h
ヘッダーファイルをインクルードしなければならない。実行ファイルをリン ク
す るときには、 ‘‘-lcom_err’’ を用いて com_err ライブラリが含まれるよう
にしなければならない。
関連項目
compile_et(1), syslog(3)
Ken Raeburn, "A Common Error Description Library for UNIX".
SIPB 22 Nov 1988 COM_ERR(3)