OSDN Git Service

(split) LDP: Force update POT and ja.po
[linuxjm/LDP_man-pages.git] / draft / man7 / ipv6.7
index c772dc1..4cafbfd 100644 (file)
 .\" of this page provided the header is included verbatim,
 .\" and in case of nontrivial modification author and date
 .\" of the modification is added to the header.
-.\" $Id: ipv6.7,v 1.4 2001/08/15 18:01:06 hanataka Exp $
+.\" $Id: ipv6.7,v 1.3 2000/12/20 18:10:31 ak Exp $
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
-.\" Translated Sun 18 Feb 2001 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated Wed  4 Apr 2001 by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated Sat Dec 17 09:31:21 JST 2005 by Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated 2007-05-28, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.50
-.\" Updated 2008-08-07, Akihiro MOTOKI, LDP v3.05
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD:       flow identifier         ¥Õ¥í¡¼»ØÄê»Ò
-.\"WORD:       control message         À©¸æ¥á¥Ã¥»¡¼¥¸
-.\"WORD:       incoming ¡Á             ¼õ¿® (¥Ñ¥±¥Ã¥È¡¢¥Ç¡¼¥¿¥°¥é¥à)
-.\"WORD:       outgoing ¡Á             Á÷¿® (¥Ñ¥±¥Ã¥È¡¢¥Ç¡¼¥¿¥°¥é¥à)
-.\"WORD:       asynchronous error      ÈóƱ´ü¥¨¥é¡¼
-.\"
-.TH IPV6 7 2009-02-28 "Linux" "Linux Programmer's Manual"
-.\"O .SH NAME
-.\"O ipv6, AF_INET6 \- Linux IPv6 protocol implementation
-.SH Ì¾Á°
-ipv6, AF_INET6 \- Linux ¤Î IPv6 ¥×¥í¥È¥³¥ë¼ÂÁõ
-.\"O .SH SYNOPSIS
-.SH ½ñ¼°
-.B #include <sys/socket.h>
+.\"*******************************************************************
+.TH IPV6 7 2012\-05\-10 Linux "Linux Programmer's Manual"
+.SH 名前
+ipv6 \- Linux IPv6 プロトコルの実装
+.SH 書式
+\fB#include <sys/socket.h>\fP
 .br
-.B #include <netinet/in.h>
+\fB#include <netinet/in.h>\fP
 .sp
-.IB tcp6_socket " = socket(AF_INET6, SOCK_STREAM, 0);"
+\fItcp6_socket\fP\fB = socket(AF_INET6, SOCK_STREAM, 0);\fP
 .br
-.IB raw6_socket " = socket(AF_INET6, SOCK_RAW, " protocol ");"
+\fIraw6_socket\fP\fB = socket(AF_INET6, SOCK_RAW, \fP\fIprotocol\fP\fB);\fP
 .br
-.IB udp6_socket " = socket(AF_INET6, SOCK_DGRAM, " protocol ");"
-.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
-.\"O Linux 2.2 optionally implements the Internet Protocol, version 6.
-.\"O This man page contains a description of the IPv6 basic API as
-.\"O implemented by the Linux kernel and glibc 2.1.
-.\"O The interface
-.\"O is based on the BSD sockets interface; see
-.\"O .BR socket (7).
-Linux 2.2 ¤Ç¤Ï¡¢Internet Protocol, version 6 ¤ò
-¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¡£
-¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢Linux ¥«¡¼¥Í¥ë¤È glibc 2.1 ¤Ç¤Î¼ÂÁõ¤Ë´ð¤Å¤¤¤Æ¡¢
-IPv6 ¤Î´ðËÜŪ¤Ê API ¤ò²òÀ⤹¤ë¡£
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï BSD ¥½¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤â¤È¤Ë¤·¤Æ¤¤¤ë¡£
-.BR socket (7)
-¤ò»²¾È¡£
+\fIudp6_socket\fP\fB = socket(AF_INET6, SOCK_DGRAM, \fP\fIprotocol\fP\fB);\fP
+.SH 説明
+Linux 2.2 では、Internet Protocol, version 6 を オプションとして実装している。 この man
+ページでは、Linux カーネルと glibc 2.1 での実装に基づいて、 IPv6 の基本的な API を解説する。 インターフェースは BSD
+ソケットインターフェースをもとにしている。 \fBsocket\fP(7)  を参照。
 .PP
-.\"O The IPv6 API aims to be mostly compatible with the
-.\"O IPv4 API (see
-.\"O .BR ip (7)).
-.\"O Only differences are described in this man page.
-IPv6 API ¤Ï¡¢
-IPv4 API
-.RB ( ip (7)
-»²¾È) ¤È¤Û¤Ü¸ß´¹¤Ë¤Ê¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤ë¡£
-¤³¤Î man ¥Ú¡¼¥¸¤Ç¤ÏÁê°ãÅÀ¤Î¤ß¤ò²òÀ⤹¤ë¡£
+IPv6 API は、 IPv4 API (\fBip\fP(7)  参照) とほぼ互換になることを目指している。 この man
+ページでは相違点のみを解説する。
 .PP
-.\"O To bind an
-.\"O .B AF_INET6
-.\"O socket to any process, the local address should be copied from the
-.\"O .I in6addr_any
-.\"O variable which has
-.\"O .I in6_addr
-.\"O type.
-.\"O In static initializations,
-.\"O .B IN6ADDR_ANY_INIT
-.\"O may also be used, which expands to a constant expression.
-.\"O Both of them are in network byte order.
-.B AF_INET6
-¥½¥±¥Ã¥È¤ò²¿¤é¤«¤Î¥×¥í¥»¥¹¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤Ë¤Ï¡¢
-¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤ò
-.I in6_addr
-·¿¤ÎÊÑ¿ô
-.I in6addr_any
-¤«¤é¥³¥Ô¡¼¤·¤Æ¤¯¤ëɬÍפ¬¤¢¤ë¡£
-static ¤Ê½é´üÃÍ
-.B IN6ADDR_ANY_INIT
-¤âÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¡¢¤³¤ì¤ÏÄê¿ô¼°¤ËŸ³«¤µ¤ì¤ë¡£
-¤³¤ì¤é¤Îξ¼Ô¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç¤¢¤ë¡£
+\fBAF_INET6\fP ソケットを何らかのプロセスにバインドするには、 ローカルアドレスを \fIin6_addr\fP 型の変数
+\fIin6addr_any\fP からコピーしてくる必要がある。 static な初期値 \fBIN6ADDR_ANY_INIT\fP
+も用いることができ、これは定数式に展開される。 これらの両者はネットワークバイトオーダーである。
 .PP
