.\" Updated Wed 14 Feb 2001 by Kentaro Shirakata <argrath@ub32.org>
.\" Updated 2009-02-12 by Kentaro Shirakata <argrath@ub32.org>
.\"
-.\"WORD load balancing bundle Éé²Ùʬ»¶¥°¥ë¡¼¥×
-.\"WORD file descriptor ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
-.\"WORD capability ¸¢¸Â
+.\"WORD load balancing bundle 負荷分散グループ
+.\"WORD file descriptor ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
+.\"WORD capability 権限
.\"
.TH NETDEVICE 7 2009-01-14 "Linux" "Linux Programmer's Manual"
.\"O .SH NAME
.\"O netdevice \- Low level access to Linux network devices
-.SH ̾Á°
-netdevice \- Linux ¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤Ø¤ÎÄã¥ì¥Ù¥ë¥¢¥¯¥»¥¹
+.SH 名前
+netdevice \- Linux ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\83\87ã\83\90ã\82¤ã\82¹ã\81¸ã\81®ä½\8eã\83¬ã\83\99ã\83«ã\82¢ã\82¯ã\82»ã\82¹
.\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
.B "#include <sys/ioctl.h>"
.br
.B "#include <net/if.h>"
.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
.\"O This man page describes the sockets interface which is used to configure
.\"O network devices.
-¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¤¿¤á¤Ë
-ÍѤ¤¤ë¥½¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ²òÀ⤹¤ë¡£
+この man ページでは、ネットワークデバイスを設定するために
+用いるソケットインターフェースについて解説する。
.\"O Linux supports some standard ioctls to configure network devices.
.\"O They can be used on any socket's file descriptor regardless of the
.\"O They pass an
.\"O . ifreq
.\"O structure:
-Linux ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¤¿¤á¤Îɸ½àŪ¤Ê ioctl ¤ò
-¤¤¤¯¤Ä¤«È÷¤¨¤Æ¤¤¤ë¡£¤³¤ì¤é¤Ï¤É¤ó¤Ê¥½¥±¥Ã¥È¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤â
-ÍѤ¤¤ë¤³¤È¤¬¤Ç¤¤ë¡£¥Õ¥¡¥ß¥ê¡¼¤ä¥¿¥¤¥×¤Ï²¿¤Ç¤â¤è¤¤¡£
-¤³¤ì¤é¤Î ioctl ¤Ï
+Linux はネットワークデバイスを設定するための標準的な ioctl を
+いくつか備えている。これらはどんなソケットのファイルディスクリプタにも
+用いることができる。ファミリーやタイプは何でもよい。
+これらの ioctl は
.I ifreq
-¹½Â¤ÂΤòÅϤ¹¡£
+構造体を渡す。
.in +4n
.nf
.\"O to the name of the interface.
.\"O All other members of the structure may
.\"O share memory.
-Ä̾¥æ¡¼¥¶¡¼¤Ë¤è¤ëÀßÄêÂоݥǥХ¤¥¹¤Î»ØÄê¤Ï¡¢
+通常、ユーザーによる設定対象デバイスの指定は、
.I ifr_name
-¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¦¡£
-¾¤Î¹½Â¤ÂΤÎÁ´¤Æ¤Î¥á¥ó¥Ð¤Ï¡¢¥á¥â¥ê¤ò¶¦Í¤¹¤ë¡£
+にインターフェースの名前をセットすることによって行う。
+他の構造体の全てのメンバは、メモリを共有する。
.\"O .SS Ioctls
.SS ioctl
.\"O If an ioctl is marked as privileged then using it requires an effective
.\"O If this is not the case
.\"O .B EPERM
.\"O will be returned.
-¡ÖÆø¢¤¬É¬Íספȵ½Ò¤µ¤ì¤Æ¤¤¤ë ioctl ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢
-¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤«¡¢
+「特権が必要」と記述されている ioctl を実行するには、
+実効ユーザー ID が 0 か、
.B CAP_NET_ADMIN
-¸¢¸Â¤¬É¬ÍפǤ¢¤ë¡£¤³¤ì¤¬Ëþ¤¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï
+権限が必要である。これが満たされていない場合は
.B EPERM
-¤¬ÊÖ¤µ¤ì¤ë¡£
+が返される。
.TP
.B SIOCGIFNAME
.\"O Given the
.\"O This is the only ioctl which returns its result in
.\"O .IR ifr_name .
.I ifr_ifindex
-¤ò¼õ¤±¼è¤ê¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
+を受け取り、インターフェースの名前を
.I ifr_name
-¤ËÆþ¤ì¤ÆÊÖ¤¹¡£¤³¤ì¤Ï·ë²Ì¤ò
+に入れて返す。これは結果を
.I ifr_name
-¤È¤·¤ÆÊÖ¤¹Í£°ì¤Î ioctl ¤Ç¤¢¤ë¡£
+として返す唯一の ioctl である。
.TP
.B SIOCGIFINDEX
.\"O Retrieve the interface index of the interface into
.\"O .IR ifr_ifindex .
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î interface index ¤ò¼èÆÀ¤·¡¢
+インターフェースの interface index を取得し、
.I ifr_ifindex
-¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
+に入れて返す。
.TP
.BR SIOCGIFFLAGS ", " SIOCSIFFLAGS
.\"O Get or set the active flag word of the device.
.\"O .I ifr_flags
.\"O contains a bit mask of the following values:
-¥Ç¥Ð¥¤¥¹¤Î active ¥Õ¥é¥°¥ï¡¼¥É¤ò¼èÆÀ¤Þ¤¿¤ÏÀßÄꤹ¤ë¡£
+デバイスの active フラグワードを取得または設定する。
.I ifr_flags
-¤Ë¤Ï°Ê²¼¤ÎÃͤΥӥåȥޥ¹¥¯¤¬Æþ¤ë¡£
+には以下の値のビットマスクが入る。
.TS
tab(:);
c s
.\"O IFF_LOWER_UP:Driver signals L1 up (since Linux 2.6.17)
.\"O IFF_DORMANT:Driver signals dormant (since Linux 2.6.17)
.\"O IFF_ECHO:Echo sent packets (since Linux 2.6.25)
-¥Ç¥Ð¥¤¥¹¥Õ¥é¥°
-IFF_UP:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÏÆ°ºîÃæ¡£
+ã\83\87ã\83\90ã\82¤ã\82¹ã\83\95ã\83©ã\82°
+IFF_UP:インターフェースは動作中。
IFF_BROADCAST:T{
-͸ú¤Ê¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¡£
+有効なブロードキャストアドレスがセットされている。
T}
-IFF_DEBUG:ÆâÉô¤Î¥Ç¥Ð¥Ã¥°¥Õ¥é¥°¡£
-IFF_LOOPBACK:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¥ë¡¼¥×¥Ð¥Ã¥¯¤Ç¤¢¤ë¡£
+IFF_DEBUG:内部のデバッグフラグ。
+IFF_LOOPBACK:インターフェースはループバックである。
IFF_POINTOPOINT:T{
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï point-to-point ¥ê¥ó¥¯¤Ç¤¢¤ë¡£
+インターフェースは point-to-point リンクである。
T}
-IFF_RUNNING:¥ê¥½¡¼¥¹¤¬³ä¤êÅö¤ÆºÑ¤ß¡£
-IFF_NOARP:arp ¥×¥í¥È¥³¥ë¤¬¤Ê¤¤¡£
-IFF_PROMISC:¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï promiscuous ¥â¡¼¥É¤Ç¤¢¤ë¡£
-IFF_NOTRAILERS:trailer ¤ÎÍøÍѤòÈò¤±¤ë¡£
-IFF_ALLMULTI:Á´¤Æ¤Î¥Þ¥ë¥Á¥¥ã¥¹¥È¥Ñ¥±¥Ã¥È¤ò¼õ¿®¤¹¤ë¡£
-IFF_MASTER:Éé²Ùʬ»¶¥°¥ë¡¼¥×¤Î¥Þ¥¹¥¿¡¼¤Ç¤¢¤ë¡£
-IFF_SLAVE:Éé²Ùʬ»¶¥°¥ë¡¼¥×¤Î¥¹¥ì¡¼¥Ö¤Ç¤¢¤ë¡£
-IFF_MULTICAST:¥Þ¥ë¥Á¥¥ã¥¹¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-IFF_PORTSEL:ifmap ¤Ë¤è¤Ã¤Æ¥á¥Ç¥£¥¢¥¿¥¤¥×¤òÁªÂò¤Ç¤¤ë¡£
-IFF_AUTOMEDIA:¼«Æ°¥á¥Ç¥£¥¢ÁªÂò¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+IFF_RUNNING:リソースが割り当て済み。
+IFF_NOARP:arp プロトコルがない。
+IFF_PROMISC:インターフェースは promiscuous モードである。
+IFF_NOTRAILERS:trailer の利用を避ける。
+IFF_ALLMULTI:全てのマルチキャストパケットを受信する。
+IFF_MASTER:負荷分散グループのマスターである。
+IFF_SLAVE:負荷分散グループのスレーブである。
+IFF_MULTICAST:マルチキャストをサポートしている。
+IFF_PORTSEL:ifmap によってメディアタイプを選択できる。
+IFF_AUTOMEDIA:自動メディア選択が有効になっている。
IFF_DYNAMIC:T{
-¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬ÊĤ¸¤ë¤È¡¢¥¢¥É¥ì¥¹¤Ï¼º¤ï¤ì¤ë¡£
+このインターフェースが閉じると、アドレスは失われる。
T}
-IFF_LOWER_UP:¥É¥é¥¤¥Ð¤«¤é¤Î L1 ¥¢¥Ã¥×¤ÎÄÌÃÎ (Linux 2.6.17 °Ê¹ß)
-IFF_DORMANT:¥É¥é¥¤¥Ð¤«¤é¤ÎµÙ»ß¾õÂÖ¤ÎÄÌÃÎ (Linux 2.6.17 °Ê¹ß)
-IFF_ECHO:Á÷¤é¤ì¤¿¥Ñ¥±¥Ã¥È¤ò¥¨¥³¡¼¤¹¤ë (Linux 2.6.25 °Ê¹ß)
+IFF_LOWER_UP:ドライバからの L1 アップの通知 (Linux 2.6.17 以降)
+IFF_DORMANT:ドライバからの休止状態の通知 (Linux 2.6.17 以降)
+IFF_ECHO:送られたパケットをエコーする (Linux 2.6.25 以降)
.TE
.\"O Setting the active flag word is a privileged operation, but any
.\"O process may read it.
-active ¥Õ¥é¥°¥ï¡¼¥É¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
-¤·¤«¤·Æɤ߽Ф·¤Ï¤É¤ó¤Ê¥×¥í¥»¥¹¤«¤é¤â²Äǽ¤Ç¤¢¤ë¡£
+active フラグワードの設定は特権が必要な操作である。
+しかし読み出しはどんなプロセスからも可能である。
.TP
.BR SIOCGIFMETRIC ", " SIOCSIFMETRIC
.\"O Get or set the metric of the device using
.\"O to 0 if you attempt to read it and returns
.\"O .B EOPNOTSUPP
.\"O if you attempt to set it.
-¥Ç¥Ð¥¤¥¹¤Î¥á¥È¥ê¥Ã¥¯¤ò
+デバイスのメトリックを
.I ifr_metric
-¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
-¤³¤ì¤Ï¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Æɤ߽Ф½¤¦¤È¤¹¤ë¤È
+を用いて取得・設定する。
+これはまだ実装されていない。読み出そうとすると
.I ifr_metric
-¤Ë 0 ¤ò¥»¥Ã¥È¤·¤ÆÊ֤ꡢÀßÄꤷ¤è¤¦¤È¤¹¤ë¤È
+に 0 をセットして返り、設定しようとすると
.B EOPNOTSUPP
-¤¬Ê֤롣
+が返る。
.TP
.BR SIOCGIFMTU ", " SIOCSIFMTU
.\"O Get or set the MTU (Maximum Transfer Unit) of a device using
.\"O Setting the MTU is a privileged operation.
.\"O Setting the MTU to
.\"O too small values may cause kernel crashes.
-¥Ç¥Ð¥¤¥¹¤Î MTU (Maximum Transfer Unit) ¤ò
+デバイスの MTU (Maximum Transfer Unit) を
.I ifr_mtu
-¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£ MTU ¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
-MTU ¤ÎÃͤò¾®¤µ¤¯¤·¤¹¤®¤ë¤È¥«¡¼¥Í¥ë¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+を用いて取得・設定する。 MTU の設定は特権が必要な操作である。
+MTU の値を小さくしすぎるとカーネルがクラッシュするかもしれない。
.TP
.BR SIOCGIFHWADDR ", " SIOCSIFHWADDR
.\"O Get or set the hardware address of a device using
.\"O .IR ifr_hwaddr .
-¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤ò
+デバイスのハードウェアアドレスを
.I ifr_hwaddr
-¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
+を用いて取得・設定する。
.\"O The hardware address is specified in a struct
.\"O .IR sockaddr .
-¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤Ï
+ハードウェアアドレスは
.I sockaddr
-¹½Â¤ÂΤËÀßÄꤵ¤ì¤ë¡£
+構造体に設定される。
.\"O .I sa_family
.\"O contains the ARPHRD_* device type,
.\"O .I sa_data
.\"O the L2 hardware address starting from byte 0.
.I sa_family
-¤Ë¤Ï ARPHRD_* ¥Ç¥Ð¥¤¥¹¥¿¥¤¥×¤¬Æþ¤ê¡¢
+には ARPHRD_* デバイスタイプが入り、
.I sa_data
-¤Ë¤Ï¥Ð¥¤¥È 0 ¤«¤é»Ï¤Þ¤ë L2 ¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤¬Æþ¤ë¡£
+にはバイト 0 から始まる L2 ハードウェアアドレスが入る。
.\"O Setting the hardware address is a privileged operation.
-¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
+ハードウェアアドレスの設定は特権が必要な操作である。
.TP
.B SIOCSIFHWBROADCAST
.\"O Set the hardware broadcast address of a device from
.\"O .IR ifr_hwaddr .
.\"O This is a privileged operation.
-¥Ç¥Ð¥¤¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò
+デバイスのハードウェアブロードキャストアドレスを
.I ifr_hwaddr
-¤ÎÃͤËÀßÄꤹ¤ë¡£¤³¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
+の値に設定する。この操作には特権が必要である。
.TP
.BR SIOCGIFMAP ", " SIOCSIFMAP
.\"O Get or set the interface's hardware parameters using
.\"O .IR ifr_map .
.\"O Setting the parameters is a privileged operation.
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ñ¥é¥á¡¼¥¿¤ò
+インターフェースのハードウェアのパラメータを
.I ifr_map
-¤òÍѤ¤¤Æ¼èÆÀ¡¦ÀßÄꤹ¤ë¡£
-¥Ñ¥é¥á¡¼¥¿¤ÎÀßÄê¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ë¡£
+を用いて取得・設定する。
+パラメータの設定は特権が必要な操作である。
.in +4n
.nf
.\"O The interpretation of the ifmap structure depends on the device driver
.\"O and the architecture.
-ifmap ¹½Â¤ÂΤβò¼á¤Ï¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤È¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ë°Í¸¤¹¤ë¡£
+ifmap 構造体の解釈はデバイスドライバとアーキテクチャに依存する。
.TP
.BR SIOCADDMULTI ", " SIOCDELMULTI
.\"O Add an address to or delete an address from the device's link layer
.\"O See also
.\"O .BR packet (7)
.\"O for an alternative.
-¥Ç¥Ð¥¤¥¹¤Î¥ê¥ó¥¯ÁؤΥޥë¥Á¥¥ã¥¹¥È¥Õ¥£¥ë¥¿¡¼¤«¤é¡¢
+デバイスのリンク層のマルチキャストフィルターから、
.I ifr_hwaddr
-¤Î¥¢¥É¥ì¥¹¤òÄɲᦺï½ü¤¹¤ë¡£¤³¤ì¤é¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
-Ê̤ÎÊýË¡¤¬
+のアドレスを追加・削除する。これらの操作には特権が必要である。
+別の方法が
.BR packet (7)
-¤Ç²òÀ⤵¤ì¤Æ¤¤¤ë¡£
+で解説されている。
.TP
.BR SIOCGIFTXQLEN ", " SIOCSIFTXQLEN
.\"O Get or set the transmit queue length of a device using
.\"O .IR ifr_qlen .
.\"O Setting the transmit queue length is a privileged operation.
-¥Ç¥Ð¥¤¥¹¤ÎÁ÷¿®¥¥å¡¼¤ÎŤµ¤ò
+デバイスの送信キューの長さを
.I ifr_qlen
-¤Ë¼èÆÀ¡¦ÀßÄꤹ¤ë¡£Á÷¿®¥¥å¡¼¤ÎŤµ¤ÎÀßÄê¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
+に取得・設定する。送信キューの長さの設定には特権が必要である。
.TP
.B SIOCSIFNAME
.\"O Changes the name of the interface specified in
.\"O It is only allowed when the interface
.\"O is not up.
.I ifr_name
-¤Ç»ØÄꤷ¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤ò
+で指定したインターフェースの名前を
.I ifr_newname
-¤ËÊѹ¹¤¹¤ë¡£¤³¤ÎÁàºî¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬ up ¤·¤Æ¤¤¤Ê¤¤
-»þ¤Ë¤Î¤ß»ÈÍѤǤ¤ë¡£
+に変更する。この操作には特権が必要である。インターフェースが up していない
+時にのみ使用できる。
.TP
.B SIOCGIFCONF
.\"O Return a list of interface (transport layer) addresses.
.\"O means only addresses of the
.\"O .B AF_INET
.\"O (IPv4) family for compatibility.
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹(¥È¥é¥ó¥¹¥Ý¡¼¥ÈÁØ)¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£
-¸½ºß¤Î¤È¤³¤í¡¢¸ß´¹À¤Î¤¿¤á¤Ë
+インターフェース(トランスポート層)アドレスのリストを返す。
+現在のところ、互換性のために
.B AF_INET
-(IPv4) ¥Õ¥¡¥ß¥ê¡¼¤Î¥¢¥É¥ì¥¹¤Î¤ß¤Ç¤¢¤ë¡£
+(IPv4) ファミリーのアドレスのみである。
.\"O The user passes a
.\"O .I ifconf
.\"O structure as argument to the ioctl.
.\"O .I ifc_req
.\"O and its length in bytes in
.\"O .IR ifc_len .
-¥æ¡¼¥¶¡¼¤Ï
+ユーザーは
.I ifconf
-¹½Â¤ÂΤò ioctl ¤Î°ú¿ô¤È¤·¤ÆÅϤ¹¡£
+構造体を ioctl の引数として渡す。
.I ifconf
-¹½Â¤ÂΤˤϡ¢
+構造体には、
.I ifreq
-¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë
+構造体の配列へのポインタである
.I ifc_req
-¤È¡¢¥Ð¥¤¥Èñ°Ì¤ÎÇÛÎó¤ÎŤµ¤ò»ØÄꤹ¤ë
+と、バイト単位の配列の長さを指定する
.I ifc_len
-¤¬´Þ¤Þ¤ì¤ë¡£
+が含まれる。
.\"O The kernel fills the ifreqs with all current L3 interface addresses that
.\"O are running:
.\"O .I ifr_name
.\"O contains the interface name (eth0:1 etc.),
.\"O .I ifr_addr
.\"O the address.
-¥«¡¼¥Í¥ë¤Ï ifreqs ¤ò¸½ºßÆ°ºî¤·¤Æ¤¤¤ëÁ´¤Æ¤Î L3 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¥¢¥É¥ì¥¹¤ÇËä¤á¤ë¡£
+カーネルは ifreqs を現在動作している全ての L3 インターフェースアドレスで埋める。
.I ifr_name
-¤Ë¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ì¾ (eth0:1 ¤Ê¤É) ¤¬Æþ¤ê¡¢
+にはインターフェース名 (eth0:1 など) が入り、
.I ifr_addr
-¤Ë¤Ï¥¢¥É¥ì¥¹¤¬Æþ¤ë¡£
+にはアドレスが入る。
.\"O The kernel returns with the actual length in
.\"O .IR ifc_len .
-¥«¡¼¥Í¥ë¤Ï¼ÂºÝ¤ÎŤµ¤ò
+カーネルは実際の長さを
.I ifc_len
-¤ËÊÖ¤¹¡£
+に返す。
.\"O If
.\"O .I ifc_len
.\"O is equal to the original length the buffer probably has overflowed
.\"O and you should retry with a bigger buffer to get all addresses.
.I ifc_len
-¤¬¸µ¤Î¥Ð¥Ã¥Õ¥¡¤ÎŤµ¤ÈƱ¤¸¤À¤Ã¤¿¾ì¹ç¡¢
-¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤òµ¯¤³¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¤Î¤Ç¡¢
-Á´¤Æ¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤è¤êÂ礤ʥХåե¡¤ÇºÆ»î¹Ô¤¹¤ë¤Ù¤¤Ç¤¢¤ë¡£
+が元のバッファの長さと同じだった場合、
+オーバーフローを起こしている可能性があるので、
+全てのアドレスを取得するためにより大きなバッファで再試行するべきである。
.\"O When no error occurs the ioctl returns 0;
.\"O otherwise \-1.
.\"O Overflow is no an error.
-¥¨¥é¡¼¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï ioctl ¤Ï 0 ¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹¡£
-¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ï¥¨¥é¡¼¤È¤Ï¸«¤Ê¤µ¤ì¤Ê¤¤¡£
+エラーがなかった場合は ioctl は 0 を返す。
+エラーがあった場合は \-1 を返す。
+オーバーフローはエラーとは見なされない。
.\" Slaving isn't supported in 2.2
.\" .
.\" .TP
.\"O Most protocols support their own ioctls to configure protocol-specific
.\"O interface options.
.\"O See the protocol man pages for a description.
-¤Û¤È¤ó¤É¤Î¥×¥í¥È¥³¥ë¤Ë¤Ï¡¢ÀìÍѤΥ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¥ª¥×¥·¥ç¥ó¤ò
-ÀßÄꤹ¤ë¤¿¤á¤ÎÆȼ«¤Î ioctl ¤¬Â¸ºß¤¹¤ë¡£
-ÀâÌÀ¤Ï³Æ¥×¥í¥È¥³¥ë¤Î man ¥Ú¡¼¥¸¤ò¸«¤è¡£
+ほとんどのプロトコルには、専用のインターフェースオプションを
+設定するための独自の ioctl が存在する。
+説明は各プロトコルの man ページを見よ。
.PP
.\"O In addition some devices support private ioctls.
.\"O These are not described here.
-¤µ¤é¤Ë¡¢¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¤Ï¥×¥é¥¤¥Ù¡¼¥È¤Ê ioctl ¤¬¤¢¤ë¡£
-¤³¤ì¤é¤Ï¤³¤³¤Ç¤ÏÀâÌÀ¤·¤Ê¤¤¡£
+さらに、デバイスによってはプライベートな ioctl がある。
+これらはここでは説明しない。
.\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
.\"O Strictly speaking,
.\"O .B SIOCGIFCONF
.\"O is IP specific and belongs in
.\"O .BR ip (7).
-¸·Ì©¤Ë¤¤¤¦¤È¡¢
+厳密にいうと、
.B SIOCGIFCONF
-¤Ï IP ¸ÇͤǤ¢¤ê¡¢
+は IP 固有であり、
.BR ip (7)
-¤Ë°¤¹¤ë¡£
+に属する。
.LP
.\"O The names of interfaces with no addresses or that don't have the
.\"O .B IFF_RUNNING
.\"O flag set can be found via
.\"O .IR /proc/net/dev .
-¥¢¥É¥ì¥¹¤¬¤Ê¤«¤Ã¤¿¤ê¡¢
+アドレスがなかったり、
.B IFF_RUNNING
-¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î̾Á°¤Ï
+フラグがセットされていないインターフェースの名前は
.I /proc/net/dev
-¤ÇÃΤ뤳¤È¤¬¤Ç¤¤ë¡£
+で知ることができる。
.LP
.\"O Local IPv6 IP addresses can be found via
.\"O .I /proc/net
.\"O or via
.\"O .BR rtnetlink (7).
-¥í¡¼¥«¥ë IPV6 IP ¥¢¥É¥ì¥¹¤Ï
+ローカル IPV6 IP アドレスは
.I /proc/net
-¤«
+か
.BR rtnetlink (7)
-¤ÇÃΤ뤳¤È¤¬¤Ç¤¤ë¡£
+で知ることができる。
.\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
.\"O glibc 2.1 is missing the
.\"O .I ifr_newname
.\"O macro in
.\"O .IR <net/if.h> .
.\"O Add the following to your program as a workaround:
-glibc 2.1 ¤Ç¤Ï
+glibc 2.1 では
.I <net/if.h>
-¤Ë
+に
.I ifr_newname
-¥Þ¥¯¥í¤¬¤Ê¤¤¡£
-¤È¤ê¤¢¤¨¤º¤ÎÂбþºö¤È¤·¤Æ¡¢°Ê²¼¤Î¥³¡¼¥É¤òÄɲ䷤Ƥª¤¯¤³¤È¡£
+マクロがない。
+とりあえずの対応策として、以下のコードを追加しておくこと。
.sp
.in +4n
.nf
.in
.RE
.\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
.BR proc (5),
.BR capabilities (7),
.BR ip (7),