SIMPLE SOLUTIONS

COM_ERR(3) - Linux manual

汎用のエラー表示ルーチン.

22 Nov 1988
COM_ERR(3) Library Functions Manual COM_ERR(3)

com_err - 汎用のエラー表示ルーチン

#include <et/com_err.h> 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)
com_err(3).txt (日本語 / Japanese)
Index English version of com_err(3)
Go top