日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PRINTF(9) FreeBSD カーネル開発者マニュアル PRINTF(9) 名称 printf, uprintf, tprintf, log -- 書式化された出力の変換 書式 #include <sys/types.h> #include <sys/systm.h> int printf(const char *fmt, ...); void tprintf(struct proc *p, int pri, const char *fmt, ...); int uprintf(const char *fmt, ...); int vprintf(const char *fmt, va_list ap); #include <sys/syslog.h> void log(int pri, const char *fmt, ...); void vlog(int pri, const char *fmt, va_list ap); 解説 printf(9) 関数ファミリは、printf(3) 関数ファミリに似ています。異なった関 数は、それぞれ異なった出力ストリームを使用します。uprintf() 関数は、現在 のプロセスの制御 tty に出力しますが、printf() は、ロギング機能に加えてコ ンソールにも書き込みます。tprintf() 関数は、プロセス p に関連する tty に 出力し、pri が -1 でないなら、ロギング機能として出力します。log() 関数 は、pri によって示されるようなログレベルを使用して、カーネルのロギング機 能にメッセージを送り、どのプロセスもまだログを読み込んでいないなら、コン ソールにメッセージを送ります。 これらの関連する関数の各々は、printf(3) と同じ方法で fmt パラメータを使用 します。しかしながら、printf(9) は、2 つの他の変換指定子を追加していま す。 %b 識別子は、2 つの引数を要求します: int と char *。これらは、ビットマス クをデコードするためにレジスタ値と印刷のマスクとして使用されます。印刷の マスクは、次の 2 つの部分から構成されます: 基数と引数。基数値は、整数値と して表現される出力の基数です。例えば、\10 は、8 進法を与え、\20 は、16 進 法を与えます。引数は、ビット識別子のシーケンスから構成されます。各ビット 識別子は、この識別子が記述する (1 から始まる) ビットの数値である整数値で 始まります。識別子の残りは、ビットの名前を含んでいる文字列です。文字列 は、次のビット識別子の最初のビット番号または最後のビット識別子のための NUL のいずれかによって終了します。 %D 識別子は、16 進数ダンプを助けるように意図されています。それは、2 つの 引数を必要とします: u_char * ポインタと char * 文字列。ポインタである指されているメモリは、一度に 16 進数の 1 バイトで 出力されます。文字列は、個々のバイトの間のデリミタ (区切り文字) として使 用されます。存在するなら、幅指示は、表示するバイトの数を指定します。デ フォルトで、16 バイトのデータが出力されます。 log() 関数は、その pri 引数 (ここで、誤って `priority' (優先度) と呼ばれ る) のために syslog(3) レベルの値 LOG_DEBUG から LOG_EMERG を使用します。 代わりに、-1 の pri が与えられるなら、メッセージは、log() への以前の呼び 出しによって開始された最後のログメッセージに追加されます。これらのメッ セージがカーネル自体によって生成されるように、機能は、常に LOG_KERN とな ります。 戻り値 printf() と uprintf() 関数は、表示された文字の数を返します。 使用例 この使用例は、%b と %D 変換指定子の使用を示しています。関数 void printf_test(void) { printf("reg=%b\n", 3, "\10\2BITTWO\1BITONE"); printf("out: %4D\n", "AAAA", ":"); } は、次の出力を生成します: reg=3<BITTWO,BITONE> out: 41:41:41:41 呼び出し log(LOG_DEBUG, "%s%d: been there.\n", sc->sc_name, sc->sc_unit); は、優先度 ``kern.debug'' で適切なデバッグメッセージをシステムログに追加 します。 関連項目 printf(3), syslog(3) FreeBSD 11.2 November 18, 2015 FreeBSD 11.2