.\" 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 {
.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/ に書かれている。