OSDN Git Service

(split) LDP: Update release pages based on LDP 3.54 release
[linuxjm/LDP_man-pages.git] / release / man3 / inet_pton.3
index ca0d3af..69739c5 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright 2000 Sam Varshavchik <mrsam@courier-mta.com>
 .\" and Copyright (c) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" References: RFC 2553
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
 .\" Translated 2001-01-14, NAKANO Takeo <nakano@apm.seikei.ac.jp>
 .\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
 .\"
-.TH INET_PTON 3  2008-06-18 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-inet_pton \- IPv4/IPv6 ¥¢¥É¥ì¥¹¤ò¥Æ¥­¥¹¥È·Á¼°¤«¤é¥Ð¥¤¥Ê¥ê·Á¼°¤ËÊÑ´¹¤¹¤ë
-.SH ½ñ¼°
+.TH INET_PTON 3 2008\-06\-18 Linux "Linux Programmer's Manual"
+.SH 名前
+inet_pton \- IPv4/IPv6 アドレスをテキスト形式からバイナリ形式に変換する
+.SH 書式
 .nf
-.B #include <arpa/inet.h>
+\fB#include <arpa/inet.h>\fP
 
-.BI "int inet_pton(int " "af" ", const char *" "src" ", void *" "dst" );
+\fBint inet_pton(int \fP\fIaf\fP\fB, const char *\fP\fIsrc\fP\fB, void *\fP\fIdst\fP\fB);\fP
 .fi
-.SH ÀâÌÀ
-¤³¤Î´Ø¿ô¤Ïʸ»úÎó
-.I src
-¤ò¡¢¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼
-.I af
-¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¹½Â¤ÂΤËÊÑ´¹¤·¡¢
-.I dst
-¤Ë¥³¥Ô¡¼¤¹¤ë¡£
-.I af
-°ú¤­¿ô¤Ï
-.B AF_INET
-¤«
-.B AF_INET6
-¤Î¤É¤Á¤é¤«¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+.SH 説明
+この関数は文字列 \fIsrc\fP を、アドレスファミリー \fIaf\fP のネットワークアドレス構造体に変換し、 \fIdst\fP にコピーする。 \fIaf\fP
+引き数は \fBAF_INET\fP か \fBAF_INET6\fP のどちらかでなければならない。
 .PP
-¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
-.TP
-.B AF_INET
-.I src
-¤Ï¥É¥Ã¥È¶èÀÚ¤ê¤Î 10 ¿Ê¿ô·Á¼° "\fIddd.ddd.ddd.ddd\fP"
-¤Î IPv4 ¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-.I ddd
-¤Ï 0 ¤«¤é 255 ¤Þ¤Ç¤ÎÈϰϤκÇÂç 3 ·å¤Î 10 ¿Ê¿ô¤Ç¤¢¤ë¡£
-¤³¤Î¥¢¥É¥ì¥¹¤Ï
-.I "struct in_addr"
-¤ËÊÑ´¹¤µ¤ì¤Æ
-.I dst
-¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡£
-.I dst
-¤ÎŤµ¤Ï
-.I "sizeof(struct in_addr)"
-(4) ¥Ð¥¤¥È (32¥Ó¥Ã¥È) ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.TP
-.B AF_INET6
-.I src
-¤Ï IPv6 ¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤¬³ÊǼ¤µ¤ì¤¿Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤³¤Î¥¢¥É¥ì¥¹¤Ï
-.I "struct in6_addr"
-¤ËÊÑ´¹¤µ¤ì¤Æ
-.I dst
-¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡£
-.I dst
-¤ÎŤµ¤Ï
-.I "sizeof(struct in6_addr)"
-(16) ¥Ð¥¤¥È (128 ¥Ó¥Ã¥È) ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-°Ê²¼¤Î 3 ¤Ä¤Î¥ë¡¼¥ë¤Ë¤·¤¿¤¬¤Ã¤¿·Á¼°¤¬ IPv6 ¥¢¥É¥ì¥¹¤È¤·¤ÆÆþÎϤǤ­¤ë¡£
+現在サポートされているアドレスファミリーは以下の通りである。
+.TP 
+\fBAF_INET\fP
+\fIsrc\fP はドット区切りの 10 進数形式 "\fIddd.ddd.ddd.ddd\fP" の IPv4 ネットワークアドレス文字列へのポインタである。
+\fIddd\fP は 0 から 255 までの範囲の最大 3 桁の 10 進数である。 このアドレスは \fIstruct in_addr\fP に変換されて
+\fIdst\fP にコピーされる。 \fIdst\fP の長さは \fIsizeof(struct in_addr)\fP (4) バイト (32ビット)
+でなければならない。
+.TP 
+\fBAF_INET6\fP
+\fIsrc\fP は IPv6 ネットワークアドレスが格納された文字列へのポインタである。 このアドレスは \fIstruct in6_addr\fP
+に変換されて \fIdst\fP にコピーされる。 \fIdst\fP の長さは \fIsizeof(struct in6_addr)\fP (16) バイト (128
+ビット) でなければならない。 以下の 3 つのルールにしたがった形式が IPv6 アドレスとして入力できる。
 .RS
 .IP 1. 3
