inet_ntoa
IPv4アドレスへのポインタのドットで区切った4組の10進数文字列を返します。
string inet_ntoa(ipaddr_t *)
inet_ntoa関数は、IPv4アドレスへのポインタを取得し、ドット10進数の文字列として返します。 返される文字列には、スクラッチ・メモリーからメモリーが割り当てられます。そのためこれは節の処理中にのみ有効です。 使用できるスクラッチ・メモリーが不足している場合、inet_ntoaは実行されず、エラーが生成されます。 詳細は、inet(3)マニュアル・ページを参照してください。
例8-21 inet_ntoaを使用して、IPv4アドレスへのポインタのドット付きIPv4アドレス表記を返す方法
この例では、IPアドレス・ポインタがスクラッチ・メモリーに作成され、それをinet_ntoa関数が処理して文字列値を返すことができるように移入されます。
typedef vmlinux`__be32 ipaddr_t;
ipaddr_t *ip4a;
BEGIN
{
ip4a = alloca(sizeof(ipaddr_t));
*ip4a = 0x0100007f;
printf("%s\n", inet_ntoa(ip4a));
exit(0);
}