HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > i > inet_pton - ライブラリコールの説明

inet_pton - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. 準拠
  6. 関連項目
  7. バグ

名前

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に与えなければならない。

Linux Tips 関連記事
Linux Tips(目次)
Linux ディストリビューション一覧
rpm のファイル名にあるi386とかi686とは
自分のマシンの情報を調べる
cron の設定
ssh の root ログインを禁止する
ssh を、ユーザ、IPでアクセス制限
鍵交換方式によるssh接続
鍵交換方式によるssh接続( windowsから )
複数ファイル内の文字列を置換して上書き保存する
あるグループをイニシャルグループとするユーザー一覧出力
複数ファイルのファイル名を一括変換する
連番ファイルをコマンド一発で作成する
中身がランダムなファイルを任意のサイズで作成する
Linux ユーザーアカウントをロック・アンロックする