-¿ä¾©·Á¼°¤Ï
-.I x:x:x:x:x:x:x:x
-¤Ç¤¢¤ë¡£¤³¤Î·Á¼°¤Ï 8 ¸Ä¤Î 16 ¿Ê¿ô¤«¤é¹½À®¤µ¤ì¡¢
-³Æ¡¹¤Î 16 ¿Ê¿ô¤Ï 16 ¥Ó¥Ã¥ÈÃͤòɽ¤¹
-.RI ( x
-¤ÏºÇÂç 4 ·å¤Î 16 ¿Ê¿ô¤Ç¤¢¤ë)¡£
+推奨形式は \fIx:x:x:x:x:x:x:x\fP である。この形式は 8 個の 16 進数から構成され、 各々の 16 進数は 16 ビット値を表す
+(\fIx\fP は最大 4 桁の 16 進数である)。
 .IP 2.
-¿ä¾©·Á¼°¤ÎÃæ¤ÎϢ³¤¹¤ë 0 ¤ÎÎó¤Ï
-.I ::
-¤Ëû½Ì¤Ç¤­¤ë¡£¥¢¥É¥ì¥¹Ãæ¤Ç»ÈÍѤǤ­¤ë
-.I ::
-¤Ï 1 ¸Ä¤À¤±¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢¥ë¡¼¥×¥Ð¥Ã¥¯¥¢¥É¥ì¥¹
-.I 0:0:0:0:0:0:0:1
-¤Ï
-.I ::1
-¤Èû½Ì¤Ç¤­¤ë¡£
-Á´¥Ó¥Ã¥È¤¬ 0 ¤Ç¹½À®¤µ¤ì¤ë¥ï¥¤¥ë¥É¥«¡¼¥É¥¢¥É¥ì¥¹¤Ï
-.I ::
-¤Èµ­ºÜ¤Ç¤­¤ë¡£
+推奨形式の中の連続する 0 の列は \fI::\fP に短縮できる。アドレス中で使用できる \fI::\fP は 1 個だけである。 例えば、ループバックアドレス
+\fI0:0:0:0:0:0:0:1\fP は \fI::1\fP と短縮できる。 全ビットが 0 で構成されるワイルドカードアドレスは \fI::\fP と記載できる。
 .IP 3.
