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 にコピーされる。 dstsizeof(struct in_addr) バイトの長さを持たなければならない。
AF_INET6
この場合 src は IPv6 ネットワークアドレスの文字列へのポインタとみなされる。 IPv6 アドレスの形式はどんなものでも構わない。 このアドレスは struct in6_addr に変換されて dst にコピーされる。 dstsizeof(struct in6_addr) バイトの長さを持たなければならない。

古い 16 進形式や 8 進形式のいくつかは、 AF_INET のアドレスに指定することができない (inet_pton() はこれらの形式を拒否する)。  

返り値

af がサポートされているアドレスファミリーでない場合には inet_pton() は負の値を返し、 errnoEAFNOSUPPORT を代入する。 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