.\" Updated 2008-04-04, Akihiro MOTOKI, LDP v2.79
.\" Updated 2008-07-31, Akihiro MOTOKI, LDP v3.05
.\"
-.\"WORD: kernel ¥«¡¼¥Í¥ë
-.\"WORD: message ring buffer ¥á¥Ã¥»¡¼¥¸¡¦¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡
-.\"WORD: library ¥é¥¤¥Ö¥é¥ê
-.\"WORD: kernel log buffer ¥«¡¼¥Í¥ë¡¦¥í¥°¡¦¥Ð¥Ã¥Õ¥¡
-.\"WORD: console ¥³¥ó¥½¡¼¥ë
-.\"WORD: kernel panic ¥«¡¼¥Í¥ë¡¦¥Ñ¥Ë¥Ã¥¯
-.\"WORD: loglevel ¥í¥°¥ì¥Ù¥ë
-.\"WORD: debug message ¥Ç¥Ð¥Ã¥°¡¦¥á¥Ã¥»¡¼¥¸
+.\"WORD: kernel カーネル
+.\"WORD: message ring buffer ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\83»ã\83ªã\83³ã\82°ã\83»ã\83\90ã\83\83ã\83\95ã\82¡
+.\"WORD: library ライブラリ
+.\"WORD: kernel log buffer ã\82«ã\83¼ã\83\8dã\83«ã\83»ã\83ã\82°ã\83»ã\83\90ã\83\83ã\83\95ã\82¡
+.\"WORD: console コンソール
+.\"WORD: kernel panic ã\82«ã\83¼ã\83\8dã\83«ã\83»ã\83\91ã\83\8bã\83\83ã\82¯
+.\"WORD: loglevel ログレベル
+.\"WORD: debug message ã\83\87ã\83\90ã\83\83ã\82°ã\83»ã\83¡ã\83\83ã\82»ã\83¼ã\82¸
.\"
.TH SYSLOG 2 2008-06-20 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-syslog, klogctl \- ¥«¡¼¥Í¥ë¤Î¥á¥Ã¥»¡¼¥¸¡¦¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤òÆɤó¤À¤ê¾Ãµî¤·¤¿¤ê¤¹¤ë;
-console_loglevel ¤ÎÀßÄê¤ò¹Ô¤¦
-.SH ½ñ¼°
+.SH 名前
+syslog, klogctl \- カーネルのメッセージ・リング・バッファを読んだり消去したりする;
+console_loglevel の設定を行う
+.SH 書式
.nf
.BI "int syslog(int " type ", char *" bufp ", int " len );
-.B " /* glibc ¤Ç¤Ï¥é¥Ã¥Ñ¡¼´Ø¿ô¤ÏÄ󶡤µ¤ì¤Æ¤¤¤Ê¤¤ */"
+.B " /* glibc ではラッパー関数は提供されていない */"
.sp
-/* glibc ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹ */
+/* glibc ã\81®ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ */
.br
.B "#include <sys/klog.h>"
.sp
.BI "int klogctl(int " type ", char *" bufp ", int " len );
.fi
-.SH ÀâÌÀ
+.SH 説明
.RB ( syslogd (8)
-¤ÈÏä¹) C ¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Î
+と話す) C ライブラリ関数の
.BR syslog ()
-¤¬É¬Íפʾì¹ç¤Ï¡¢
+が必要な場合は、
.BR syslog (3)
-¤ò¸«¤ë¤³¤È¡£
-¤³¤Î̾Á°¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï¥«¡¼¥Í¥ë¤Î
+を見ること。
+この名前のシステム・コールはカーネルの
.IR printk ()
-¥Ð¥Ã¥Õ¥¡¤òÀ©¸æ¤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢glibc ¤Ç¤Ï
+バッファを制御するものであり、glibc では
.BR klogctl ()
-¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£
+と呼ばれている。
-\fItype\fP °ú¤¿ô¤Ï¤³¤Î´Ø¿ô¤ÎÆ°ºî¤ò·èÄꤹ¤ë¡£
+\fItype\fP 引き数はこの関数の動作を決定する。
.I kernel/printk.c
-¤«¤é¤Î°úÍÑ :
+からの引用 :
.nf
/*
* Commands to sys_syslog:
*
- * 0 \-\- ¥í¥°¤òÊĤ¸¤ë¡£¸½ºß¤Î¼ÂÁõ¤Ç¤Ï²¿¤â¤·¤Ê¤¤ (NOP) ¡£
- * 1 \-\- ¥í¥°¤ò³«¤¯¡£¸½ºß¤Î¼ÂÁõ¤Ç¤Ï²¿¤â¤·¤Ê¤¤ (NOP) ¡£
- * 2 \-\- ¥í¥°¤«¤éÆɤ߽Ф¹¡£
- * 3 \-\- ¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¤¹¤Ù¤ÆÆɤ߽Ф¹¡£
- * 4 \-\- ¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¤Ë»Ä¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¤¹¤Ù¤ÆÆɤ߽Ф·¡¢¾Ãµî¤¹¤ë¡£
- * 5 \-\- ¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡¤ò¾Ãµî¤¹¤ë¡£
- * 6 \-\- ¥³¥ó¥½¡¼¥ë¤Ø¤Î printk ¤ò̵¸ú¤Ë¤¹¤ë¡£
- * 7 \-\- ¥³¥ó¥½¡¼¥ë¤Ø¤Î printk ¤ò͸ú¤Ë¤¹¤ë¡£
- * 8 \-\- ¥³¥ó¥½¡¼¥ë¤Ëɽ¼¨¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥ì¥Ù¥ë¤òÀßÄꤹ¤ë¡£
- * 9 \-\- ¥í¥°¥Ð¥Ã¥Õ¥¡¤Î̤ÆɤÎʸ»ú¿ô¤òÊÖ¤¹¡£
- * 10 \-\- ¥í¥°¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤òÊÖ¤¹¡£
+ * 0 \-\- ログを閉じる。現在の実装では何もしない (NOP) 。
+ * 1 \-\- ログを開く。現在の実装では何もしない (NOP) 。
+ * 2 \-\- ログから読み出す。
+ * 3 \-\- リング・バッファに残っているメッセージをすべて読み出す。
+ * 4 \-\- リング・バッファに残っているメッセージをすべて読み出し、消去する。
+ * 5 \-\- リングバッファを消去する。
+ * 6 \-\- コンソールへの printk を無効にする。
+ * 7 \-\- コンソールへの printk を有効にする。
+ * 8 \-\- コンソールに表示されるメッセージのレベルを設定する。
+ * 9 \-\- ログバッファの未読の文字数を返す。
+ * 10 \-\- ログバッファのサイズを返す。
*/
.fi
-ÈóÆø¢¥×¥í¥»¥¹¤Ë¤Ï¥³¥Þ¥ó¥É 3 ¤È 10 ¤Î¤ß¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë
-(¥³¥Þ¥ó¥É 9 ¤Ï Linux 2.4.10 ¤Ç¡¢¥³¥Þ¥ó¥É 10 ¤Ï Linux 2.6.6 ¤ÇÄɲ䵤줿)¡£
-.SS ¥«¡¼¥Í¥ë¡¦¥í¥°¡¦¥Ð¥Ã¥Õ¥¡ (kernel log buffer)
-¥«¡¼¥Í¥ë¤ÏŤµ
+非特権プロセスにはコマンド 3 と 10 のみが許可されている
+(コマンド 9 は Linux 2.4.10 で、コマンド 10 は Linux 2.6.6 で追加された)。
+.SS ã\82«ã\83¼ã\83\8dã\83«ã\83»ã\83ã\82°ã\83»ã\83\90ã\83\83ã\83\95ã\82¡ (kernel log buffer)
+カーネルは長さ
.B LOG_BUF_LEN
-¤Î½ä²ó¼°¤Î¥Ð¥Ã¥Õ¥¡¤ò»ý¤Ã¤Æ¤ª¤ê¡¢
-¤½¤ì¤Ë¤Ï¥«¡¼¥Í¥ë´Ø¿ô¤Î
+の巡回式のバッファを持っており、
+それにはカーネル関数の
.BR printk ()
-¤Î°ú¤¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿
-¥á¥Ã¥»¡¼¥¸¤¬ (¤½¤Î¥í¥°¥ì¥Ù¥ë¤Ë¤«¤«¤ï¤é¤º) ³ÊǼ¤µ¤ì¤ë¡£
-½é´ü¤Î¥«¡¼¥Í¥ë¤Ç¤Ï
+の引き数として与えられた
+メッセージが (そのログレベルにかかわらず) 格納される。
+初期のカーネルでは
.B LOG_BUF_LEN
-¤ÎÃÍ¤Ï 4096 ¤Ç¤¢¤Ã¤¿¡£
-¥«¡¼¥Í¥ë 1.3.54 ¤«¤é¤Ï 8192¡¢
-¥«¡¼¥Í¥ë 2.1.113 ¤«¤é¤Ï 16384 ¤Ë¤Ê¤ê¡¢
-¥«¡¼¥Í¥ë 2.4.23 °Ê¹ß¤ª¤è¤Ó 2.6 °Ê¹ß¤Ç¤Ï¥«¡¼¥Í¥ë¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ë
-ÃͤòÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+の値は 4096 であった。
+カーネル 1.3.54 からは 8192、
+カーネル 2.1.113 からは 16384 になり、
+カーネル 2.4.23 以降および 2.6 以降ではカーネルのコンパイル時に
+値を設定できるようになっている。
.\" Under "General setup" ==> "Kernel log buffer size"
.\" For 2.6, precisely the option seems to have appeared in 2.5.55.
-ºÇ¶á¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¥³¥Þ¥ó¥É 10 ¤Ç¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤òÌ䤤¹ç¤ï¤»¤Ç¤¤ë¡£
+最近のカーネルでは、コマンド 10 でバッファのサイズを問い合わせできる。
.I "syslog(2,buf,len)"
-¤Î¸Æ¤Ó½Ð¤·¤Ï¥«¡¼¥Í¥ë¡¦¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤¬¶õ¤Ç¤Ê¤¯¤Ê¤ë¤Þ¤ÇÂԤäơ¢
-ºÇÂç \fIlen\fP ¥Ð¥¤¥È¤Þ¤Ç \fIbuf\fP ¤Ø¤ÈÆɤ߽Ф·¡¢Æɤ߹þ¤ó¤À
-¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£¥í¥°¤«¤éÆɤޤ줿¥Ð¥¤¥È¤Ï¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤«¤é¾Ã¤¨¤ë:
-¾ðÊó¤Ï°ìÅÙ¤·¤«Æɤळ¤È¤¬¤Ç¤¤Ê¤¤¡£
-¤³¤ì¤Ï¥æ¡¼¥¶¡¼¤Î¥×¥í¥°¥é¥à¤¬
+の呼び出しはカーネル・ログ・バッファが空でなくなるまで待って、
+最大 \fIlen\fP バイトまで \fIbuf\fP へと読み出し、読み込んだ
+バイト数を返す。ログから読まれたバイトはログ・バッファから消える:
+情報は一度しか読むことができない。
+これはユーザーのプログラムが
.I /proc/kmsg
-¤òÆɤó¤À»þ¤Ë¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë´Ø¿ô¤Ç¤â¤¢¤ë¡£
+を読んだ時にカーネルによって実行される関数でもある。
.I syslog(3,buf,len)
-¤Î¸Æ¤Ó½Ð¤·¤Ï¥í¥°¡¦¥Ð¥Ã¥Õ¥¡¤ÎºÇ¸å¤Î \fIlen\fP ¥Ð¥¤¥È¤ò
-(ÈóÇ˲õŪ¤Ë)Æɤ߽Ф¹¡¢¤·¤«¤·¡¢Ä¾¶á¤Î¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá
-(¤³¤ÎÌ¿Îá¤Ï¥Ð¥Ã¥Õ¥¡¤ò¾Ãµî¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤)
-°Ê¹ß¤Ë¥Ð¥Ã¥Õ¥¡¤Ë½ñ¤¹þ¤Þ¤ì¤¿¾ðÊó¤·¤«Æɤ߽Ф»¤Ê¤¤¡£
-ÊÖ¤êÃͤÏÆɤ߹þ¤ó¤À¥Ð¥¤¥È¿ô¤Ç¤¢¤ë¡£
+の呼び出しはログ・バッファの最後の \fIlen\fP バイトを
+(非破壊的に)読み出す、しかし、直近の「リング・バッファ消去」命令
+(この命令はバッファを消去するわけではない)
+以降にバッファに書き込まれた情報しか読み出せない。
+返り値は読み込んだバイト数である。
.I syslog(4,buf,len)
-¸Æ¤Ó½Ð¤·¤Ï¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá¤â¼Â¹Ô¤¹¤ë°Ê³°¤Ï
-µ¡Ç½ 3 ¤È´°Á´¤ËƱ¤¸¤Ç¤¢¤ë¡£
+呼び出しは「リング・バッファ消去」命令も実行する以外は
+機能 3 と完全に同じである。
.I syslog(5,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ï¡Ö¥ê¥ó¥°¡¦¥Ð¥Ã¥Õ¥¡¾Ãµî¡×Ì¿Îá¤Î¤ß¤ò¼Â¹Ô¤¹¤ë
-(¸Æ¤Ó½Ð¤·¤Î½ñ¼°¤Ç¡¢
+呼び出しは「リング・バッファ消去」命令のみを実行する
+(呼び出しの書式で、
.I buf
-¤ä
+や
.I len
-¤¬ "dummy" ¤ÈµºÜ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î°ú¤¿ô¤ÎÃͤ¬Ìµ»ë¤µ¤ì¤ë¤³¤È¤òɽ¤¹)¡£
+が "dummy" と記載されている場合、その引き数の値が無視されることを表す)。
.I syslog(6,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ï¥³¥ó¥½¡¼¥ë¤Î¥í¥°¥ì¥Ù¥ë¤òºÇ¾®¤ËÀßÄꤷ¡¢
-¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£
+呼び出しはコンソールのログレベルを最小に設定し、
+コンソールにメッセージが表示されないようにする。
.I syslog(7,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ï¥³¥ó¥½¡¼¥ë¤Î¥í¥°¥ì¥Ù¥ë¤ò¥Ç¥Õ¥©¥ë¥È¤ËÀßÄꤷ¡¢
-¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£
+呼び出しはコンソールのログレベルをデフォルトに設定し、
+コンソールにメッセージが表示されるようにする。
.I syslog(8,dummy,level)
-¸Æ¤Ó½Ð¤·¤Ï¥³¥ó¥½¡¼¥ë¤Î¥í¥°¥ì¥Ù¥ë¤ò
+呼び出しはコンソールのログレベルを
.I level
-¤ËÀßÄꤹ¤ë¡£
+に設定する。
.I level
-¤Ï 1 °Ê¾å 8 °Ê²¼¤ÎÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-¾ÜºÙ¤Ï
-.B ¥í¥°¥ì¥Ù¥ë (loglevel)
-¤ÎÀá¤ò»²¾È¤Î¤³¤È¡£
+は 1 以上 8 以下の整数でなければならない。
+詳細は
+.B ログレベル (loglevel)
+の節を参照のこと。
.I syslog(9,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ï¥«¡¼¥Í¥ë¡¦¥í¥°¥Ð¥Ã¥Õ¥¡¤Ë¤¢¤ë¸½ºßÆɤ߽Ф·²Äǽ¤Ê¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
+呼び出しはカーネル・ログバッファにある現在読み出し可能なバイト数を返す。
.I syslog(10,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ï¥«¡¼¥Í¥ë¡¦¥í¥°¥Ð¥Ã¥Õ¥¡¤ÎÁíÎ̤òÊÖ¤¹¡£
-.SS ¥í¥°¥ì¥Ù¥ë (loglevel)
-¥«¡¼¥Í¥ë¡¦¥ë¡¼¥Á¥ó¤Î
+呼び出しはカーネル・ログバッファの総量を返す。
+.SS ログレベル (loglevel)
+カーネル・ルーチンの
.BR printk ()
-¤Ï¡¢¥í¥°¥ì¥Ù¥ë¤¬
+は、ログレベルが
.I console_loglevel
-ÊÑ¿ô¤è¤ê¾®¤µ¤¤¤È¤¤Ë¤Î¤ß¡¢¥³¥ó¥½¡¼¥ë¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
+変数より小さいときにのみ、コンソールにメッセージを表示する。
.I console_loglevel
-¤ÏºÇ½é
+は最初
.B DEFAULT_CONSOLE_LOGLEVEL
-(7) ¤ËÀßÄꤵ¤ì¤ë¤¬¡¢µ¯Æ°»þ¤Ë¥«¡¼¥Í¥ë¤Î
-¥³¥Þ¥ó¥É¡¦¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤Ë "debug" ¤È¤¤¤¦Ã±¸ì¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï
-10 ¤ËÀßÄꤵ¤ì¡¢¥«¡¼¥Í¥ë¡¦¥Õ¥©¡¼¥ë¥È¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï 15 ¤ËÀßÄꤵ¤ì¤ë
-(⤷¡¢10 ¤ä 15 ¤È¤¤¤¦¿ô»ú¤Ë°ÕÌ£¤Ï¤Ê¤¯¡¢8 ¤ÈƱÅù¤Ç¤¢¤ë)¡£
-¤³¤ÎÊÑ¿ô¤Ï
+(7) に設定されるが、起動時にカーネルの
+コマンド・ライン・オプションに "debug" という単語が含まれている場合は
+10 に設定され、カーネル・フォールトが発生した場合には 15 に設定される
+(但し、10 や 15 という数字に意味はなく、8 と同等である)。
+この変数は
.IR syslog(8,dummy,value) .
-¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¡¢ÃͤÎÈÏ°Ï¤Ï 1-8 ¤Ç¤¢¤ë¡£
+呼び出しによって設定され、値の範囲は 1-8 である。
.I syslog(type,dummy,dummy)
-¸Æ¤Ó½Ð¤·¤Ç \fItype\fP ¤¬ 6 ¤â¤·¤¯¤Ï 7 ¤Î¾ì¹ç¡¢
-console_loglevel ¤Ï 1 (¥«¡¼¥Í¥ë¡¦¥Ñ¥Ë¥Ã¥¯¤Î¤ß)¡¢
-7 (¥Ç¥Ð¥Ã¥°¡¦¥á¥Ã¥»¡¼¥¸°Ê³°¤ÎÁ´¤Æ) ¤Ë¤½¤ì¤¾¤ìÀßÄꤵ¤ì¤ë¡£
+呼び出しで \fItype\fP が 6 もしくは 7 の場合、
+console_loglevel は 1 (カーネル・パニックのみ)、
+7 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。
-¥á¥Ã¥»¡¼¥¸¤Î³Æ¹Ô¤Ï¤½¤ì¤¾¤ì¤Ë¥í¥°¥ì¥Ù¥ë¤ò»ý¤Ä¡£¤³¤Î¥í¥°¥ì¥Ù¥ë¤Ï
+メッセージの各行はそれぞれにログレベルを持つ。このログレベルは
.I "DEFAULT_MESSAGE_LOGLEVEL \- 1"
-(6) ¤Ç¤¢¤ë¤¬¡¢ <d> (\fId\fP ¤Ï 1-7 ¤ÎÈϰϤοô»ú) ¤Ç»Ï¤Þ¤ë¹Ô¤Î
-¥í¥°¥ì¥Ù¥ë¤Ï \fId\fP ¤Ç¤¢¤ë¡£
-¥í¥°¥ì¥Ù¥ë¤Î´·½¬Åª¤Ê°ÕÌ£¤Ï
+(6) であるが、 <d> (\fId\fP は 1-7 の範囲の数字) で始まる行の
+ログレベルは \fId\fP である。
+ログレベルの慣習的な意味は
.I <linux/kernel.h>
-¤Ë°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
+に以下のように定義されている:
.nf
-#define KERN_EMERG "<0>" /* ¥·¥¹¥Æ¥à¤¬»ÈÍÑÉÔǽ */
-#define KERN_ALERT "<1>" /* ľ¤Á¤ËÂн褬ɬÍ× */
-#define KERN_CRIT "<2>" /* Ã×̿Ū¤Ê¾õÂÖ */
-#define KERN_ERR "<3>" /* ¥¨¥é¡¼¾õÂÖ */
-#define KERN_WARNING "<4>" /* ·Ù¹ð¾õÂÖ */
-#define KERN_NOTICE "<5>" /* Ä̾ï¾õÂÖ¤À¤¬Âç»ö¤Ê¾ðÊó */
-#define KERN_INFO "<6>" /* ÄÌÃÎ */
-#define KERN_DEBUG "<7>" /* ¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤Î¾ðÊó */
+#define KERN_EMERG "<0>" /* システムが使用不能 */
+#define KERN_ALERT "<1>" /* 直ちに対処が必要 */
+#define KERN_CRIT "<2>" /* 致命的な状態 */
+#define KERN_ERR "<3>" /* エラー状態 */
+#define KERN_WARNING "<4>" /* 警告状態 */
+#define KERN_NOTICE "<5>" /* 通常状態だが大事な情報 */
+#define KERN_INFO "<6>" /* 通知 */
+#define KERN_DEBUG "<7>" /* デバッグレベルの情報 */
.fi
-.SH ÊÖ¤êÃÍ
-\fItype\fP ¤¬ 2, 3, 4 ¤Î¾ì¹ç¡¢À®¸ù¤¹¤ë¤È
+.SH 返り値
+\fItype\fP が 2, 3, 4 の場合、成功すると
.BR syslog ()
-¤ÏÆɤ߽Ф·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
-\fItype\fP ¤¬ 9 ¤Î¾ì¹ç¡¢
-¥«¡¼¥Í¥ë¡¦¥í¥°¥Ð¥Ã¥Õ¥¡¤Ë¤¢¤ë¸½ºßÆɤ߽Ф·²Äǽ¤Ê¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
-\fItype\fP ¤¬ 10 ¤Î¾ì¹ç¡¢
-¥«¡¼¥Í¥ë¡¦¥í¥°¥Ð¥Ã¥Õ¥¡¤ÎÁíÎ̤òÊÖ¤¹¡£
-\fItype\fP ¤¬¤½¤ì°Ê³°¤ÎÃͤξì¹ç¡¢À®¸ù¤¹¤ë¤È 0 ¤¬ÊÖ¤µ¤ì¤ë¡£
+は読み出したバイト数を返す。
+\fItype\fP が 9 の場合、
+カーネル・ログバッファにある現在読み出し可能なバイト数を返す。
+\fItype\fP が 10 の場合、
+カーネル・ログバッファの総量を返す。
+\fItype\fP がそれ以外の値の場合、成功すると 0 が返される。
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï¡¢\-1\ ¤¬Ê֤ꡢ
-\fIerrno\fP ¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+エラーの場合は、\-1\ が返り、
+\fIerrno\fP にエラーを示す値が設定される。
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EINVAL
-ÉÔÀµ¤Ê°ú¤¿ô
-(¶ñÂÎŪ¤Ë¤Ï¡¢
+不正な引き数
+(具体的には、
.I type
-¤¬Àµ¤·¤¯¤Ê¤¤¡¢¤â¤·¤¯¤Ï
+が正しくない、もしくは
.I type
-¤¬ 2, 3, 4 ¤Î¾ì¹ç¤Ë
+が 2, 3, 4 の場合に
.I buf
-¤¬ NULL ¤«
+が NULL か
.I len
-¤¬ 0 ̤Ëþ¤Ç¤¢¤ë¡¢¤â¤·¤¯¤Ï
+が 0 未満である、もしくは
.I type
-¤¬ 8 ¤Î¾ì¹ç¤Ë
+が 8 の場合に
.I level
-¤¬ 1 °Ê¾å 8 °Ê²¼¤ÎÈϰϤËÆþ¤Ã¤Æ¤¤¤Ê¤¤)¡£
+が 1 以上 8 以下の範囲に入っていない)。
.TP
.B ENOSYS
-¥«¡¼¥Í¥ë¤ÎÀßÄꥪ¥×¥·¥ç¥ó
+カーネルの設定オプション
.BR CONFIG_PRINTK
-¤ò̵¸ú¤Ë¤·¤Æ¥«¡¼¥Í¥ë¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
+を無効にしてカーネルがコンパイルされているため、
.BR syslog ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÍøÍѤǤ¤Ê¤¤¡£
+システムコールが利用できない。
.TP
.B EPERM
-½½Ê¬¤Ê¸¢¸Â¤ò»ý¤¿¤Ê¤¤¥×¥í¥»¥¹ (Àµ³Î¤Ë¤Ï
+十分な権限を持たないプロセス (正確には
.B CAP_SYS_ADMIN
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤¥×¥í¥»¥¹) ¤¬ console_loglevel¤òÊѹ¹¤·¤è¤¦¤È¤·¤¿¤«¡¢
-¥«¡¼¥Í¥ë¡¦¥á¥Ã¥»¡¼¥¸¡¦¥ê¥ó¥°¤ò¾Ãµî¤·¤è¤¦¤È¤·¤¿¡£
+ケーパビリティを持たないプロセス) が console_loglevelを変更しようとしたか、
+カーネル・メッセージ・リングを消去しようとした。
.TP
.B ERESTARTSYS
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤¬¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¡¢²¿¤âÆɤ߽Ф»¤Ê¤«¤Ã¤¿¡£
-(¥È¥ì¡¼¥¹Ãæ¤Ë¤·¤«È¯À¸¤¹¤ë¤³¤È¤Ï¤Ê¤¤)
-.SH ½àµò
-¤³¤Î¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï Linux ÆÃͤǤ¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï
-»ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-.SH Ãí°Õ
-¤«¤Ê¤ê½é´ü¤Îº¢¤«¤é¡¢Æ±¤¸Ì¾Á°¤ò»ý¤Ä¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤È
-¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Á¥ó¤¬Á´¤¯°Û¤Ê¤ëÂåʪ¤Ç¤¢¤ë¤Î¤ÏÉÔ¹¬¤Ê¤³¤È¤À¤È
-µ¤ÉÕ¤«¤ì¤Æ¤¤¤¿¡£
-libc4 ¤È libc5 ¤Ç¤Ï¤³¤Î¥³¡¼¥ë¤ÎÈÖ¹æ¤Ï
+システム・コールがシグナルによって割り込まれ、何も読み出せなかった。
+(トレース中にしか発生することはない)
+.SH 準拠
+このシステム・コールは Linux 特有であり、移植を意図したプログラムでは
+使用してはいけない。
+.SH 注意
+かなり初期の頃から、同じ名前を持つシステム・コールと
+ライブラリ・ルーチンが全く異なる代物であるのは不幸なことだと
+気付かれていた。
+libc4 と libc5 ではこのコールの番号は
.B SYS_klog
-¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤¿¡£
-glibc2.0 ¤Ç¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
+と定義されていた。
+glibc2.0 でこのシステムコールは
.BR klogctl ()
-¤È¤¤¤¦Ì¾Á°¤Ë²þ¤á¤é¤ì¤¿¡£
-.SH ´ØÏ¢¹àÌÜ
+という名前に改められた。
+.SH 関連項目
.BR syslog (3)