-IPv4 ¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤¿ IPv6 ¥¢¥É¥ì¥¹¤òɽµ­¤¹¤ë¤Ë¤ÏÊ̤ηÁ¼°¤¬ÊØÍø¤Ç¤¢¤ë¡£
-¤³¤ÎÊ̤ηÁ¼°¤Ï
-.I x:x:x:x:x:x:d.d.d.d
-¤È½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¡£
-ºÇ½é¤Î 6 ¸Ä¤Î
-.I x
-¤Ï¥¢¥É¥ì¥¹¤ò 16 ¥Ó¥Ã¥Èñ°Ì¤Ë¶èÀڤ俤Ȥ­¤Î¾å°Ì¦ 6 ¸Äʬ (¤Ä¤Þ¤ê 96 ¥Ó¥Ã¥Èʬ)
-¤òÄêµÁ¤¹¤ë 16 ¿Ê¿ô¤Ç¤¢¤ê¡¢
-.I d
-¤ÎÉôʬ¤Ï¥¢¥É¥ì¥¹¤Î²¼°Ì 32 ¥Ó¥Ã¥È¤ò¥É¥Ã¥È¶èÀÚ¤ê¤Î 10 ¿Ê¿ôɽµ­¤Çɽ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£
-.I ::FFFF:204.152.189.116
-¤Ï¤³¤Î·Á¼°¤ÎÎã¤Ç¤¢¤ë¡£
+IPv4 をマッピングした IPv6 アドレスを表記するには別の形式が便利である。 この別の形式は \fIx:x:x:x:x:x:d.d.d.d\fP
+と書くことができる。 最初の 6 個の \fIx\fP はアドレスを 16 ビット単位に区切ったときの上位側 6 個分 (つまり 96 ビット分)
+を定義する 16 進数であり、 \fId\fP の部分はアドレスの下位 32 ビットをドット区切りの 10 進数表記で表したものである。
+\fI::FFFF:204.152.189.116\fP はこの形式の例である。
 .RE
 .IP
-IPv6 ¥¢¥É¥ì¥¹¤Îɽ¸½ÊýË¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï RFC 2373 ¤ò»²¾È¤Î¤³¤È¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë (¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤¬Àµ¾ï¤ËÊÑ´¹¤µ¤ì¤ë) ¤È¡¢
-.BR inet_pton ()
-¤Ï 1 ¤òÊÖ¤¹¡£
-.I src
-¤¬»ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤ËÂФ¹¤ë
-Àµ¤·¤¤¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹É½µ­¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
-0 ¤òÊÖ¤¹¡£
-.I af
-¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
-\-1 ¤òÊÖ¤·¡¢
-.I errno
-¤Ë
-.B EAFNOSUPPORT
-¤òÀßÄꤹ¤ë¡£
-.SH ½àµò
-POSIX.1-2001.
-.SH Ãí°Õ
-.BR inet_aton (3)
-¤ä
-.BR inet_addr (3)
-¤È°Û¤Ê¤ê¡¢
-.BR inet_pton ()
-¤Ï IPv6 ¥¢¥É¥ì¥¹¤ËÂбþ¤·¤Æ¤¤¤ë¡£
-°ìÊý¤Ç¡¢
-.BR inet_pton ()
-¤¬¼õ¤±ÉÕ¤±¤ë IPv4 ¥¢¥É¥ì¥¹¤Ï¥É¥Ã¥È¶èÀÚ¤ê¤Î 10 ¿Ê¿ôɽµ­¤À¤±¤Ç¤¢¤ë¡£
-¤³¤ì¤ËÂФ·¡¢
-.BR inet_aton (3)
-¤ä
-.BR inet_addr (3)
-¤Ç¤Ï¤â¤Ã¤È°ìÈÌŪ¤Ê¥É¥Ã¥È¶èÀÚ¤ê¤Î¿ô»úɽµ­ (16 ¿Ê¿ô¤ä 8 ¿Ê¿ô¤Î·Á¼°¤ä¡¢
-4 ¥Ð¥¤¥ÈÁ´¤Æ¤òÌÀ¼¨Åª¤Ë½ñ¤«¤Ê¤¯¤Æ¤â¤è¤¤·Á¼°) ¤¬»ÈÍѤǤ­¤ë¡£
-¥É¥Ã¥È¶èÀÚ¤ê¤Î¿ô»úɽµ­¤Ç IPv6 ¥¢¥É¥ì¥¹¤È IPv4 ¥¢¥É¥ì¥¹¤ÎξÊý¤ò°·¤¨¤ë
-¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR getaddrinfo (3)
-¤ò»²¾È¤Î¤³¤È¡£
-.SH ¥Ð¥°
-.B AF_INET6
-¤Ï IPv4 ¥¢¥É¥ì¥¹¤òǧ¼±¤·¤Ê¤¤¡£
-Âå¤ï¤ê¤Ë IPv4 ¥¢¥É¥ì¥¹¤ò¥Þ¥Ã¥Ô¥ó¥°¤·¤¿ IPv6 ¥¢¥É¥ì¥¹¤ò
-.I src
-¤ËÍ¿¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH Îã
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï
-.BR inet_pton ()
-¤È
-.BR inet_ntop (3)
-¤Î»ÈÍÑÎã¤ò¼¨¤¹¤â¤Î¤Ç¤¢¤ë¡£
-¼Â¹Ô¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¡£
+IPv6 アドレスの表現方法の詳細については RFC 2373 を参照のこと。
+.SH 返り値
+成功する (ネットワークアドレスが正常に変換される) と、 \fBinet_pton\fP()  は 1 を返す。 \fIsrc\fP
+が指定されたアドレスファミリーに対する 正しいネットワークアドレス表記でない場合には、 0 を返す。 \fIaf\fP
+がサポートされているアドレスファミリーでない場合には、 \-1 を返し、 \fIerrno\fP に \fBEAFNOSUPPORT\fP を設定する。
+.SH 準拠
+POSIX.1\-2001.
+.SH 注意
+\fBinet_aton\fP(3)  や \fBinet_addr\fP(3)  と異なり、 \fBinet_pton\fP()  は IPv6
+アドレスに対応している。 一方で、 \fBinet_pton\fP()  が受け付ける IPv4 アドレスはドット区切りの 10 進数表記だけである。
+これに対し、 \fBinet_aton\fP(3)  や \fBinet_addr\fP(3)  ではもっと一般的なドット区切りの数字表記 (16 進数や 8
+進数の形式や、 4 バイト全てを明示的に書かなくてもよい形式) が使用できる。 ドット区切りの数字表記で IPv6 アドレスと IPv4
+アドレスの両方を扱える インターフェイスについては、 \fBgetaddrinfo\fP(3)  を参照のこと。
+.SH バグ
+\fBAF_INET6\fP は IPv4 アドレスを認識しない。 代わりに IPv4 アドレスをマッピングした IPv6 アドレスを \fIsrc\fP
+に与えなければならない。
+.SH 例
+以下のプログラムは \fBinet_pton\fP()  と \fBinet_ntop\fP(3)  の使用例を示すものである。 実行すると以下のようになる。
 .in +4n
 .nf
 
