inet_pton - ライブラリコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- 準拠
- 関連項目
- バグ
名前
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()は正の値を返す。
準拠
関連項目
バグ
AF_INET6は IPv4 アドレスを認識しない。
そのような場合には IPv6 に明示的にマップされた IPv4 アドレスを
srcに与えなければならない。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする