Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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".