In this question: Why doesn't the function printk() use a comma to separate parameters?, someone said KERN_INFO
expands to ""\001""6"
. I know the first \0
is null character, but then what 01
is? As I suppose to be one in octal. When preprocessor concatenate it together to "\0016"
, the rest after null is 016
, which is 14
in decimal. So I have look up in ascii
and found it as 0E SO (shift out)
? That doesn't make sense to me and it should have something to do with logging (as it is purpose of printk
). So what is the meaning of the KERN_INFO
macro sequences after expansion?
Also, I have tried to look in source, in /usr/include/linux/kernel.h
, but didn't find there the macro. So is it in kernel.h
or somewhere else?