我正在创建一个模块,我需要将__be 32格式的地址更改为char,我可以使用哪个函数以及它来自哪个头文件(我知道将char转换为__be32,我们使用in_aton)。
答案 0 :(得分:1)
对于早于2.6.26的内核(如果没有记错),您需要使用NIPQUAD
宏,例如:
pritk("%d.%d.%d.%d\n", NIPQUAD(your_b32_address));
对于较新的内核,添加了printk
切换:
printk("%pI4\n", your_b32_address);
看看这里:http://www.kernel.org/doc/htmldocs/kernel-hacking/common-routines.html
答案 1 :(得分:0)
我想澄清一下,如果您有
__be32 ipaddr;
您必须将'ipaddr'的地址传递给printk
printk("%pI4\n", &ipaddr);