Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all
名前
inet_ntop - IPv4/IPv6 アドレスをバイナリ形式からテキスト形式に変換する
書式
#include <arpa/inet.h> const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
説明
この関数は、 af アドレスファミリーのネットワークアドレス構造体 src を文字列に変換する。 変 換結果の文字列は、 dst が指すバッファにコピーされる。 dst は NULL でないポインタでなければ ならない。 呼び出し時に、このバッファで利用できるバイト数を 引き数 size に指定する。 inet_ntop() は inet_ntoa(3) 関数を拡張して複数のアドレスファミリーを扱えるようにしたもの である。 今後は inet_ntoa(3) は使わず、 inet_ntop() を使うようにすると良いだろう。 現在 サポートされているアドレスファミリーは以下の通り: AF_INET この場合 src は (ネットワークバイトオーダーの) struct in_addr へのポインタとみなさ れ、この構造体の内容が ドット区切りの 10 進数形式 "ddd.ddd.ddd.ddd" の IPv4 ネット ワークアドレスに変換される。 バッファ dst は少なくとも INET_ADDRSTRLEN バイトの長さ を持たなければならない。 AF_INET6 この場合 src は (ネットワークバイトオーダーの) struct in6_addr へのポインタとみな され、この構造体の内容が、 (このアドレスに対してもっとも適切な) IPv6 ネットワーク アドレスの表示形式に変換される。 バッファ dst は少なくとも INET6_ADDRSTRLEN バイト の長さを持たなければならない。
返り値
成功すると、 inet_ntop() は dst への (NULL でない) ポインタを返す。 エラーがあった場合は NULL を返し、 errno をエラーを示す値に適切に設定する。
エラー
EAFNOSUPPORT af がサポートされているアドレスファミリーでなかった。 ENOSPC 変換されたアドレス文字列の長さが size で指定されたサイズを超過してしまう。
準拠
POSIX.1-2001. RFC 2553 では最後の引き数 size のプロトタイプを size_t 型と定義している。多 くのシステムでは RFC 2553 にしたがっている。 glibc 2.0 と 2.1 では size_t だが、 glibc 2.2 以降では socklen_t となっている。
バグ
AF_INET6 は IPv4 がマップされた IPv6 アドレスを IPv6 形式に変換してしまう。
例
inet_pton(3) を参照。
関連項目
getnameinfo(3), inet(3), inet_pton(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.54 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。