INET_PTON
Section: Linux Programmer's Manual (3)
Updated: 2000-12-18
Index
JM Home Page
roff page
名前
inet_pton - ネットワークアドレス構造体を生成する
書式
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
int inet_pton(int af, const char *src, void *dst);
説明
この関数は文字列
src
を、アドレスファミリー
af
のネットワークアドレス構造体に変換し、
dst
にコピーする。
inet_pton(3)
は
inet_addr(3)
関数を拡張して複数のアドレスファミリーを扱えるようにしたものである。
今後は
inet_addr(3)
は使わず、
inet_pton(3)
を使うようにすると良いだろう。
現在サポートされているアドレスファミリーは以下の通り:
- AF_INET
-
この場合
src
はドット区切り 4 分割形式
"ddd.ddd.ddd.ddd"
の IPv4 ネットワークアドレス文字列へのポインタとみなされる。
このアドレスは
struct in_addr
に変換されて
dst
にコピーされる。
dst
は
sizeof(struct in_addr)
バイトの長さを持たなければならない。
- AF_INET6
-
この場合
src
は IPv6 ネットワークアドレスの文字列へのポインタとみなされる。
IPv6 アドレスの形式はどんなものでも構わない。
このアドレスは
struct in6_addr
に変換されて
dst
にコピーされる。
dst
は
sizeof(struct in6_addr)
バイトの長さを持たなければならない。
古い 16 進形式や 8 進形式のいくつかは、
AF_INET
のアドレスに指定することができない
(inet_pton()
はこれらの形式を拒否する)。
返り値
af
がサポートされているアドレスファミリーでない場合には
inet_pton()
は負の値を返し、
errno
に
EAFNOSUPPORT
を代入する。
src
が指定されたアドレスファミリーに対する
正しいネットワークアドレス表記でない場合には
inet_pton()
は 0 を返す。
ネットワークアドレスの変換に成功した場合には
inet_pton()
は正の値を返す。
準拠
POSIX.1-2001.
バグ
AF_INET6
は IPv4 アドレスを認識しない。
そのような場合には IPv6 に明示的にマップされた IPv4 アドレスを
src
に与えなければならない。
関連項目
inet_ntop(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 準拠
-
- バグ
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:46 GMT, November 19, 2007