2012-03-30 2 views
1

Я создаю модуль, где мне нужно изменить формат адреса __be 32 на char, какую функцию я мог бы использовать и под каким заголовочным файлом он пришел (я знаю, чтобы конвертировать char для __be32 мы используем in_aton).метод изменения __be32 ip-адрес в char в пространстве ядра

ответ

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