-.\"O The IPv6 loopback address (::1) is available in the global
-.\"O .I in6addr_loopback
-.\"O variable.
-.\"O For initializations,
-.\"O .B IN6ADDR_LOOPBACK_INIT
-.\"O should be used.
-IPv6 ¤Î¥ë¡¼¥×¥Ð¥Ã¥¯¥¢¥É¥ì¥¹ (::1) ¤Ï global ÊÑ¿ô
-.I in6addr_loopback
-¤«¤é¼èÆÀ¤Ç¤­¤ë¡£½é´ü²½¤Ë¤Ï
-.B IN6ADDR_LOOPBACK_INIT
-¤òÍѤ¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£
+IPv6 のループバックアドレス (::1) は global 変数 \fIin6addr_loopback\fP から取得できる。初期化には
+\fBIN6ADDR_LOOPBACK_INIT\fP を用いるべきである。
 .PP
-.\"O IPv4 connections can be handled with the v6 API by using the
-.\"O v4-mapped-on-v6 address type;
-.\"O thus a program only needs to support this API type to
-.\"O support both protocols.
-.\"O This is handled transparently by the address
-.\"O handling functions in the C library.
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹·¿¤òÍѤ¤¤ë¤³¤È¤Ç¡¢
-IPv4 Àܳ¤â v6 API ¤Ç°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
-¤³¤¦¤¹¤ì¤Ð¡¢¥×¥í¥°¥é¥à¤Ï v6 ¤Î API ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤À¤±¤Ç¡¢
-ξÊý¤Î¥×¥í¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤Ç¤­¤ë¡£
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹·¿¤Ï C ¥é¥¤¥Ö¥é¥êÆâÉô¤Î¥¢¥É¥ì¥¹¤ò
-°·¤¦´Ø¿ô¤Ë¤è¤Ã¤ÆÆ©²áŪ¤Ë½èÍý¤µ¤ì¤ë¡£
+v4\-mapped\-on\-v6 アドレス型を用いることで、 IPv4 接続も v6 API で扱うことができる。 こうすれば、プログラムは v6 の
+API をサポートするだけで、 両方のプロトコルをサポートできる。 v4\-mapped\-on\-v6 アドレス型は C ライブラリ内部のアドレスを
+扱う関数によって透過的に処理される。
 .PP
