我正在制作一个模块,我需要将__be32格式的地址更改为char,我可以使用哪个函数,它来自哪个头文件(我知道要将char转换为__be32,我们在_aton中使用)。
对于2.6.26以上的内核(如果没有错的话),您需要使用NIPQUAD
宏,如:
pritk("%d.%d.%d.%dn", NIPQUAD(your_b32_address));
对于较新的内核,添加了到printk
的切换:
printk("%pI4n", your_b32_address);
看看这里:http://www.kernel.org/doc/htmldocs/kernel-hacking/common-routines.html
我想澄清一下,如果你有
__be32 ipaddr;
您必须将"ipaddr"的地址传递给printk
printk("%pI4n", &ipaddr);