INET_NTOP
Section: Linux Programmer's Manual (3)
Updated: 2000-12-18
Index
JM Home Page
roff page
名前
inet_ntop - ネットワークアドレス構造体を、そのアドレスを表す文字列に変換する
書式
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
const char *inet_ntop(int af, const void *src,
char *dst, socklen_t cnt);
説明
この関数は
af
アドレスファミリーのネットワークアドレス構造体
src
を文字列に変換し、文字バッファ
dst
(長さ
cnt
バイト) にコピーする。
inet_ntop(3)
は
inet_ntoa(3)
関数を拡張して複数のアドレスファミリーを扱えるようにしたものである。
今後は
inet_ntoa(3)
は使わず、
inet_ntop(3)
を使うようにすると良いだろう。
現在サポートされているアドレスファミリーは以下の通り:
- AF_INET
-
この場合
src
は
struct in_addr
(ネットワークバイトオーダー形式) へのポインタとみなされ、
この構造体の内容が IPv4 ネットワークアドレスの
ドット区切り 4 分割形式
"ddd.ddd.ddd.ddd"
に変換される。
バッファ
dst
は少なくとも
INET_ADDRSTRLEN
バイトの長さを持たなければならない。
- AF_INET6
-
この場合
src
は
struct in6_addr
(ネットワークバイトオーダー形式) へのポインタとみなされ、
この構造体の内容が、
(このアドレスに対してもっとも適切な)
IPv6 ネットワークアドレスの表示形式に変換される。
バッファ
dst
は少なくとも
INET6_ADDRSTRLEN
バイトの長さを持たなければならない。
返り値
inet_ntop()
は
dst
への (NULL でない) ポインタを返す。
エラーが起こると NULL を返し、
af
がサポートされているアドレスファミリーでない場合には
errno
に
EAFNOSUPPORT
を、
変換されたアドレス文字列が
cnt
で与えられた
dst
のサイズを越えている場合には
errno
に
ENOSPC
を代入する。
準拠
POSIX.1-2001.
RFC 2553 では最後のパラメータ
cnt
のプロトタイプを
size_t
型と定義している。多くのシステムでは RFC 2553 にしたがっている。
glibc 2.0 と 2.1 では
size_t
だが、
glibc 2.2 では
socklen_t
となっている。
バグ
AF_INET6
は IPv6 にマップされた IPv4 アドレスを
IPv6 形式に変換してしまう。
関連項目
inet_pton(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 準拠
-
- バグ
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:46 GMT, November 19, 2007