-.\"O IPv4 and IPv6 share the local port space.
-.\"O When you get an IPv4 connection
-.\"O or packet to a IPv6 socket, its source address will be mapped
-.\"O to v6 and it will be mapped to v6.
-IPv4 ¤È IPv6 ¤Ï¥í¡¼¥«¥ë¥Ý¡¼¥È¶õ´Ö¤ò¶¦Í­¤¹¤ë¡£
-IPv4 ¤ÎÀܳ (¤Þ¤¿¤Ï¥Ñ¥±¥Ã¥È) ¤ò IPv6 ¥½¥±¥Ã¥È¤¬¼èÆÀ¤¹¤ë¤È¡¢
-ȯ¿®¸µ¥¢¥É¥ì¥¹¤¬ v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¡¢¤½¤ÎÀܳ (¥Ñ¥±¥Ã¥È) ¤â v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¤ë¡£
-.\"nakano: ºÇ¸å¤Î it ¤¬¤Ê¤Ë¤ò»Ø¤¹¤Î¤«¤ï¤«¤é¤ó¡£
-.\"O
-.\"O .SS Address Format
-.SS ¥¢¥É¥ì¥¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
+IPv4 と IPv6 はローカルポート空間を共有する。 IPv4 の接続 (またはパケット) を IPv6 ソケットが取得すると、 発信元アドレスが
+v6 にマップされ、その接続 (パケット) も v6 にマップされる。
+.SS アドレスのフォーマット
 .in +4n
 .nf
 struct sockaddr_in6 {
@@ -135,458 +60,146 @@ struct in6_addr {
 .fi
 .in
 .sp
-.\"O .I sin6_family
-.\"O is always set to
-.\"O .BR AF_INET6 ;
-.\"O .I sin6_port
-.\"O is the protocol port (see
-.\"O .I sin_port
-.\"O in
-.\"O .BR ip (7));
-.\"O .I sin6_flowinfo
-.\"O is the IPv6 flow identifier;
-.\"O .I sin6_addr
-.\"O is the 128bit IPv6 address.
-.\"O .I sin6_scope_id
-.\"O is an ID depending on the scope of the address.
-.\"O It is new in Linux 2.4.
-.\"O Linux only supports it for link scope addresses, in that case
-.\"O .I sin6_scope_id
-.\"O contains the interface index (see
-.\"O .BR netdevice (7))
-.I sin6_family
-¤Ï¾ï¤Ë
-.B AF_INET6
-¤ËÀßÄꤵ¤ì¤ë¡£
-.I sin6_port
-¤Ï¥×¥í¥È¥³¥ë¥Ý¡¼¥È¤Ç¤¢¤ë
-.RB ( ip (7)
-¤Î
-.I sin_port
-¤ò»²¾È)¡£
-.I sin6_flowinfo
-¤Ï IPv6 ¤Î¥Õ¥í¡¼»ØÄê»Ò (flow identifier) ¤Ç¤¢¤ë¡£
-.I sin6_addr
-¤Ï 128 ¥Ó¥Ã¥È¤Î IPv6 ¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I sin6_scope_id
-¤Ï¥¢¥É¥ì¥¹¤Î¥¹¥³¡¼¥×¤Ë°Í¸¤·¤¿ ID ¤Ç¤¢¤ë
-(¤³¤ì¤Ï Linux 2.4 ¤ÇƳÆþ¤µ¤ì¤¿)¡£
-Linux ¤Î¾ì¹ç¤Ï¡¢¤³¤ì¤Ï¥ê¥ó¥¯¥¹¥³¡¼¥×¥¢¥É¥ì¥¹¤Ç¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¡£
-¤³¤Î¾ì¹ç
-.I sin6_scope_id
-¤Ë¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ë
-.RB ( netdevice (7)
-¤ò»²¾È)¡£
+\fIsin6_family\fP は常に \fBAF_INET6\fP に設定される。
+\fIsin6_port\fP はプロトコルポートである (\fBip\fP(7) の \fIsin_port\fP を参照)。
+\fIsin6_flowinfo\fP は IPv6 のフロー指定子 (flow identifier) である。
+\fIsin6_addr\fP は 128 ビットの IPv6 アドレスである。 \fIsin6_scope_id\fP は
+アドレスのスコープに依存した ID である (これは Linux 2.4 で導入された)。
+Linux の場合は、これはリンクローカルアドレスでのみサポートされている。
+この場合 \fIsin6_scope_id\fP にはインターフェースのインデックスが含まれる
+ことになる (\fBnetdevice\fP(7) を参照)。
 .PP
-.\"O IPv6 supports several address types: unicast to address a single
-.\"O host, multicast to address a group of hosts,
-.\"O anycast to address the nearest member of a group of hosts
-.\"O (not implemented in Linux), IPv4-on-IPv6 to
-.\"O address a IPv4 host, and other reserved address types.
-IPv6 ¤Ï²¿¼ïÎफ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-ñ°ì¤Î¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î unicast¡¢
-¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î multicast¡¢
-¥Û¥¹¥È¤Î¥°¥ë¡¼¥×Ãæ¤ÇºÇ¤â¶á¤¯¤Ë¤¤¤ë¤â¤Î¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î anycast
-(¤³¤ì¤Ï Linux ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤)¡¢
-IPv4 ¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î IPv4-on-IPv6¡£
-¾¤Ë¤âͽÌóºÑ¤ß¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬¤¢¤ë¡£
+IPv6 は何種類かのアドレスタイプをサポートしている。 単一のホストをアドレスするための unicast、 ホストのグループをアドレスするための
+multicast、 ホストのグループ中で最も近くにいるものをアドレスするための anycast (これは Linux では実装されていない)、
+IPv4 ホストをアドレスするための IPv4\-on\-IPv6。 他にも予約済みのアドレスタイプがある。
 .PP
-.\"O The address notation for IPv6 is a group of 16 2-digit hexadecimal
-.\"O numbers, separated with a \(aq:\(aq.
-.\"O \&"::" stands for a string of 0 bits.
-.\"O Special addresses are ::1 for loopback and ::FFFF:<IPv4 address>
-.\"O for IPv4-mapped-on-IPv6.
-IPv6 ¤Ç¤Î¥¢¥É¥ì¥¹É½µ­¤Ï 2 ·å¤Î 16 ¿Ê¿ô 16 ¸Ä¤«¤é¤Ê¤ê¡¢
-\(aq:\(aq ¤Ï¶èÀÚ¤êʸ»ú¤Ï¤Ç¡¢"::" ¤Ï 0 ¥Ó¥Ã¥È¤Îʸ»úÎó¤òɽ¤¹¡£
-Æüì¤Ê¥¢¥É¥ì¥¹¤È¤·¤Æ¡¢¥ë¡¼¥×¥Ð¥Ã¥¯¤òɽ¤¹ ::1¡¢
-IPv4-mapped-on-IPv6 ¤òɽ¤¹ ::FFFF::<IPv4 ¥¢¥É¥ì¥¹> ¤¬¤¢¤ë¡£
+IPv6 でのアドレス表記は 4 桁の 16 進数 8 個からなり、 \(aq:\(aq は区切り文字はで、"::" は 0 ビットの文字列を表す。
+特殊なアドレスとして、ループバックを表す ::1、 IPv4\-mapped\-on\-IPv6 を表す ::FFFF::<IPv4
+アドレス> がある。
 .PP
-.\"O The port space of IPv6 is shared with IPv4.
-IPv6 ¤Î¥Ý¡¼¥È¶õ´Ö¤Ï IPv4 ¤È¶¦Í­¤µ¤ì¤Æ¤¤¤ë¡£
-.\"O .SS "Socket Options"
-.SS ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó
-.\"O IPv6 supports some protocol-specific socket options that can be set with
-.\"O .BR setsockopt (2)
-.\"O and read with
-.\"O .BR getsockopt (2).
-.\"O The socket option level for IPv6 is
-.\"O .BR IPPROTO_IPV6 .
-.\"O A boolean integer flag is zero when it is false, otherwise true.
-IPv6 ¤Ï¥×¥í¥È¥³¥ë¸ÇÍ­¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-¤³¤ì¤é¤Ï
-.BR setsockopt (2)
-¤ÇÀßÄê¤Ç¤­¡¢
-.BR getsockopt (2)
-¤Ç¼èÆÀ¤Ç¤­¤ë¡£
-IPv6 ¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¥ì¥Ù¥ë¤Ï
-.B IPPROTO_IPV6
-¤Ç¤¢¤ë¡£
-¥Ö¡¼¥ëÀ°¿ô¤Î¥Õ¥é¥°¤Ï¡¢0 ¤¬µ¶¤Ç¤¢¤ê¡¢¤½¤ì°Ê³°¤Ï¿¿¤Ç¤¢¤ë¡£
-.TP
-.B IPV6_ADDRFORM
-.\"O Turn an
-.\"O .B AF_INET6
-.\"O socket into a socket of a different address family.
-.\"O Only
-.\"O .B AF_INET
-.\"O is currently supported for that.
-.\"O It is only allowed for IPv6 sockets
-.\"O that are connected and bound to a v4-mapped-on-v6 address.
-.\"O The argument is a pointer to an integer containing
-.\"O .BR AF_INET .
-.\"O This is useful to pass v4-mapped sockets as file descriptors to
-.\"O programs that  don't know how to deal with the IPv6 API.
-.B AF_INET6
-¥½¥±¥Ã¥È¤òÊ̤Υ¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤Î¥½¥±¥Ã¥È¤ËÊѤ¨¤ë¡£
-¸½ºß¤Ï
-.B AF_INET
-¤Î¤ß¤¬Êѹ¹Àè¤Î¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤È¤·¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤ì¤¬µö²Ä¤µ¤ì¤ë¤Î¤Ï¡¢IPv6 ¤¬Àܳ¤µ¤ì¡¢
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£
-°ú¤­¿ô¤Ï
-.B AF_INET
-¤¬Æþ¤Ã¤Æ¤¤¤ëÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-v4-mapped ¥½¥±¥Ã¥È¤ò¡¢IPv6 API ¤ò°·¤¨¤Ê¤¤¥×¥í¥°¥é¥à¤ËÂФ·¤Æ
-¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤È¤·¤ÆÅϤ¹¾ì¹ç¤ËÊØÍø¡£
-.TP
-.B IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP
-.\"O Control membership in multicast groups.
-.\"O Argument is a pointer to a
-.\"O .I struct ipv6_mreq
-.\"O structure.
-multicast ¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤òÀ©¸æ¤¹¤ë¡£
-°ú¤­¿ô¤Ï
-.I struct ipv6_mreq
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡£
-.\"O .\" FIXME IPV6_CHECKSUM is not documented, and probably should be
-.\"O .\" FIXME IPV6_JOIN_ANYCAST is not documented, and probably should be
-.\"O .\" FIXME IPV6_LEAVE_ANYCAST is not documented, and probably should be
-.\" FIXME IPV6_CHECKSUM ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_JOIN_ANYCAST ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_LEAVE_ANYCAST ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\"O .\" FIXME IPV6_RECVPKTINFO is not documented, and probably should be
-.\"O .\" FIXME IPV6_2292PKTINFO is not documented, and probably should be
-.\"O .\" FIXME there are probably many other IPV6_* socket options that
-.\"O .\" should be documented
-.\" FIXME IPV6_RECVPKTINFO ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_2292PKTINFO ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME Â¾¤Ë¤â¿¤¯¤Îµ­½Ò¤¹¤Ù¤­ IPV6_* ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤À¤í¤¦¡£
-.TP
-.B IPV6_MTU
-.\"O Set the MTU to be used for the socket.
-.\"O The MTU is limited by the device
-.\"O MTU or the path mtu when path mtu discovery is enabled.
-.\"O Argument is a pointer to integer.
-¤½¤Î¥½¥±¥Ã¥È¤ËÂФ·¤ÆÍѤ¤¤ë MTU ¤ÎÃͤòÀßÄꤹ¤ë¡£
-MTU ¤ÎÂ礭¤µ¤Ï¡¢
-¤½¤Î¥Ç¥Ð¥¤¥¹¤Î MTU ¤Þ¤¿¤Ï (Path MTU Discovery
-¤¬²Äǽ¤Ê¤é) ¤½¤Î·ÐÏ©¤Î MTU ¤ÎÂ礭¤µ°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-.TP
-.B IPV6_MTU_DISCOVER
-.\"O Control path mtu discovery on the socket.
-.\"O See
-.\"O .B IP_MTU_DISCOVER
-.\"O in
-.\"O .BR ip (7)
-.\"O for details.
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î Path MTU Discovery ¤òÀ©¸æ¤¹¤ë¡£
-¾ÜºÙ¤Ï
-.BR ip (7)
-¤Î
-.B IP_MTU_DISCOVER
-¤ò»²¾È¡£
-.TP
-.B IPV6_MULTICAST_HOPS
-.\"O Set the multicast hop limit for the socket.
-.\"O Argument is a pointer to an
-.\"O integer.
-.\"O \-1 in the value means use the route default, otherwise it should be
-.\"O between 0 and 255.
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î multicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-\-1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£
-.TP
-.B IPV6_MULTICAST_IF
-.\"O Set the device for outgoing multicast packets on the socket.
-.\"O This is only allowed
-.\"O for
-.\"O .B SOCK_DGRAM
-.\"O and
-.\"O .B SOCK_RAW
-.\"O socket.
-.\"O The argument is a pointer to an interface index (see
-.\"O .BR netdevice (7))
-.\"O in an integer.
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î¡¢Á÷¿® multicast ¥Ñ¥±¥Ã¥È¤ËÍѤ¤¤ë¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¡£
-¤³¤ì¤Ï
-.B SOCK_DGRAM
-¤ª¤è¤Ó
-.B SOCK_RAW
-³Æ¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£
-°ú¤­¿ô¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÀ°¿ôÃÍ
-.RB ( netdevice (7)
-¤ò»²¾È) ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-.TP
-.B IPV6_MULTICAST_LOOP
-.\"O Control whether the socket sees multicast packets that it has send itself.
-.\"O Argument is a pointer to boolean.
-¥½¥±¥Ã¥È¤¬¡¢¼«Ê¬¼«¿È¤ÎÁ÷¿®¤·¤¿
-multicast ¥Ñ¥±¥Ã¥È¤ò´Æ»ë¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_PKTINFO
-.\"O Set delivery of the
-.\"O .B IPV6_PKTINFO
-.\"O control message on incoming datagrams.
-.\"O Only allowed for
-.\"O .B SOCK_DGRAM
-.\"O or
-.\"O .B SOCK_RAW
-.\"O sockets.
-.\"O Argument is a pointer to a boolean value in an integer.
-¥Ç¡¼¥¿¥°¥é¥à¤ÎÅþÃå»þ¤Ë¤ª¤±¤ë
-.B IPV6_PKTINFO
-À©¸æ¥á¥Ã¥»¡¼¥¸¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¤òÀßÄꤹ¤ë¡£
-.B SOCK_DGRAM
-¥½¥±¥Ã¥È¤Þ¤¿¤Ï
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤ËÂФ·¤Æ¤Î¤ßµö²Ä¤µ¤ì¤ë¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤÎÆþ¤Ã¤¿À°¿ô¡£
-.TP
+IPv6 のポート空間は IPv4 と共有されている。
+.SS ソケットオプション
+IPv6 はプロトコル固有のソケットオプションをいくつかサポートしている。 これらは \fBsetsockopt\fP(2)  で設定でき、
+\fBgetsockopt\fP(2)  で取得できる。 IPv6 のソケットオプションレベルは \fBIPPROTO_IPV6\fP である。
+ブール整数のフラグは、0 が偽であり、それ以外は真である。
+.TP 
+\fBIPV6_ADDRFORM\fP
+\fBAF_INET6\fP ソケットを別のアドレスファミリーのソケットに変える。 現在は \fBAF_INET\fP
+のみが変更先のアドレスファミリーとしてサポートされている。 これが許可されるのは、IPv6 が接続され、 v4\-mapped\-on\-v6
+アドレスにバインドされた場合に限られる。 引き数は \fBAF_INET\fP が入っている整数へのポインタである。 v4\-mapped ソケットを、IPv6
+API を扱えないプログラムに対して ファイルディスクリプターとして渡す場合に便利。
+.TP 
+\fBIPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP\fP
+.\" FIXME IPV6_CHECKSUM is not documented, and probably should be
+.\" FIXME IPV6_JOIN_ANYCAST is not documented, and probably should be
+.\" FIXME IPV6_LEAVE_ANYCAST is not documented, and probably should be
+.\" FIXME IPV6_RECVPKTINFO is not documented, and probably should be
+.\" FIXME IPV6_2292PKTINFO is not documented, and probably should be
+.\" FIXME there are probably many other IPV6_* socket options that
+.\" should be documented
+multicast グループのメンバーを制御する。 引き数は \fIstruct ipv6_mreq\fP 構造体へのポインタ。
+.TP 
+\fBIPV6_MTU\fP
+そのソケットに対して用いる MTU の値を設定する。 MTU の大きさは、 そのデバイスの MTU または (Path MTU Discovery
+が可能なら) その経路の MTU の大きさ以下でなければならない。 引き数は整数へのポインタ。
+.TP 
+\fBIPV6_MTU_DISCOVER\fP
+そのソケットでの Path MTU Discovery を制御する。 詳細は \fBip\fP(7)  の \fBIP_MTU_DISCOVER\fP を参照。
+.TP 
+\fBIPV6_MULTICAST_HOPS\fP
+そのソケットでの multicast の hop 数の上限値を設定する。 引き数は整数へのポインタである。 \-1
+を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。
+.TP 
+\fBIPV6_MULTICAST_IF\fP
+そのソケットでの、送信 multicast パケットに用いるデバイスを設定する。 これは \fBSOCK_DGRAM\fP および \fBSOCK_RAW\fP
+各ソケットでのみ許される。 引き数はインターフェースのインデックスの整数値 (\fBnetdevice\fP(7)  を参照) へのポインタである。
+.TP 
+\fBIPV6_MULTICAST_LOOP\fP
+ソケットが、自分自身の送信した multicast パケットを監視するかどうかを制御する。 引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_PKTINFO\fP
+データグラムの到着時における \fBIPV6_PKTINFO\fP 制御メッセージを配送するかどうかを設定する。 \fBSOCK_DGRAM\fP ソケットまたは
+\fBSOCK_RAW\fP ソケットに対してのみ許可される。 引き数はブール値の入った整数。
+.TP 
 .nh
-.B IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT
+\fBIPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO,
+IPV6_HOPLIMIT\fP
 .hy
-.\"O Set delivery of control messages for incoming datagrams containing
-.\"O extension headers from the received packet.
-¼õ¿®¥Ñ¥±¥Ã¥È¤Î¥Ç¡¼¥¿¥°¥é¥à¤Ë³ÈÄ¥¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¡¢
-À©¸æ¥á¥Ã¥»¡¼¥¸¤ÎÇÛÁ÷¤òÀßÄꤹ¤ë¡£
-.\"O .B IPV6_RTHDR
-.\"O delivers the routing header,
-.BR IPV6_RTHDR :
-routing ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O .B IPV6_AUTHHDR
-.\"O delivers the authentication header,
-.BR IPV6_AUTHHDR :
-authentication ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O .B IPV6_DSTOPTS
-.\"O delivers the destination options,
-.BR IPV6_DSTOPTS :
-destination ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O .B IPV6_HOPOPTS
-.\"O delivers the hop options,
-.BR IPV6_HOPOPTS :
-hop ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O .B IPV6_FLOWINFO
-.\"O delivers an integer containing the flow ID,
-.BR IPV6_FLOWINFO :
-flow ID ¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O .B IPV6_HOPLIMIT
-.\"O delivers an integer containing the hop count of the packet.
-.BR IPV6_HOPLIMIT :
-¥Ñ¥±¥Ã¥È¤Î hop ¥«¥¦¥ó¥È¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.\"O The control messages have the same type as the socket option.
-.\"O All these header options can also be set for outgoing packets
-.\"O by putting the appropriate control message into the control buffer of
-.\"O .BR sendmsg (2).
-.\"O Only allowed for
-.\"O .B SOCK_DGRAM
-.\"O or
-.\"O .B SOCK_RAW
-.\"O sockets.
-.\"O Argument is a pointer to a boolean value.
-À©¸æ¥á¥Ã¥»¡¼¥¸¤Ï¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤Î¤â¤Î¤ÈƱ¤¸¥¿¥¤¥×¤ò»ý¤Ä¡£
-¤³¤ì¤é¤Î¤¹¤Ù¤Æ¤Î¥Ø¥Ã¥À¥ª¥×¥·¥ç¥ó¤Ï¡¢
-ŬÀÚ¤ÊÀ©¸æ¥á¥Ã¥»¡¼¥¸¤ò
-.BR sendmsg (2)
-¤ÎÀ©¸æ¥Ð¥Ã¥Õ¥¡¡¼¤Ë½ñ¤­¤³¤á¤Ð¡¢
-Á÷¿®¥Ñ¥±¥Ã¥È¤Ë¤Ç¤âÀßÄê¤Ç¤­¤ë¡£
-.B SOCK_DGRAM
-¥½¥±¥Ã¥È¤Þ¤¿¤Ï
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_RECVERR
-.\"O Control receiving of asynchronous error options.
-.\"O See
-.\"O .B IP_RECVERR
-.\"O in
-.\"O .BR ip (7)
-.\"O for details.
-.\"O Argument is a pointer to boolean.
-ÈóƱ´ü¥¨¥é¡¼ (asynchronous error) ¥ª¥×¥·¥ç¥ó¤Î¼õ¿®¤òÀ©¸æ¤¹¤ë¡£
-¾ÜºÙ¤Ï
-.BR ip (7)
-¤Î
-.B IP_RECVERR
-¤ò»²¾È¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_ROUTER_ALERT
-.\"O Pass forwarded packets containing a router alert hop-by-hop option to
-.\"O this socket.
-.\"O Only allowed for SOCK_RAW sockets.
-.\"O The tapped packets are not forwarded by the kernel, it is the
-.\"O user's responsibility to send them out again.
-¤³¤Î¥½¥±¥Ã¥È¤Ç¡¢router alert hop-by-hop ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿Å¾Á÷¥Ñ¥±¥Ã¥È¤ò
-Ä̤¹¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤Ç¤Î¤ßµö²Ä¤µ¤ì¤ë¡£
-tap ¤µ¤ì¤¿¥Ñ¥±¥Ã¥È¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¤ÏžÁ÷¤µ¤ì¤Ê¤¤¡£¤½¤¦¤·¤¿¥Ñ¥±¥Ã¥È¤ò
-ºÆÅÙÁ÷¿®¤¹¤ë¤Î¤Ï¥æ¡¼¥¶¡¼¤ÎÀÕǤ¤Ç¤¢¤ë¡£
-.\"O Argument is a pointer to an integer.
-.\"O A positive integer indicates a router alert option value to intercept.
-.\"O Packets carrying a router alert option with a value field containing
-.\"O this integer will be delivered to the socket.
-.\"O A negative integer disables delivery of packets with router alert options
-.\"O to this socket.
-°ú¤­¿ô¤ÏÀ°¿ô (integer) ¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-Àµ¤ÎÀ°¿ô¤Ï˵¼õ¤ò¹Ô¤¦ router alert ¥ª¥×¥·¥ç¥óÃͤò¼¨¤¹¡£
-¥ª¥×¥·¥ç¥óÃͤ¬¤³¤ÎÀ°¿ô¤Ç¤¢¤ë router alert ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿¥Ñ¥±¥Ã¥È¤Ï
-¥½¥±¥Ã¥È¤ËÇÛÁ÷¤µ¤ì¤ë¡£Éé¤ÎÀ°¿ô¤ò»ØÄꤹ¤ë¤È¡¢¤³¤Î¥½¥±¥Ã¥È¤Ø¤Î
-router alert ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿¥Ñ¥±¥Ã¥È¤ÎÇÛÁ÷¤¬¹Ô¤ï¤ì¤Ê¤¤¡£
-.\" FLOWLABEL_MGR, FLOWINFO_SEND
-.TP
-.B IPV6_UNICAST_HOPS
-.\"O Set the unicast hop limit for the socket.
-.\"O Argument is a pointer to an integer.
-.\"O \-1 in the value means use the route default,
-.\"O otherwise it should be between 0 and 255.
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î unicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-\-1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£
-.TP
-.\"O .BR IPV6_V6ONLY " (since Linux 2.4.21 and 2.6)"
-.BR IPV6_V6ONLY " (Linux 2.4.21 °Ê¹ß¤ª¤è¤Ó 2.6 °Ê¹ß)"
+受信パケットのデータグラムに拡張ヘッダが含まれている場合の、 制御メッセージの配送を設定する。 \fBIPV6_RTHDR\fP: routing
+ヘッダを配送するかどうか。 \fBIPV6_AUTHHDR\fP: authentication ヘッダを配送するかどうか。 \fBIPV6_DSTOPTS\fP:
+destination オプションを配送するかどうか。 \fBIPV6_HOPOPTS\fP: hop オプションを配送するかどうか。
+\fBIPV6_FLOWINFO\fP: flow ID を含む整数を配送するかどうか。 \fBIPV6_HOPLIMIT\fP: パケットの hop
+カウントを含む整数を配送するかどうか。 制御メッセージはソケットオプションのものと同じタイプを持つ。 これらのすべてのヘッダオプションは、
+適切な制御メッセージを \fBsendmsg\fP(2)  の制御バッファーに書きこめば、 送信パケットにでも設定できる。 \fBSOCK_DGRAM\fP
+ソケットまたは \fBSOCK_RAW\fP ソケットでのみ許される。引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_RECVERR\fP
+非同期エラー (asynchronous error) オプションの受信を制御する。 詳細は \fBip\fP(7)  の \fBIP_RECVERR\fP
+を参照。 引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_ROUTER_ALERT\fP
+このソケットで、router alert hop\-by\-hop オプションの付いた転送パケットを 通すかどうかを制御する。 \fBSOCK_RAW\fP
+ソケットでのみ許可される。 tap されたパケットはカーネルによっては転送されない。そうしたパケットを 再度送信するのはユーザーの責任である。
+引き数は整数 (integer) へのポインタ。 正の整数は傍受を行う router alert オプション値を示す。 オプション値がこの整数である
+router alert オプションの付いたパケットは ソケットに配送される。負の整数を指定すると、このソケットへの router alert
+オプションの付いたパケットの配送が行われない。
+.TP 
+\fBIPV6_UNICAST_HOPS\fP
+そのソケットでの unicast の hop 数の上限値を設定する。 引き数は整数へのポインタである。 \-1
+を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。
+.TP 
+\fBIPV6_V6ONLY\fP (Linux 2.4.21 以降および 2.6 以降)
 .\" See RFC 3493
-.\"O If this flag is set to true (nonzero), then the socket is restricted
-.\"O to sending and receiving IPv6 packets only.
-.\"O In this case, an IPv4 and an IPv6 application can bind
-.\"O to a single port at the same time.
-¤³¤Î¥Õ¥é¥°¤ò¿¿ (0 °Ê³°) ¤ËÀßÄꤹ¤ë¤È¡¢¤½¤Î¥½¥±¥Ã¥È¤Ï IPv6 ¥Ñ¥±¥Ã¥È¤À¤±¤ò
-Á÷¼õ¿®¤¹¤ë¤è¤¦¤ËÀ©¸Â¤µ¤ì¤ë¡£
-¤³¤Î¾ì¹ç¡¢IPv4 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È IPv6 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ±»þ¤Ë
-°ì¤Ä¤Î¥Ý¡¼¥È¤ò¥Ð¥¤¥ó¥É¤Ç¤­¤ë¡£
+このフラグを真 (0 以外) に設定すると、そのソケットは IPv6 パケットだけを 送受信するように制限される。 この場合、IPv4
+アプリケーションと IPv6 アプリケーションが同時に 一つのポートをバインドできる。
 
-.\"O If this flag is set to false (zero),
-.\"O then the socket can be used to send and receive packets
-.\"O to and from an IPv6 address or an IPv4-mapped IPv6 address.
-¤³¤Î¥Õ¥é¥°¤òµ¶ (0) ¤ËÀßÄꤹ¤ë¤È¡¢¤½¤Î¥½¥±¥Ã¥È¤Ï¥Ñ¥±¥Ã¥È¤ÎÁ÷¼õ¿®¤Ë
-IPv6 ¥¢¥É¥ì¥¹¤È IPv4-mapped IPv6 ¥¢¥É¥ì¥¹¤ÎξÊý¤ò»ÈÍѤǤ­¤ë¡£
+このフラグを偽 (0) に設定すると、そのソケットはパケットの送受信に IPv6 アドレスと IPv4\-mapped IPv6
+アドレスの両方を使用できる。
 
-.\"O The argument is a pointer to a boolean value in an integer.
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤÎÆþ¤Ã¤¿À°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
+引き数はブール値の入った整数へのポインタである。
 
-.\"O The default value for this flag is defined by the contents of the file
-.\"O .IR /proc/sys/net/ipv6/bindv6only .
-.\"O The default value for that file is 0 (false).
-¤³¤Î¥Õ¥é¥°¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϥե¡¥¤¥ë
-.I /proc/sys/net/ipv6/bindv6only
-¤ÎÆâÍƤˤè¤êÄêµÁ¤µ¤ì¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϠ0 (µ¶) ¤Ç¤¢¤ë¡£
-.\"O .SH VERSIONS
-.SH ¥Ð¡¼¥¸¥ç¥ó
-.\"O The older
-.\"O .I libinet6
-.\"O libc5 based IPv6 API implementation for Linux is not described here
-.\"O and may vary in details.
-IPv6 API ¤ò libc5 ¥Ù¡¼¥¹¤Ç Linux ¸þ¤±¤Ë¼ÂÁõ¤·¤¿¡¢°ÊÁ°¤Î
-.I libinet6
-¤Ë¤Ä¤¤¤Æ¤Ï¤³¤³¤Ç¤Ïµ­½Ò¤·¤Æ¤¤¤Ê¤¤¡£
-¤ª¤½¤é¤¯ºÙ¤«¤¤¤È¤³¤í¤Ë¤ÏÁê°ãÅÀ¤¬¤¢¤ë¤À¤í¤¦¡£
+.\" FLOWLABEL_MGR, FLOWINFO_SEND
+このフラグのデフォルト値はファイル \fI/proc/sys/net/ipv6/bindv6only\fP の内容により定義される。
+このファイルのデフォルト値は 0 (偽) である。
+.SH エラー
+.\" FIXME document all errors.
+.TP 
+\fBENODEV\fP
+ユーザがリンクローカルの IPv6 アドレスを \fBbind\fP(2) しようとしたが、
+指定された \fIsockaddr_in6\fP 構造体の \fIsin6_scope_id\fP が
+有効なインターフェースのインデックスでなかった。
+.SH バージョン
+IPv6 API を libc5 ベースで Linux 向けに実装した、以前の \fIlibinet6\fP についてはここでは記述していない。
+おそらく細かいところには相違点があるだろう。
+.PP
+Linux 2.4 では 64 ビットのホストに対して \fIsockaddr_in6\fP のバイナリ互換性が保たれていない。 \fIin6_addr\fP
+のアラインメントが変更され、また \fIsin6_scope_id\fP フィールドが新たに追加されたからである。
+カーネルインターフェースの互換性は保たれているが、 \fIsockaddr_in6\fP や \fIin6_addr\fP
+を他の構造体に含んでいるようなプログラムでは 保たれないかもしれない。 これは i386 のような 32 ビットのホストでは問題にならない。
+.PP
+\fIsin6_flowinfo\fP フィールドは Linux 2.4 で登場した。 これが渡されたアドレス長に含まれていると、
+カーネルに透過的に渡され、読まれる。 より長いアドレスバッファを渡し、 そして送信アドレスの長さをチェックするようなプログラムは
+うまく動かないかもしれない。
+.SH 注意
+\fIsockaddr_in6\fP 構造体はジェネリックな \fIsockaddr\fP よりも大きい。 すべてのアドレスタイプが \fIstruct
+sockaddr\fP の中に安全に納められると仮定しているプログラムは、代わりに \fIstruct sockaddr_storage\fP
+を用いるように変更する必要がある。
+.SH バグ
+IPv6 拡張 API は、現在まだ RFC\ 2292 を完全には実装していない。 2.2
+カーネルは受信オプションをほぼ完全にサポートサポートしているが、 glibc2.1 には IPv6 オプションを生成するマクロが存在していない。
 .PP
-.\"O Linux 2.4 will break binary compatibility for the
-.\"O .I sockaddr_in6
-.\"O for 64-bit
-.\"O hosts by changing the alignment of
-.\"O .I in6_addr
-.\"O and adding an additional
-.\"O .I sin6_scope_id
-.\"O field.
-.\"O The kernel interfaces stay compatible, but a program including
-.\"O .I sockaddr_in6
-.\"O or
-.\"O .I in6_addr
-.\"O into other structures may not be.
-.\"O This is not
-.\"O a problem for 32bit hosts like i386.
-Linux 2.4 ¤Ç¤Ï 64 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤ËÂФ·¤Æ
-.I sockaddr_in6
-¤Î¥Ð¥¤¥Ê¥ê¸ß´¹À­¤¬Êݤ¿¤ì¤Æ¤¤¤Ê¤¤¡£
-.I in6_addr
-¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Êѹ¹¤µ¤ì¡¢¤Þ¤¿
-.I sin6_scope_id
-¥Õ¥£¡¼¥ë¥É¤¬¿·¤¿¤ËÄɲ䵤줿¤«¤é¤Ç¤¢¤ë¡£
-¥«¡¼¥Í¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¸ß´¹À­¤ÏÊݤ¿¤ì¤Æ¤¤¤ë¤¬¡¢
-.I sockaddr_in6
-¤ä
-.I in6_addr
-¤ò¾¤Î¹½Â¤ÂΤ˴ޤó¤Ç¤¤¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï
-Êݤ¿¤ì¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-¤³¤ì¤Ï i386 ¤Î¤è¤¦¤Ê 32 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤Ç¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¡£
+EH および AH ヘッダ での IPSec のサポートは存在しない。
 .PP
-.\"O The
-.\"O .I sin6_flowinfo
-.\"O field is new in Linux 2.4.
-.\"O It is transparently passed/read by the kernel
-.\"O when the passed address length contains it.
-.\"O Some programs that pass a longer address buffer and then
-.\"O check the outgoing address length may break.
-.I sin6_flowinfo
-¥Õ¥£¡¼¥ë¥É¤Ï Linux 2.4 ¤ÇÅо줷¤¿¡£
-¤³¤ì¤¬ÅϤµ¤ì¤¿¥¢¥É¥ì¥¹Ä¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
-¥«¡¼¥Í¥ë¤ËÆ©²áŪ¤ËÅϤµ¤ì¡¢Æɤޤì¤ë¡£
-.\"nakano ¤³¤³¤ï¤«¤é¤Ê¤¤¤Ç¤¹...
-¤è¤êŤ¤¥¢¥É¥ì¥¹¥Ð¥Ã¥Õ¥¡¤òÅϤ·¡¢
-¤½¤·¤ÆÁ÷¿®¥¢¥É¥ì¥¹¤ÎŤµ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï
-¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-.\"O .SH "NOTES"
-.SH Ãí°Õ
-.\"O The
-.\"O .I sockaddr_in6
-.\"O structure is bigger than the generic
-.\"O .IR sockaddr .
-.\"O Programs that assume that all address types can be stored safely in a
-.\"O .I struct sockaddr
-.\"O need to be changed to use
-.\"O .I struct sockaddr_storage
-.\"O for that instead.
-.I sockaddr_in6
-¹½Â¤ÂΤϥ¸¥§¥Í¥ê¥Ã¥¯¤Ê
-.I sockaddr
-¤è¤ê¤âÂ礭¤¤¡£
-¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬
-.I struct sockaddr
-¤ÎÃæ¤Ë°ÂÁ´¤ËǼ¤á¤é¤ì¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ï¡¢Âå¤ï¤ê¤Ë
-.I struct sockaddr_storage
-¤òÍѤ¤¤ë¤è¤¦¤ËÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¡£
-.\"O .SH BUGS
-.SH ¥Ð¥°
-.\"O The IPv6 extended API as in RFC\ 2292 is currently only partly
-.\"O implemented;
-.\"O although the 2.2 kernel has near complete support for receiving options,
-.\"O the macros for generating IPv6 options are missing in glibc 2.1.
-IPv6 ³ÈÄ¥ API ¤Ï¡¢¸½ºß¤Þ¤À RFC\ 2292 ¤ò´°Á´¤Ë¤Ï¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¡£
-2.2 ¥«¡¼¥Í¥ë¤Ï¼õ¿®¥ª¥×¥·¥ç¥ó¤ò¤Û¤Ü´°Á´¤Ë¥µ¥Ý¡¼¥È¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¬¡¢
-glibc2.1 ¤Ë¤Ï IPv6 ¥ª¥×¥·¥ç¥ó¤òÀ¸À®¤¹¤ë¥Þ¥¯¥í¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¡£
+フローラベル管理はまだ完全でなく、ここにも記述されていない。
 .PP
-.\"O IPSec support for EH and AH headers is missing.
-EH ¤ª¤è¤Ó AH ¥Ø¥Ã¥À ¤Ç¤Î IPSec ¤Î¥µ¥Ý¡¼¥È¤Ï¸ºß¤·¤Ê¤¤¡£
+この man ページはまだ完成していない。
+.SH 関連項目
+\fBcmsg\fP(3), \fBip\fP(7)
 .PP
-.\"O Flow label management is not complete and not documented here.
-¥Õ¥í¡¼¥é¥Ù¥ë´ÉÍý¤Ï¤Þ¤À´°Á´¤Ç¤Ê¤¯¡¢¤³¤³¤Ë¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+RFC\ 2553: IPv6 BASIC API.  Linux はこの RFC に準拠するようにしている。
 .PP
-.\"O This man page is not complete.
-¤³¤Î man ¥Ú¡¼¥¸¤Ï¤Þ¤À´°À®¤·¤Æ¤¤¤Ê¤¤¡£
-.\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
-.BR cmsg (3),
-.BR ip (7)
-.LP
-RFC\ 2553: IPv6 BASIC API.
-.\"O Linux tries to be compliant to this.
-Linux ¤Ï¤³¤Î RFC ¤Ë½àµò¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£
-.LP
 RFC\ 2460: IPv6 specification.
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。