*参照元 [#e8ed485c]
#backlinks
*説明 [#p863dd85]
-パス: [[linux-4.4.1/include/linux/printk.h]]
-pr_info() などのフォーマット引数を(必要ならば加工して)返すマクロ。
--pr_info() などの出力にヘッダをつけるなど、区別しやすくするために使う。
--各 *.c の先頭で定義し、その後、linux/printk.h をインクルードする。
--linux/printk.h の実装は、未定義エラーが出ないようにするためのデフォルト実装。
使い方のイメージは下記の通り。
#define pr_fmt(fmt) "Header: " fmt
#include <linux/printk.h>
...
void some_func()
{
pr_info("hoge.\n");
}
pr_fmt を上記の例のように定義したとき、出力は、
Header: hoge.
となる。
pr_fmt が未定義のとき、フォーマット引数は加工されないので、
出力は、
hoge.
となる。
もしどうしても linux/printk.h のインクルードを先に行いたいなら、#undef する方法もある。
#include <linux/printk.h>
...
#ifdef pr_fmt
#undef pr_fmt
#endif
#define pr_fmt(fmt) "Header: " fmt
**引数 [#l805b4da]
-fmt
--printk のフォーマット引数。
**返り値 [#kbaf497b]
-const char * など
--フォーマット引数。
**参考 [#o0cb1b2c]
pr_fmt() の影響を受けるマクロ達。
-[[linux-4.4.1/pr_emerg()]]
-[[linux-4.4.1/pr_alert()]]
-[[linux-4.4.1/pr_crit()]]
-[[linux-4.4.1/pr_err()]]
-[[linux-4.4.1/pr_warning()]]
-[[linux-4.4.1/pr_warn()]]
-[[linux-4.4.1/pr_notice()]]
-[[linux-4.4.1/pr_info()]]
*実装 [#cab6f26f]
#ifndef pr_fmt
#define pr_fmt(fmt) fmt
#endif
-特に定義されていなければ、引数 fmt をそのまま返す。
*コメント [#b8a9bb14]