La famiglia del kernel di printf()
functions ha uno speciale identificatore di formato per gli indirizzi IP (%pI4
per gli indirizzi IPv4, %pI6
per IPv6).
Quindi, con IPv4, potresti usare qualcosa come:
char source[16];
snprintf(source, 16, "%pI4", &ip_header->saddr); // Mind the &!
Oppure scrivi nella memoria allocata dinamicamente.
Se vuoi semplicemente stampare l'output di debug, puoi anche usare printk()
. Per le molte altre caratteristiche di %p
, consulta questo documento.