-.RB "$" " ./a.out i6 0:0:0:0:0:0:0:0"
+$\fB ./a.out i6 0:0:0:0:0:0:0:0\fP
 ::
-.RB "$" " ./a.out i6 1:0:0:0:0:0:0:8"
+$\fB ./a.out i6 1:0:0:0:0:0:0:8\fP
 1::8
-.RB "$" " ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116"
+$\fB ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116\fP
 ::ffff:204.152.189.116
 .fi
 .in
-.SS ¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹
+.SS ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81®ã\82½ã\83¼ã\82¹
 \&
 .nf
 #include <arpa/inet.h>
@@ -197,7 +118,7 @@ main(int argc, char *argv[])
     char str[INET6_ADDRSTRLEN];
 
     if (argc != 3) {
-        fprintf(stderr, "Usage: %s {i4|i6|<num>} string\\n", argv[0]);
+        fprintf(stderr, "Usage: %s {i4|i6|<num>} string\en", argv[0]);
         exit(EXIT_FAILURE);
     }
 
@@ -218,12 +139,14 @@ main(int argc, char *argv[])
         exit(EXIT_FAILURE);
     }
 
-    printf("%s\\n", str);
+    printf("%s\en", str);
 
     exit(EXIT_SUCCESS);
 }
 .fi
-.SH ´ØÏ¢¹àÌÜ
-.BR getaddrinfo (3),
-.BR inet (3),
-.BR inet_ntop (3)
+.SH 関連項目
+\fBgetaddrinfo\fP(3), \fBinet\fP(3), \fBinet_ntop\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。