doc/documentation/manual-pages/ja/man3/com_err.3
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

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