# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-09-28 04:05+0900\n" "PO-Revision-Date: 2013-08-15 20:17+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/netlink.3:10 build/C/man7/netlink.7:11 #, no-wrap msgid "NETLINK" msgstr "NETLINK" #. type: TH #: build/C/man3/netlink.3:10 #, no-wrap msgid "2012-08-05" msgstr "2012-08-05" #. type: TH #: build/C/man3/netlink.3:10 build/C/man3/rtnetlink.3:12 #, no-wrap msgid "GNU" msgstr "GNU" #. type: TH #: build/C/man3/netlink.3:10 build/C/man7/netlink.7:11 #: build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:15 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH #: build/C/man3/netlink.3:11 build/C/man7/netlink.7:12 #: build/C/man3/rtnetlink.3:13 build/C/man7/rtnetlink.7:16 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text #: build/C/man3/netlink.3:13 msgid "netlink - Netlink macros" msgstr "netlink - netlink マクロ" #. type: SH #: build/C/man3/netlink.3:13 build/C/man7/netlink.7:14 #: build/C/man3/rtnetlink.3:15 build/C/man7/rtnetlink.7:18 #, no-wrap msgid "SYNOPSIS" msgstr "書式" #. FIXME . what will glibc 2.1 use here? #. May 2007: glibc 2.5, things look to be unchanged -- the header file #. is still linux/netlink.h -- mtk #. type: Plain text #: build/C/man3/netlink.3:19 #, no-wrap msgid "B<#include Easm/types.hE>\n" msgstr "B<#include Easm/types.hE>\n" #. type: Plain text #: build/C/man3/netlink.3:21 #, no-wrap msgid "B<#include Elinux/netlink.hE>\n" msgstr "B<#include Elinux/netlink.hE>\n" #. type: Plain text #: build/C/man3/netlink.3:23 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:25 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:27 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:29 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:31 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:33 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: Plain text #: build/C/man3/netlink.3:35 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: SH #: build/C/man3/netlink.3:36 build/C/man7/netlink.7:22 #: build/C/man3/rtnetlink.3:39 build/C/man7/rtnetlink.7:28 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text #: build/C/man3/netlink.3:44 msgid "" "Ilinux/netlink.hE> defines several standard macros to access or " "create a netlink datagram. They are similar in spirit to the macros defined " "in B(3) for auxiliary data. The buffer passed to and from a netlink " "socket should be accessed using only these macros." msgstr "" "Ilinux/netlink.hE> では、 netlink データグラムにアクセスしたり、こ" "れを作成するための 標準マクロがいくつか定義されている。 これらは B(3) " "で定義されている補助データ (auxiliary data) 用のマクロと、 その精神において似" "ているものである。 netlink ソケットに対してやりとりされるバッファには、 必ず" "これらのマクロだけを使ってアクセスすべきである。" #. type: TP #: build/C/man3/netlink.3:44 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:47 msgid "Round the length of a netlink message up to align it properly." msgstr "netlink メッセージの長さを丸めて正しく揃える。" #. type: TP #: build/C/man3/netlink.3:47 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:55 msgid "" "Given the payload length, I, this macro returns the aligned length to " "store in the I field of the I." msgstr "" "格納領域 (payload) の長さ I を引数にとり、 I の I " "フィールドに代入できる 揃えられた長さ (aligned length) を返す。" #. type: TP #: build/C/man3/netlink.3:55 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:60 msgid "" "Return the number of bytes that a netlink message with payload of I " "would occupy." msgstr "ペイロードの長さが I の netlink メッセージのバイト数を返す。" #. type: TP #: build/C/man3/netlink.3:60 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:64 msgid "Return a pointer to the payload associated with the passed I." msgstr "与えた I に関連づけられた格納領域へのポインタを返す。" #. this is bizarre, maybe the interface should be fixed. #. type: TP #: build/C/man3/netlink.3:64 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:80 msgid "" "Get the next I in a multipart message. The caller must check if " "the current I didn't have the B set\\(emthis function " "doesn't return NULL on end. The I argument is an lvalue containing the " "remaining length of the message buffer. This macro decrements it by the " "length of the message header." msgstr "" "マルチパートメッセージにおいて、次の I を入手する。これを呼び出すと" "きには、 現在の nlmsghdr で NLMSG_DONE がセットされていないことを 確認しなけ" "ればならない。この関数は終端で NULL を返さないからである。 I 引数はメッ" "セージバッファの残り長さが入った左辺値である。 このマクロはこの引数からメッ" "セージヘッダの長さ分を差し引く。" #. type: TP #: build/C/man3/netlink.3:80 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:84 msgid "" "Return true if the netlink message is not truncated and is in a form " "suitable for parsing." msgstr "" "Netlink メッセージが途切れておらず、かつ解釈可能な形の場合であれば真を返す。" #. type: TP #: build/C/man3/netlink.3:84 #, no-wrap msgid "B()" msgstr "B" #. type: Plain text #: build/C/man3/netlink.3:88 msgid "Return the length of the payload associated with the I." msgstr "I に関連づけられた格納領域の長さを返す。" #. type: SH #: build/C/man3/netlink.3:88 build/C/man3/rtnetlink.3:82 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text #: build/C/man3/netlink.3:90 build/C/man3/rtnetlink.3:84 msgid "These macros are nonstandard Linux extensions." msgstr "これらのマクロは非標準で、Linux での拡張である。" #. type: SH #: build/C/man3/netlink.3:90 build/C/man7/netlink.7:387 #, no-wrap msgid "NOTES" msgstr "注意" #. type: Plain text #: build/C/man3/netlink.3:94 msgid "" "It is often better to use netlink via I than via the low-level " "kernel interface." msgstr "" "通常はカーネルの低レベルインターフェイスよりも、 I 経由で " "netlink を用いるほうが良い。" #. type: SH #: build/C/man3/netlink.3:94 build/C/man7/netlink.7:470 #: build/C/man3/rtnetlink.3:122 build/C/man7/rtnetlink.7:470 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text #: build/C/man3/netlink.3:96 msgid "B(7)" msgstr "B(7)" #. type: Plain text #: build/C/man3/netlink.3:100 msgid "" "E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> E<.UE> for libnetlink" msgstr "" "libnetlink に関しては E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> " "E<.UE>" #. type: SH #: build/C/man3/netlink.3:100 build/C/man7/netlink.7:485 #: build/C/man3/rtnetlink.3:126 build/C/man7/rtnetlink.7:475 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man3/netlink.3:107 build/C/man7/netlink.7:492 #: build/C/man3/rtnetlink.3:133 build/C/man7/rtnetlink.7:482 #, fuzzy #| msgid "" #| "This page is part of release 3.53 of the Linux I project. A " #| "description of the project, and information about reporting bugs, can be " #| "found at \\%http://www.kernel.org/doc/man-pages/." msgid "" "This page is part of release 3.54 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "" "この man ページは Linux I プロジェクトのリリース 3.53 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man7/netlink.7:11 #, no-wrap msgid "2013-03-15" msgstr "2013-03-15" #. type: TH #: build/C/man7/netlink.7:11 build/C/man7/rtnetlink.7:15 #, no-wrap msgid "Linux" msgstr "Linux" #. type: Plain text #: build/C/man7/netlink.7:14 msgid "netlink - communication between kernel and user space (AF_NETLINK)" msgstr "netlink - カーネルとユーザー空間の通信 (AF_NETLINK)" #. type: Plain text #: build/C/man7/netlink.7:19 #, no-wrap msgid "" "B<#include Easm/types.hE>\n" "B<#include Esys/socket.hE>\n" "B<#include Elinux/netlink.hE>\n" msgstr "" "B<#include Easm/types.hE>\n" "B<#include Esys/socket.hE>\n" "B<#include Elinux/netlink.hE>\n" #. type: Plain text #: build/C/man7/netlink.7:21 #, no-wrap msgid "BIB<, >IB<);>\n" msgstr "BIB<, >IB<);>\n" #. type: Plain text #: build/C/man7/netlink.7:31 msgid "" "Netlink is used to transfer information between kernel and user-space " "processes. It consists of a standard sockets-based interface for user space " "processes and an internal kernel API for kernel modules. The internal " "kernel interface is not documented in this manual page. There is also an " "obsolete netlink interface via netlink character devices; this interface is " "not documented here and is provided only for backward compatibility." msgstr "" "netlink はカーネルモジュールとユーザー空間のプロセス間で 情報をやりとりするた" "めに用いられる。 netlink は、ユーザープロセスに対しては 標準的なソケットベー" "スのインターフェースを、 カーネルモジュールにはカーネルの内部 API を提供す" "る。 カーネル内部のインターフェースについてはこの man ページでは記述しない。 " "また、netlink キャラクタデバイスを用いた obsolete な netlink インターフェース" "もあるが、これもこの文書では解説しない。 これは過去互換性のためだけに用意され" "ている。" #. type: Plain text #: build/C/man7/netlink.7:41 msgid "" "Netlink is a datagram-oriented service. Both B and B " "are valid values for I. However, the netlink protocol does not " "distinguish between datagram and raw sockets." msgstr "" "netlink はデータグラム指向のサービスである。 I には B " "と B の両方とも指定可能である。 しかし netlink プロトコルはデータ" "グラムと raw ソケットの区別をしない。" #. type: Plain text #: build/C/man7/netlink.7:45 msgid "" "I selects the kernel module or netlink group to communicate " "with. The currently assigned netlink families are:" msgstr "" "I は、通信するカーネルモジュールや netlink グループの選択に用" "いる。 現在割り当てられている netlink ファミリーは以下の通り。" #. type: TP #: build/C/man7/netlink.7:45 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:52 msgid "" "Receives routing and link updates and may be used to modify the routing " "tables (both IPv4 and IPv6), IP addresses, link parameters, neighbor setups, " "queueing disciplines, traffic classes and packet classifiers (see " "B(7))." msgstr "" "ルーティングとリンクの更新を受信する。 (IPv4 と IPv6 両方の) ルーティングテー" "ブル・ IP アドレス・リンクパラメータ・近傍設定 (neighbor setup)・ キューイン" "グルール (queueing dicipline)・トラフィッククラス・ パケットのクラス分類の修" "正に用いることができるだろう (B(7) を見よ)。" #. type: TP #: build/C/man7/netlink.7:52 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:55 msgid "Messages from 1-wire subsystem." msgstr "単線 (1-wire) のサブシステムからのメッセージ。" #. type: TP #: build/C/man7/netlink.7:55 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:58 msgid "Reserved for user-mode socket protocols." msgstr "ユーザーモードソケットプロトコルのために予約されている。" #. type: TP #: build/C/man7/netlink.7:58 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:64 msgid "" "Transport IPv4 packets from netfilter to user space. Used by I " "kernel module." msgstr "" "IPv4 パケットを netfilter からユーザー空間へ転送する。 I カーネルモ" "ジュールで使用される。" #. type: TP #: build/C/man7/netlink.7:64 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_INET_DIAG needed. #. type: Plain text #: build/C/man7/netlink.7:68 msgid "INET socket monitoring." msgstr "INET ソケットをモニタリングする。" #. type: TP #: build/C/man7/netlink.7:68 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:71 msgid "Netfilter/iptables ULOG." msgstr "Netfilter/iptables ULOG." #. type: TP #: build/C/man7/netlink.7:71 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_XFRM needed. #. type: Plain text #: build/C/man7/netlink.7:75 msgid "IPsec." msgstr "IPsec." #. type: TP #: build/C/man7/netlink.7:75 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:78 msgid "SELinux event notifications." msgstr "SELinux のイベント通知。" #. type: TP #: build/C/man7/netlink.7:78 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_ISCSI needed. #. type: Plain text #: build/C/man7/netlink.7:82 msgid "Open-iSCSI." msgstr "Open-iSCSI." #. type: TP #: build/C/man7/netlink.7:82 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_AUDIT needed. #. type: Plain text #: build/C/man7/netlink.7:86 msgid "Auditing." msgstr "監査 (audit) を行う。" #. type: TP #: build/C/man7/netlink.7:86 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_FIB_LOOKUP needed. #. type: Plain text #: build/C/man7/netlink.7:90 msgid "Access to FIB lookup from user space." msgstr "ユーザー空間から FIB ルックアップにアクセスする。" #. type: TP #: build/C/man7/netlink.7:90 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:96 msgid "" "Kernel connector. See I in the Linux kernel " "source tree for further information." msgstr "" "カーネルコネクタ。より詳しい情報は Linux カーネルソースの I を参照すること。" #. type: TP #: build/C/man7/netlink.7:96 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_NETFILTER needed. #. type: Plain text #: build/C/man7/netlink.7:100 msgid "Netfilter subsystem." msgstr "netfilter サブシステム。" #. type: TP #: build/C/man7/netlink.7:100 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:106 msgid "" "Transport IPv6 packets from netfilter to user space. Used by I " "kernel module." msgstr "" "IPv6 パケットを netfilter からユーザー空間へ転送する。 I カーネル" "モジュールで使用される。" #. type: TP #: build/C/man7/netlink.7:106 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:109 msgid "DECnet routing messages." msgstr "DECnet ルーティングメッセージ。" #. type: TP #: build/C/man7/netlink.7:109 #, no-wrap msgid "B" msgstr "B" #. FIXME More details on NETLINK_KOBJECT_UEVENT needed. #. type: Plain text #: build/C/man7/netlink.7:113 msgid "Kernel messages to user space." msgstr "ユーザー空間へのカーネルメッセージ" #. type: TP #: build/C/man7/netlink.7:113 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man7/netlink.7:116 msgid "Generic netlink family for simplified netlink usage." msgstr "netlink を簡単に使用するための一般的な netlink ファミリー。" #. type: Plain text #: build/C/man7/netlink.7:126 msgid "" "Netlink messages consist of a byte stream with one or multiple I " "headers and associated payload. The byte stream should be accessed only " "with the standard B macros. See B(3) for further " "information." msgstr "" "netlink メッセージはバイトストリームからなり、 一つ以上の I ヘッダ" "と、それに対応するペイロード (payload) が含まれる。 バイトストリームには、標" "準の B マクロによってのみアクセスすべきである。 より詳しい情報は " "B(3) を見よ。" #. type: Plain text #: build/C/man7/netlink.7:134 msgid "" "In multipart messages (multiple I headers with associated payload " "in one byte stream) the first and all following headers have the " "B flag set, except for the last header which has the type " "B." msgstr "" "マルチパートメッセージ (一つ以上の I ヘッダと、それに対応するペイ" "ロードが 一つバイトストリームに含まれる) においては、 先頭のヘッダ・後続の" "ヘッダには B フラグがセットされる。ただし最後のヘッダだけは例外" "で、 B タイプとなる。" #. type: Plain text #: build/C/man7/netlink.7:138 msgid "After each I the payload follows." msgstr "それぞれの B の後にはペイロードが続く。" #. type: Plain text #: build/C/man7/netlink.7:148 #, no-wrap msgid "" "struct nlmsghdr {\n" " __u32 nlmsg_len; /* Length of message including header. */\n" " __u16 nlmsg_type; /* Type of message content. */\n" " __u16 nlmsg_flags; /* Additional flags. */\n" " __u32 nlmsg_seq; /* Sequence number. */\n" " __u32 nlmsg_pid; /* Sender port ID. */\n" "};\n" msgstr "" "struct nlmsghdr {\n" " __u32 nlmsg_len; /* ヘッダを含むメッセージの長さ */\n" " __u16 nlmsg_type; /* メッセージの内容のタイプ */\n" " __u16 nlmsg_flags; /* 追加フラグ */\n" " __u32 nlmsg_seq; /* シーケンス番号 */\n" " __u32 nlmsg_pid; /* 送信者のポート ID */\n" "};\n" #. type: Plain text #: build/C/man7/netlink.7:161 msgid "" "I can be one of the standard message types: B " "message is to be ignored, B message signals an error and the " "payload contains an I structure, B message terminates " "a multipart message." msgstr "" "I は標準のメッセージタイプのどれか一つである: B メッ" "セージは無視される。 B メッセージはエラーを示し、ペイロードには " "I 構造体が入る。 B メッセージはマルチパートメッセージの" "終了を伝える。" #. type: Plain text #: build/C/man7/netlink.7:168 #, no-wrap msgid "" "struct nlmsgerr {\n" " int error; /* Negative errno or 0 for acknowledgements */\n" " struct nlmsghdr msg; /* Message header that caused the error */\n" "};\n" msgstr "" "struct nlmsgerr {\n" " int error; /* 負または 0 の errno は応答を表す */\n" " struct nlmsghdr msg; /* エラーを起こしたメッセージのヘッダ */\n" "};\n" #. type: Plain text #: build/C/man7/netlink.7:176 msgid "" "A netlink family usually specifies more message types, see the appropriate " "manual pages for that, for example, B(7) for B." msgstr "" "ある netlink ファミリーで指定できるメッセージタイプは、 通常もっと多い。これ" "らに関しては適切な man ページを見てほしい。 たとえば B に関し" "ては B(7) に書いてある。" #. type: tbl table #: build/C/man7/netlink.7:180 #, no-wrap msgid "Standard flag bits in I\n" msgstr "I の標準フラグビット\n" #. type: tbl table #: build/C/man7/netlink.7:181 build/C/man7/netlink.7:199 #: build/C/man7/netlink.7:224 build/C/man7/rtnetlink.7:99 #: build/C/man7/rtnetlink.7:167 build/C/man7/rtnetlink.7:218 #: build/C/man7/rtnetlink.7:244 build/C/man7/rtnetlink.7:324 #: build/C/man7/rtnetlink.7:442 #, no-wrap msgid "_\n" msgstr "_\n" #. type: tbl table #: build/C/man7/netlink.7:182 #, no-wrap msgid "NLM_F_REQUEST:Must be set on all request messages.\n" msgstr "NLM_F_REQUEST:要求メッセージ全てでセットされなければならない。\n" #. type: tbl table #: build/C/man7/netlink.7:183 #, no-wrap msgid "NLM_F_MULTI:T{\n" msgstr "NLM_F_MULTI:T{\n" #. type: tbl table #: build/C/man7/netlink.7:184 #, no-wrap msgid "The message is part of a multipart message terminated by\n" msgstr "このメッセージはマルチパートメッセージの一部である。\n" #. type: tbl table #: build/C/man7/netlink.7:185 #, no-wrap msgid "B.\n" msgstr "マルチパートメッセージは B で終端する。\n" #. type: tbl table #: build/C/man7/netlink.7:186 build/C/man7/netlink.7:204 #: build/C/man7/netlink.7:209 build/C/man7/rtnetlink.7:224 #: build/C/man7/rtnetlink.7:227 build/C/man7/rtnetlink.7:236 #: build/C/man7/rtnetlink.7:248 build/C/man7/rtnetlink.7:273 #: build/C/man7/rtnetlink.7:295 #, no-wrap msgid "T}\n" msgstr "T}\n" #. type: tbl table #: build/C/man7/netlink.7:187 #, no-wrap msgid "NLM_F_ACK:Request for an acknowledgment on success.\n" msgstr "NLM_F_ACK:成功した場合の応答を要求する。\n" #. type: tbl table #: build/C/man7/netlink.7:188 #, no-wrap msgid "NLM_F_ECHO:Echo this request.\n" msgstr "NLM_F_ECHO:この要求をエコーする。\n" #. type: tbl table #: build/C/man7/netlink.7:198 #, no-wrap msgid "Additional flag bits for GET requests\n" msgstr "GET 要求における追加フラグビット\n" #. type: tbl table #: build/C/man7/netlink.7:200 #, no-wrap msgid "NLM_F_ROOT:Return the complete table instead of a single entry.\n" msgstr "NLM_F_ROOT:単一のエントリではなくテーブル全体を返す。\n" #. type: tbl table #: build/C/man7/netlink.7:201 #, no-wrap msgid "NLM_F_MATCH:T{\n" msgstr "NLM_F_MATCH:T{\n" #. type: tbl table #: build/C/man7/netlink.7:202 #, no-wrap msgid "Return all entries matching criteria passed in message content.\n" msgstr "メッセージの内容で渡された基準 (criteria) にマッチする全てのエントリを返す。\n" #. type: tbl table #: build/C/man7/netlink.7:203 #, no-wrap msgid "Not implemented yet.\n" msgstr "まだ実装されていない。\n" #. FIXME NLM_F_ATOMIC is not used any more? #. type: tbl table #: build/C/man7/netlink.7:206 #, no-wrap msgid "NLM_F_ATOMIC:Return an atomic snapshot of the table.\n" msgstr "NLM_F_ATOMIC:テーブルのアトミックなスナップショットを返す。\n" #. type: tbl table #: build/C/man7/netlink.7:207 #, no-wrap msgid "NLM_F_DUMP:T{\n" msgstr "NLM_F_DUMP:T{\n" #. type: tbl table #: build/C/man7/netlink.7:208 #, no-wrap msgid "Convenience macro; equivalent to (NLM_F_ROOT|NLM_F_MATCH).\n" msgstr "便利なマクロ。(NLM_F_ROOT|NLM_F_MATCH) と同じ。\n" #. type: Plain text #: build/C/man7/netlink.7:218 msgid "" "Note that B requires the B capability or an " "effective UID of 0." msgstr "" "B を使う場合は、 B 権限を持つか実効ユーザー ID " "が 0 でなければならない点に注意すること。" #. type: tbl table #: build/C/man7/netlink.7:223 #, no-wrap msgid "Additional flag bits for NEW requests\n" msgstr "NEW 要求における追加フラグビット\n" #. type: tbl table #: build/C/man7/netlink.7:225 #, no-wrap msgid "NLM_F_REPLACE:Replace existing matching object.\n" msgstr "NLM_F_REPLACE:現存のオブジェクトを置換する。\n" #. type: tbl table #: build/C/man7/netlink.7:226 #, no-wrap msgid "NLM_F_EXCL:Don't replace if the object already exists.\n" msgstr "NLM_F_EXCL:すでにオブジェクトがあったら置換しない。\n" #. type: tbl table #: build/C/man7/netlink.7:227 #, no-wrap msgid "NLM_F_CREATE:Create object if it doesn't already exist.\n" msgstr "NLM_F_CREATE:まだオブジェクトがなければ作成する。\n" #. type: tbl table #: build/C/man7/netlink.7:228 #, no-wrap msgid "NLM_F_APPEND:Add to the end of the object list.\n" msgstr "NLM_F_APPEND:オブジェクトリストの最後に追加する。\n" #. type: Plain text #: build/C/man7/netlink.7:245 msgid "" "I and I are used to track messages. I " "shows the origin of the message. Note that there isn't a 1:1 relationship " "between I and the PID of the process if the message originated " "from a netlink socket. See the B
section for further " "information." msgstr "" "I と I はメッセージの追跡に使用される。 I は" "メッセージの送信元を表す。 メッセージが netlink ソケットで送信されている場" "合、 I とプロセスの PID は 1:1 の関係ではない点に注意すること。 よ" "り詳しい情報は、 「B<アドレスのフォーマット>」 のセクションを参照すること。" #. FIXME Explain more about nlmsg_seq and nlmsg_pid. #. type: Plain text #: build/C/man7/netlink.7:252 msgid "Both I and I are opaque to netlink core." msgstr "I と I は netlink のコアには見えない (opaque)。" #. type: Plain text #: build/C/man7/netlink.7:270 msgid "" "Netlink is not a reliable protocol. It tries its best to deliver a message " "to its destination(s), but may drop messages when an out-of-memory condition " "or other error occurs. For reliable transfer the sender can request an " "acknowledgement from the receiver by setting the B flag. An " "acknowledgment is an B packet with the error field set to 0. " "The application must generate acknowledgements for received messages " "itself. The kernel tries to send an B message for every failed " "packet. A user process should follow this convention too." msgstr "" "netlink は信頼性の高いプロトコルではない。 netlink はメッセージを行き先に届け" "るために最善を尽くすが、 メモリが足りなかったりエラーが起こったりすると メッ" "セージを取りこぼすこともある。 信頼性の高い転送を行いたいときは、 送信者は受" "信者に応答を要求することもできる。 これには B フラグをセットす" "る。 応答は B パケットのエラーフィールドを 0 にしたものになる。 " "アプリケーションは自分自身のメッセージを受けたときには、 応答を生成しなければ" "ならない。 カーネルは失敗したパケットに対して、 B メッセージを送" "ろうとする。 ユーザープロセスはこの慣習にも従う必要がある。" #. type: Plain text #: build/C/man7/netlink.7:281 msgid "" "However, reliable transmissions from kernel to user are impossible in any " "case. The kernel can't send a netlink message if the socket buffer is full: " "the message will be dropped and the kernel and the user-space process will " "no longer have the same view of kernel state. It is up to the application " "to detect when this happens (via the B error returned by B" "(2)) and resynchronize." msgstr "" "しかし、どのような場合でもカーネルからユーザーへの 信頼性の高い転送は不可能で" "ある。 ソケットバッファが満杯の場合、カーネルは netlink メッセージを送信でき" "ない。 メッセージは取りこぼされて、カーネルとユーザー空間プロセスは、 カーネ" "ルの状態についての同じビューを持つことができなくなる。 これが起こったこと " "(B(2) によって B エラーが返される) を検知して再び同期させ" "るのは、 アプリケーションの責任である。" #. type: SS #: build/C/man7/netlink.7:281 #, no-wrap msgid "Address formats" msgstr "アドレスのフォーマット" #. type: Plain text #: build/C/man7/netlink.7:291 msgid "" "The I structure describes a netlink client in user space or in " "the kernel. A I can be either unicast (only sent to one peer) " "or sent to netlink multicast groups (I not equal 0)." msgstr "" "I 構造体はユーザー空間やカーネル空間で netlink クライアントを記" "述する。 I はユニキャスト (単一の接続先にだけ送られる) にもでき" "るし、 netlink マルチキャストグループ (I が 0 でない場合) にも送る" "ことができる。" #. type: Plain text #: build/C/man7/netlink.7:300 #, no-wrap msgid "" "struct sockaddr_nl {\n" " sa_family_t nl_family; /* AF_NETLINK */\n" " unsigned short nl_pad; /* Zero. */\n" " pid_t nl_pid; /* Port ID. */\n" " __u32 nl_groups; /* Multicast groups mask. */\n" "};\n" msgstr "" "struct sockaddr_nl {\n" " sa_family_t nl_family; /* AF_NETLINK */\n" " unsigned short nl_pad; /* 0 である */\n" " pid_t nl_pid; /* ポート ID */\n" " __u32 nl_groups; /* マルチキャストグループマスク */\n" "};\n" #. type: Plain text #: build/C/man7/netlink.7:331 msgid "" "I is the unicast address of netlink socket. It's always 0 if the " "destination is in the kernel. For a user-space process, I is " "usually the PID of the process owning the destination socket. However, " "I identifies a netlink socket, not a process. If a process owns " "several netlink sockets, then I can be equal to the process ID only " "for at most one socket. There are two ways to assign I to a netlink " "socket. If the application sets I before calling B(2), then " "it is up to the application to make sure that I is unique. If the " "application sets it to 0, the kernel takes care of assigning it. The kernel " "assigns the process ID to the first netlink socket the process opens and " "assigns a unique I to every netlink socket that the process " "subsequently creates." msgstr "" "I は netlink ソケットのユニキャストアドレスである。 行き先がカーネル" "の場合は、常に 0 である。 ユーザー空間プロセスの場合、通常は I は行き" "先のソケットを所有しているプロセスの PID である。 ただし、 I はプロセ" "スではなく netlink ソケットを同定する。 プロセスが複数の netlink ソケットを所" "有する場合、 I は最大でも一つのソケットのプロセス ID としか等しくなら" "ない。 I を netlink ソケットに割り当てる方法は 2 つある。 アプリケー" "ションが B(2) を呼ぶ前に I を設定する場合、 I が一意で" "あることを確認するのはアプリケーションの責任となる。 アプリケーションが " "I を 0 に設定した場合、カーネルがこの値を割り当てる。 カーネルはプロ" "セスが最初にオープンした netlink ソケットに対してプロセス ID を割り当て、 そ" "れ以降にプロセスが作成した全ての netlink ソケットにも一意な I を割り" "当てる。" #. commit d629b836d151d43332492651dd841d32e57ebe3b #. type: Plain text #: build/C/man7/netlink.7:368 msgid "" "I is a bit mask with every bit representing a netlink group " "number. Each netlink family has a set of 32 multicast groups. When B" "(2) is called on the socket, the I field in the I " "should be set to a bit mask of the groups which it wishes to listen to. The " "default value for this field is zero which means that no multicasts will be " "received. A socket may multicast messages to any of the multicast groups by " "setting I to a bit mask of the groups it wishes to send to when " "it calls B(2) or does a B(2). Only processes with an " "effective UID of 0 or the B capability may send or listen to " "a netlink multicast group. Since Linux 2.6.13, messages can't be broadcast " "to multiple groups. Any replies to a message received for a multicast group " "should be sent back to the sending PID and the multicast group. Some Linux " "kernel subsystems may additionally allow other users to send and/or receive " "messages. As at Linux 3.0, the B, " "B, B, and B groups allow " "other users to receive messages. No groups allow other users to send " "messages." msgstr "" "I はビットマスクで、すべてのビットが netlink グループ番号を表" "す。\n" "それぞれの netlink ファミリーは 32 のマルチキャストグループのセットを持つ。\n" "それぞれの netlink ファミリーは 32 のマルチキャストグループの セットを持" "つ。\n" "B(2) がソケットに対して呼ばれると、 I の I \n" "フィールドには listen したいグループのビットマスクがセットされる。\n" "デフォルトの値は 0 で、マルチキャストを一切受信しない。\n" "B(2) や B(2) によって、あるソケットからメッセージを\n" "マルチキャストしたいときは、 I に送信したいグループのビットマス" "ク\n" "をセットすればよい。\n" "netlink マルチキャストグループに送信したり、これを listen したりできるの" "は、\n" "実効ユーザー ID が 0 のプロセスか、 B 権限を持つプロセスのみで" "ある。\n" "Linux 2.6.13 以降では、メッセージを複数のグループへのブロードキャストすること" "はできない。\n" "マルチキャストグループ向けメッセージを受信した場合、これ対する応答は\n" "送り主の PID とマルチキャストグループとに送り返すべきである。\n" "さらに、Linux のカーネルサブシステムによっては、\n" "他のユーザもメッセージの送受信ができる場合がある。\n" "Linux 3.0 の時点では、\n" "B, B, B,\n" "B グループでは他のユーザがメッセージを受信することができ" "る。\n" "他のユーザがメッセージを送信できるグループは存在しない。" #. type: SH #: build/C/man7/netlink.7:368 build/C/man7/rtnetlink.7:465 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. type: Plain text #: build/C/man7/netlink.7:370 msgid "The socket interface to netlink is a new feature of Linux 2.2." msgstr "netlink へのソケットインターフェースは Linux 2.2 の新機能である。" #. type: Plain text #: build/C/man7/netlink.7:374 msgid "" "Linux 2.0 supported a more primitive device-based netlink interface (which " "is still available as a compatibility option). This obsolete interface is " "not described here." msgstr "" "Linux 2.0 は、もっと原始的なデバイスベースの netlink インターフェースを サ" "ポートしていた (これも互換性のために今でも使用できる)。 古いインターフェース" "に関してはここでは記述しない。" #. type: Plain text #: build/C/man7/netlink.7:376 msgid "NETLINK_SELINUX appeared in Linux 2.6.4." msgstr "NETLINK_SELINUX は Linux 2.6.4 で登場した。" #. type: Plain text #: build/C/man7/netlink.7:378 msgid "NETLINK_AUDIT appeared in Linux 2.6.6." msgstr "NETLINK_AUDIT は Linux 2.6.6 で登場した。" #. type: Plain text #: build/C/man7/netlink.7:380 msgid "NETLINK_KOBJECT_UEVENT appeared in Linux 2.6.10." msgstr "NETLINK_KOBJECT_UEVENT は Linux 2.6.10 で登場した。" #. type: Plain text #: build/C/man7/netlink.7:382 msgid "NETLINK_W1 and NETLINK_FIB_LOOKUP appeared in Linux 2.6.13." msgstr "NETLINK_W1, NETLINK_FIB_LOOKUP は Linux 2.6.13 で登場した。" #. type: Plain text #: build/C/man7/netlink.7:385 msgid "" "NETLINK_INET_DIAG, NETLINK_CONNECTOR and NETLINK_NETFILTER appeared in Linux " "2.6.14." msgstr "" "NETLINK_INET_DIAG, NETLINK_CONNECTOR, NETLINK_NETFILTER は Linux 2.6.14 で登" "場した。" #. type: Plain text #: build/C/man7/netlink.7:387 msgid "NETLINK_GENERIC and NETLINK_ISCSI appeared in Linux 2.6.15." msgstr "NETLINK_GENERIC, NETLINK_ISCSI は Linux 2.6.15 で登場した。" #. type: Plain text #: build/C/man7/netlink.7:393 msgid "" "It is often better to use netlink via I or I than via the " "low-level kernel interface." msgstr "" "低レベルのカーネルインターフェースより、 I または I を通し" "て netlink を利用するほうが良いことが多い。" #. type: SH #: build/C/man7/netlink.7:393 build/C/man3/rtnetlink.3:84 #: build/C/man7/rtnetlink.7:468 #, no-wrap msgid "BUGS" msgstr "バグ" #. type: Plain text #: build/C/man7/netlink.7:395 msgid "This manual page is not complete." msgstr "この man ページは完成していない。" #. type: SH #: build/C/man7/netlink.7:395 build/C/man3/rtnetlink.3:86 #, no-wrap msgid "EXAMPLE" msgstr "例" #. type: Plain text #: build/C/man7/netlink.7:403 msgid "" "The following example creates a B netlink socket which will " "listen to the B (network interface create/delete/up/down " "events) and B (IPv4 addresses add/delete events) " "multicast groups." msgstr "" "以下の例では、 B (ネットワークインターフェースの create/delete/" "up/down イベント) と B (IPv4 アドレスの add/delete イベン" "ト) マルチキャストグループを listen する B netlink を作成して" "いる。" #. type: Plain text #: build/C/man7/netlink.7:407 #, no-wrap msgid "struct sockaddr_nl sa;\n" msgstr "struct sockaddr_nl sa;\n" #. type: Plain text #: build/C/man7/netlink.7:411 #, no-wrap msgid "" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n" msgstr "" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n" #. type: Plain text #: build/C/man7/netlink.7:414 #, no-wrap msgid "" "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n" "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n" msgstr "" "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n" "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n" #. type: Plain text #: build/C/man7/netlink.7:421 msgid "" "The next example demonstrates how to send a netlink message to the kernel " "(pid 0). Note that application must take care of message sequence numbers " "in order to reliably track acknowledgements." msgstr "" "次の例では、netlink メッセージをカーネル (pid 0) に送る方法を示している。 応" "答を追跡する際の信頼性を高めるために、アプリケーションが メッセージのシーケン" "ス番号を正しく処理しなければならない点に注意すること。" #. type: Plain text #: build/C/man7/netlink.7:428 #, no-wrap msgid "" "struct nlmsghdr *nh; /* The nlmsghdr with payload to send. */\n" "struct sockaddr_nl sa;\n" "struct iovec iov = { nh, nh-Enlmsg_len };\n" "struct msghdr msg;\n" msgstr "" "struct nlmsghdr *nh; /* 送信する nlmsghdr とペイロード */\n" "struct sockaddr_nl sa;\n" "struct iovec iov = { nh, nh-Enlmsg_len };\n" "struct msghdr msg;\n" #. type: Plain text #: build/C/man7/netlink.7:436 #, no-wrap msgid "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "nh-Enlmsg_pid = 0;\n" "nh-Enlmsg_seq = ++sequence_number;\n" "/* Request an ack from kernel by setting NLM_F_ACK. */\n" "nh-Enlmsg_flags |= NLM_F_ACK;\n" msgstr "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "nh-Enlmsg_pid = 0;\n" "nh-Enlmsg_seq = ++sequence_number;\n" "/* NLM_F_ACK を設定することで、カーネルに応答を要求する */\n" "nh-Enlmsg_flags |= NLM_F_ACK;\n" #. type: Plain text #: build/C/man7/netlink.7:438 #, no-wrap msgid "sendmsg(fd, &msg, 0);\n" msgstr "sendmsg(fd, &msg, 0);\n" #. type: Plain text #: build/C/man7/netlink.7:442 msgid "And the last example is about reading netlink message." msgstr "最後は、netlink メッセージの読み込みの例である。" #. type: Plain text #: build/C/man7/netlink.7:451 #, no-wrap msgid "" "int len;\n" "char buf[4096];\n" "struct iovec iov = { buf, sizeof(buf) };\n" "struct sockaddr_nl sa;\n" "struct msghdr msg;\n" "struct nlmsghdr *nh;\n" msgstr "" "int len;\n" "char buf[4096];\n" "struct iovec iov = { buf, sizeof(buf) };\n" "struct sockaddr_nl sa;\n" "struct msghdr msg;\n" "struct nlmsghdr *nh;\n" #. type: Plain text #: build/C/man7/netlink.7:454 #, no-wrap msgid "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "len = recvmsg(fd, &msg, 0);\n" msgstr "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "len = recvmsg(fd, &msg, 0);\n" #. type: Plain text #: build/C/man7/netlink.7:460 #, no-wrap msgid "" "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n" " nh = NLMSG_NEXT (nh, len)) {\n" " /* The end of multipart message. */\n" " if (nh-Enlmsg_type == NLMSG_DONE)\n" " return;\n" msgstr "" "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n" " nh = NLMSG_NEXT (nh, len)) {\n" " /* マルチパートメッセージの終わり */\n" " if (nh-Enlmsg_type == NLMSG_DONE)\n" " return;\n" #. type: Plain text #: build/C/man7/netlink.7:464 #, no-wrap msgid "" " if (nh-Enlmsg_type == NLMSG_ERROR)\n" " /* Do some error handling. */\n" " ...\n" msgstr "" " if (nh-Enlmsg_type == NLMSG_ERROR)\n" " /* 何らかのエラー処理を行う */\n" " ...\n" #. type: Plain text #: build/C/man7/netlink.7:468 #, no-wrap msgid "" " /* Continue with parsing payload. */\n" " ...\n" "}\n" msgstr "" " /* ペイロードの解析を続ける */\n" " ...\n" "}\n" #. type: Plain text #: build/C/man7/netlink.7:475 msgid "B(3), B(3), B(7), B(7)" msgstr "B(3), B(3), B(7), B(7)" #. type: Plain text #: build/C/man7/netlink.7:479 msgid "" "E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> information about " "libnetlink E<.UE>" msgstr "" "E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> libnetlink に関する情" "報 E<.UE>" #. type: Plain text #: build/C/man7/netlink.7:483 msgid "" "E<.UR http://people.suug.ch\\:/~tgr\\:/libnl/> information about libnl E<.UE>" msgstr "" "E<.UR http://people.suug.ch\\:/~tgr\\:/libnl/> libnl に関する情報 E<.UE>" #. type: Plain text #: build/C/man7/netlink.7:485 msgid "RFC 3549 \"Linux Netlink as an IP Services Protocol\"" msgstr "RFC 3549 \"Linux Netlink as an IP Services Protocol\"" #. type: TH #: build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:15 #, no-wrap msgid "RTNETLINK" msgstr "RTNETLINK" #. type: TH #: build/C/man3/rtnetlink.3:12 #, no-wrap msgid "2012-03-24" msgstr "2012-03-24" #. type: Plain text #: build/C/man3/rtnetlink.3:15 msgid "rtnetlink - macros to manipulate rtnetlink messages" msgstr "rtnetlink - rtnetlink メッセージを操作するマクロ" #. type: Plain text #: build/C/man3/rtnetlink.3:17 build/C/man7/rtnetlink.7:20 msgid "B<#include Easm/types.hE>" msgstr "B<#include Easm/types.hE>" #. type: Plain text #: build/C/man3/rtnetlink.3:19 build/C/man7/rtnetlink.7:22 msgid "B<#include Elinux/netlink.hE>" msgstr "B<#include Elinux/netlink.hE>" #. type: Plain text #: build/C/man3/rtnetlink.3:21 build/C/man7/rtnetlink.7:24 msgid "B<#include Elinux/rtnetlink.hE>" msgstr "B<#include Elinux/rtnetlink.hE>" #. type: Plain text #: build/C/man3/rtnetlink.3:23 build/C/man7/rtnetlink.7:26 msgid "B<#include Esys/socket.hE>" msgstr "B<#include Esys/socket.hE>" #. type: Plain text #: build/C/man3/rtnetlink.3:26 build/C/man7/rtnetlink.7:28 msgid "" "BIB<, " "NETLINK_ROUTE);>" msgstr "" "BIB<, " "NETLINK_ROUTE);>" #. type: Plain text #: build/C/man3/rtnetlink.3:28 msgid "BIB<, int >IB<);>" msgstr "BIB<, int >IB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:30 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:32 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:35 msgid "" "BIB<, unsigned int " ">IB<);>" msgstr "" "BIB<, unsigned int " ">IB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:37 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:39 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/rtnetlink.3:46 msgid "" "All B(7) messages consist of a B(7) message header and " "appended attributes. The attributes should be manipulated only using the " "macros provided here." msgstr "" "全ての B(7) メッセージは B(7) メッセージヘッダと追加属" "性からなる。 属性の操作は、必ずここに挙げたマクロだけを使って行うべきである。" #. type: Plain text #: build/C/man3/rtnetlink.3:57 msgid "" "BIB<, >IB<)> returns true if I points to a valid " "routing attribute; I is the running length of the attribute " "buffer. When not true then you must assume there are no more attributes in " "the message, even if I is nonzero." msgstr "" "BIB<, >IB<)> は I が有効なルーティング属性へのポ" "インタであれば真を返す。 I は属性バッファの実働時の長さ (running " "length) である。 真でなければ、例え I がゼロでなくても、 メッセージ" "中にはもうそれ以上属性は無いと考えなければならない。" #. type: Plain text #: build/C/man3/rtnetlink.3:60 msgid "" "BIB<)> returns a pointer to the start of this attribute's " "data." msgstr "BIB<)> はこの属性データの先頭へのポインタを返す。" #. type: Plain text #: build/C/man3/rtnetlink.3:63 msgid "BIB<)> returns the length of this attribute's data." msgstr "BIB<)> はこの属性データの長さを返す。" #. type: Plain text #: build/C/man3/rtnetlink.3:72 msgid "" "BIB<, >IB<)> gets the next attribute after I. " "Calling this macro will update I. You should use B to " "check the validity of the returned pointer." msgstr "" "BIB<, >IB<)> は I の次にある属性を取得する。 こ" "のマクロを呼ぶと I が更新される。 B を使って、返されたポイン" "タが正しいかをチェックすべきである。" #. type: Plain text #: build/C/man3/rtnetlink.3:77 msgid "" "BIB<)> returns the length which is required for I " "bytes of data plus the header." msgstr "" "BIB<)> は I バイトのデータ + ヘッダに必要な長さを返" "す。" #. type: Plain text #: build/C/man3/rtnetlink.3:82 msgid "" "BIB<)> returns the amount of space which will be needed in " "a message with I bytes of data." msgstr "" "BIB<)> は I バイトのデータを持つメッセージに必要とされ" "る容量を返す。" #. type: Plain text #: build/C/man3/rtnetlink.3:86 build/C/man7/rtnetlink.7:470 msgid "This manual page is incomplete." msgstr "このマニュアルは完全ではない。" #. FIXME ? would be better to use libnetlink in the EXAMPLE code here #. type: Plain text #: build/C/man3/rtnetlink.3:90 msgid "Creating a rtnetlink message to set the MTU of a device:" msgstr "デバイスの MTU をセットする rtnetlink メッセージを生成する" #. type: Plain text #: build/C/man3/rtnetlink.3:92 #, no-wrap msgid " #include Elinux/rtnetlink.hE\n" msgstr " #include Elinux/rtnetlink.hE\n" #. type: Plain text #: build/C/man3/rtnetlink.3:94 #, no-wrap msgid " ...\n" msgstr " ...\n" #. type: Plain text #: build/C/man3/rtnetlink.3:100 #, no-wrap msgid "" " struct {\n" " struct nlmsghdr nh;\n" " struct ifinfomsg if;\n" " char attrbuf[512];\n" " } req;\n" msgstr "" " struct {\n" " struct nlmsghdr nh;\n" " struct ifinfomsg if;\n" " char attrbuf[512];\n" " } req;\n" #. type: Plain text #: build/C/man3/rtnetlink.3:103 #, no-wrap msgid "" " struct rtattr *rta;\n" " unsigned int mtu = 1000;\n" msgstr "" " struct rtattr *rta;\n" " unsigned int mtu = 1000;\n" #. type: Plain text #: build/C/man3/rtnetlink.3:105 #, no-wrap msgid " int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);\n" msgstr " int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE);\n" #. type: Plain text #: build/C/man3/rtnetlink.3:121 #, no-wrap msgid "" " memset(&req, 0, sizeof(req));\n" " req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));\n" " req.nh.nlmsg_flags = NLM_F_REQUEST;\n" " req.nh.nlmsg_type = RTM_NEWLINK;\n" " req.if.ifi_family = AF_UNSPEC;\n" " req.if.ifi_index = INTERFACE_INDEX;\n" " req.if.ifi_change = 0xffffffff; /* ??? */\n" " rta = (struct rtattr *)(((char *) &req) +\n" " NLMSG_ALIGN(req.nh.nlmsg_len));\n" " rta-Erta_type = IFLA_MTU;\n" " rta-Erta_len = RTA_LENGTH(sizeof(unsigned int));\n" " req.n.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +\n" " RTA_LENGTH(sizeof(mtu));\n" " memcpy(RTA_DATA(rta), &mtu, sizeof(mtu));\n" " send(rtnetlink_sk, &req, req.nh.nlmsg_len);\n" msgstr "" " memset(&req, 0, sizeof(req));\n" " req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));\n" " req.nh.nlmsg_flags = NLM_F_REQUEST;\n" " req.nh.nlmsg_type = RTM_NEWLINK;\n" " req.if.ifi_family = AF_UNSPEC;\n" " req.if.ifi_index = INTERFACE_INDEX;\n" " req.if.ifi_change = 0xffffffff; /* ??? */\n" " rta = (struct rtattr *)(((char *) &req) +\n" " NLMSG_ALIGN(req.nh.nlmsg_len));\n" " rta-Erta_type = IFLA_MTU;\n" " rta-Erta_len = RTA_LENGTH(sizeof(unsigned int));\n" " req.n.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) +\n" " RTA_LENGTH(sizeof(mtu));\n" " memcpy(RTA_DATA(rta), &mtu, sizeof(mtu));\n" " send(rtnetlink_sk, &req, req.nh.nlmsg_len);\n" #. type: Plain text #: build/C/man3/rtnetlink.3:126 msgid "B(3), B(7), B(7)" msgstr "B(3), B(7), B(7)" #. type: TH #: build/C/man7/rtnetlink.7:15 #, no-wrap msgid "2013-03-05" msgstr "2013-03-05" #. type: Plain text #: build/C/man7/rtnetlink.7:18 msgid "rtnetlink - Linux IPv4 routing socket" msgstr "rtnetlink - Linux IPv4 ルーティングソケット" #. FIXME ? all these macros could be moved to rtnetlink(3) #. type: Plain text #: build/C/man7/rtnetlink.7:42 msgid "" "Rtnetlink allows the kernel's routing tables to be read and altered. It is " "used within the kernel to communicate between various subsystems, though " "this usage is not documented here, and for communication with user-space " "programs. Network routes, IP addresses, link parameters, neighbor setups, " "queueing disciplines, traffic classes and packet classifiers may all be " "controlled through B sockets. It is based on netlink " "messages; see B(7) for more information." msgstr "" "B はカーネルのルーティングテーブルを読んだり変更したり するための" "ものである。これはカーネルが内部のサブシステムと 通信するためにも用いられてい" "るが、それはここでは記述しない。 この man ページではユーザー空間のプログラム" "との通信に関してのみ述べる。 ネットワーク経路・IP アドレス・リンクパラメー" "タ・ 近傍設定 (neighbor setup)・キューイングルール (queueing dicipline)・ ト" "ラフィッククラス・パケットのクラス分類などが、すべて B ソケッ" "トを通して制御できる。 B は netlink メッセージをベースにしている。" "詳細は B(7) を見ること。" #. type: SS #: build/C/man7/rtnetlink.7:42 #, no-wrap msgid "Routing attributes" msgstr "ルーティング属性" #. type: Plain text #: build/C/man7/rtnetlink.7:44 msgid "" "Some rtnetlink messages have optional attributes after the initial header:" msgstr "" "rtnetlink メッセージには、初期ヘッダの後に付加的な属性を 持つものがある。" #. type: Plain text #: build/C/man7/rtnetlink.7:52 #, no-wrap msgid "" "struct rtattr {\n" " unsigned short rta_len; /* Length of option */\n" " unsigned short rta_type; /* Type of option */\n" " /* Data follows */\n" "};\n" msgstr "" "struct rtattr {\n" " unsigned short rta_len; /* Length of option */\n" " unsigned short rta_type; /* Type of option */\n" " /* Data follows */\n" "};\n" #. type: Plain text #: build/C/man7/rtnetlink.7:58 msgid "" "These attributes should be manipulated using only the RTA_* macros or " "libnetlink, see B(3)." msgstr "" "これらの属性の操作は、 RTA_* マクロか libnetlink のみを使って行うべきであ" "る。 B(3) を見よ。" #. type: SS #: build/C/man7/rtnetlink.7:58 #, no-wrap msgid "Messages" msgstr "メッセージ" #. type: Plain text #: build/C/man7/rtnetlink.7:61 msgid "" "Rtnetlink consists of these message types (in addition to standard netlink " "messages):" msgstr "" "rtnetlink は (標準的な netlink メッセージに加えて) 以下のメッセージタイプか" "ら構成される。" #. type: TP #: build/C/man7/rtnetlink.7:61 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:69 msgid "" "Create, remove or get information about a specific network interface. These " "messages contain an I structure followed by a series of I " "structures." msgstr "" "指定したネットワークインターフェースの情報を、生成・削除・取得する。 これらの" "メッセージは I 構造体と、それに続いていくつかの I 構造体を" "伴う。" #. type: Plain text #: build/C/man7/rtnetlink.7:78 #, no-wrap msgid "" "struct ifinfomsg {\n" " unsigned char ifi_family; /* AF_UNSPEC */\n" " unsigned short ifi_type; /* Device type */\n" " int ifi_index; /* Interface index */\n" " unsigned int ifi_flags; /* Device flags */\n" " unsigned int ifi_change; /* change mask */\n" "};\n" msgstr "" "struct ifinfomsg {\n" " unsigned char ifi_family; /* AF_UNSPEC */\n" " unsigned short ifi_type; /* Device type */\n" " int ifi_index; /* Interface index */\n" " unsigned int ifi_flags; /* Device flags */\n" " unsigned int ifi_change; /* change mask */\n" "};\n" #. FIXME ifi_type #. type: Plain text #: build/C/man7/rtnetlink.7:92 msgid "" "I contains the device flags, see B(7); I is " "the unique interface index (since Linux 3.7, it is possible to feed a " "nonzero value with the B message, thus creating a link with the " "given I); I is reserved for future use and should be " "always set to 0xFFFFFFFF." msgstr "" "I はデバイスのフラグである。 B(7) を参照。 " "I は他と重ならないインターフェースの index である (Linux 3.7 以降" "では、 B メッセージで 0 以外の値を指定することができ、そのため指" "定した I でリンクを作成できる)。 I は将来の利用のために" "予約されており、常に 0xFFFFFFFF にセットすべきである。" #. type: tbl table #: build/C/man7/rtnetlink.7:97 #, no-wrap msgid "Routing attributes\n" msgstr "ルーティング属性\n" #. type: tbl table #: build/C/man7/rtnetlink.7:98 build/C/man7/rtnetlink.7:166 #: build/C/man7/rtnetlink.7:323 #, no-wrap msgid "rta_type:value type:description\n" msgstr "rta_type:値の型:説明\n" #. type: tbl table #: build/C/man7/rtnetlink.7:100 #, no-wrap msgid "IFLA_UNSPEC:-:unspecified.\n" msgstr "IFLA_UNSPEC:-:指定されていない。\n" #. type: tbl table #: build/C/man7/rtnetlink.7:101 #, no-wrap msgid "IFLA_ADDRESS:hardware address:interface L2 address\n" msgstr "IFLA_ADDRESS:hardware address:インターフェース L2 アドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:102 #, no-wrap msgid "IFLA_BROADCAST:hardware address:L2 broadcast address.\n" msgstr "IFLA_BROADCAST:hardware address:L2 ブロードキャストアドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:103 #, no-wrap msgid "IFLA_IFNAME:asciiz string:Device name.\n" msgstr "IFLA_IFNAME:asciiz string:デバイス名\n" #. type: tbl table #: build/C/man7/rtnetlink.7:104 #, no-wrap msgid "IFLA_MTU:unsigned int:MTU of the device.\n" msgstr "IFLA_MTU:unsigned int:デバイスの MTU\n" #. type: tbl table #: build/C/man7/rtnetlink.7:105 #, no-wrap msgid "IFLA_LINK:int:Link type.\n" msgstr "IFLA_LINK:int:リンクタイプ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:106 #, no-wrap msgid "IFLA_QDISC:asciiz string:Queueing discipline.\n" msgstr "IFLA_QDISC:asciiz string:キューイングのルール\n" #. type: tbl table #: build/C/man7/rtnetlink.7:107 #, no-wrap msgid "IFLA_STATS:T{\n" msgstr "IFLA_STATS:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:108 #, no-wrap msgid "see below\n" msgstr "下記参照\n" #. type: tbl table #: build/C/man7/rtnetlink.7:109 #, no-wrap msgid "T}:Interface Statistics.\n" msgstr "T}:インターフェースの統計\n" #. type: Plain text #: build/C/man7/rtnetlink.7:119 msgid "" "The value type for B is I (I in Linux 2.4 and earlier)." msgstr "" "B の値の型は I (Linux 2.4 以前では " "I) である。" #. type: TP #: build/C/man7/rtnetlink.7:119 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:132 msgid "" "Add, remove or receive information about an IP address associated with an " "interface. In Linux 2.2, an interface can carry multiple IP addresses, this " "replaces the alias device concept in 2.0. In Linux 2.2, these messages " "support IPv4 and IPv6 addresses. They contain an I structure, " "optionally followed by I routing attributes." msgstr "" "インターフェースの IP アドレスの情報を追加・削除・取得する。 Linux 2.2 では、" "一つのインターフェースに複数の IP アドレスを 保持させることができ、これは " "2.0 の別名デバイスの概念を置き換える。 Linux 2.2 では、これらのメッセージは " "IPv4 と IPv6 の両方のアドレスをサポートしている。 これらは I 構造" "体を伴う。そのあとに I ルーティング属性が続くこともある。" #. type: Plain text #: build/C/man7/rtnetlink.7:141 #, no-wrap msgid "" "struct ifaddrmsg {\n" " unsigned char ifa_family; /* Address type */\n" " unsigned char ifa_prefixlen; /* Prefixlength of address */\n" " unsigned char ifa_flags; /* Address flags */\n" " unsigned char ifa_scope; /* Address scope */\n" " int ifa_index; /* Interface index */\n" "};\n" msgstr "" "struct ifaddrmsg {\n" " unsigned char ifa_family; /* Address type */\n" " unsigned char ifa_prefixlen; /* Prefixlength of address */\n" " unsigned char ifa_flags; /* Address flags */\n" " unsigned char ifa_scope; /* Address scope */\n" " int ifa_index; /* Interface index */\n" "};\n" #. type: Plain text #: build/C/man7/rtnetlink.7:161 msgid "" "I is the address family type (currently B or " "B), I is the length of the address mask of the " "address if defined for the family (like for IPv4), I is the " "address scope, I is the interface index of the interface the " "address is associated with. I is a flag word of " "B for secondary address (old alias interface), " "B for a permanent address set by the user and other " "undocumented flags." msgstr "" "I はアドレスファミリーのタイプである (現在は B または " "B)。 I はアドレスのアドレスマスクの長さである (IPv4 " "のように、 そのファミリーで定義されている場合)。 I はアドレスのス" "コープである。 I はアドレスが関連づけられているインターフェースの " "index である。 I はフラグワードで、 二つめのアドレス (古い別名イン" "ターフェース) の場合は B に、永続的なアドレスの場合は " "B に適用される。ユーザーによってセットされるフラグと、 " "undocumented なフラグがある。" #. type: tbl table #: build/C/man7/rtnetlink.7:165 build/C/man7/rtnetlink.7:322 #: build/C/man7/rtnetlink.7:440 #, no-wrap msgid "Attributes\n" msgstr "属性\n" #. type: tbl table #: build/C/man7/rtnetlink.7:168 #, no-wrap msgid "IFA_UNSPEC:-:unspecified.\n" msgstr "IFA_UNSPEC:-:指定されていない\n" #. type: tbl table #: build/C/man7/rtnetlink.7:169 #, no-wrap msgid "IFA_ADDRESS:raw protocol address:interface address\n" msgstr "IFA_ADDRESS:raw protocol address:インターフェースアドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:170 #, no-wrap msgid "IFA_LOCAL:raw protocol address:local address\n" msgstr "IFA_LOCAL:raw protocol address:ローカルアドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:171 #, no-wrap msgid "IFA_LABEL:asciiz string:name of the interface\n" msgstr "IFA_LABEL:asciiz string:インターフェースの名前\n" #. type: tbl table #: build/C/man7/rtnetlink.7:172 #, no-wrap msgid "IFA_BROADCAST:raw protocol address:broadcast address.\n" msgstr "IFA_BROADCAST:raw protocol address:ブロードキャストアドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:173 #, no-wrap msgid "IFA_ANYCAST:raw protocol address:anycast address\n" msgstr "IFA_ANYCAST:raw protocol address:anycast アドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:174 #, no-wrap msgid "IFA_CACHEINFO:struct ifa_cacheinfo:Address information.\n" msgstr "IFA_CACHEINFO:struct ifa_cacheinfo:アドレス情報\n" #. type: TP #: build/C/man7/rtnetlink.7:177 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:197 msgid "" "Create, remove or receive information about a network route. These messages " "contain an I structure with an optional sequence of I " "structures following. For B, setting I and " "I to 0 means you get all entries for the specified routing " "table. For the other fields, except I and I, 0 is " "the wildcard." msgstr "" "ネットワーク経路の情報を生成・削除・取得する。 これらのメッセージは I " "構造体を伴う。そのあとにいくつかの I 構造体を続けることもできる。 " "B で I と I に 0 をセットすると、 指" "定されたルーティングテーブルの全てのエントリを所得する。 I と " "I 以外の他のフィールドに 0 を入れると、ワイルドカードを意味す" "る。" #. type: Plain text #: build/C/man7/rtnetlink.7:204 #, no-wrap msgid "" "struct rtmsg {\n" " unsigned char rtm_family; /* Address family of route */\n" " unsigned char rtm_dst_len; /* Length of destination */\n" " unsigned char rtm_src_len; /* Length of source */\n" " unsigned char rtm_tos; /* TOS filter */\n" msgstr "" "struct rtmsg {\n" " unsigned char rtm_family; /* Address family of route */\n" " unsigned char rtm_dst_len; /* Length of destination */\n" " unsigned char rtm_src_len; /* Length of source */\n" " unsigned char rtm_tos; /* TOS filter */\n" #. type: Plain text #: build/C/man7/rtnetlink.7:209 #, no-wrap msgid "" " unsigned char rtm_table; /* Routing table ID */\n" " unsigned char rtm_protocol; /* Routing protocol; see below */\n" " unsigned char rtm_scope; /* See below */\n" " unsigned char rtm_type; /* See below */\n" msgstr "" " unsigned char rtm_table; /* Routing table ID */\n" " unsigned char rtm_protocol; /* Routing protocol; see below */\n" " unsigned char rtm_scope; /* See below */\n" " unsigned char rtm_type; /* See below */\n" #. type: Plain text #: build/C/man7/rtnetlink.7:212 #, no-wrap msgid "" " unsigned int rtm_flags;\n" "};\n" msgstr "" " unsigned int rtm_flags;\n" "};\n" #. type: tbl table #: build/C/man7/rtnetlink.7:217 #, no-wrap msgid "rtm_type:Route type\n" msgstr "rtm_type:経路のタイプ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:219 #, no-wrap msgid "RTN_UNSPEC:unknown route\n" msgstr "RTN_UNSPEC:未知の経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:220 #, no-wrap msgid "RTN_UNICAST:a gateway or direct route\n" msgstr "RTN_UNICAST:ゲートウェイまたはダイレクトな経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:221 #, no-wrap msgid "RTN_LOCAL:a local interface route\n" msgstr "RTN_LOCAL:ローカルインターフェースの経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:222 #, no-wrap msgid "RTN_BROADCAST:T{\n" msgstr "RTN_BROADCAST:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:223 #, no-wrap msgid "a local broadcast route (sent as a broadcast)\n" msgstr "ローカルなブロードキャスト経路 (ブロードキャストとして送信される)\n" #. type: tbl table #: build/C/man7/rtnetlink.7:225 #, no-wrap msgid "RTN_ANYCAST:T{\n" msgstr "RTN_ANYCAST:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:226 #, no-wrap msgid "a local broadcast route (sent as a unicast)\n" msgstr "ローカルなブロードキャスト経路 (ユニキャストとして送信される)\n" #. type: tbl table #: build/C/man7/rtnetlink.7:228 #, no-wrap msgid "RTN_MULTICAST:a multicast route\n" msgstr "RTN_MULTICAST:マルチキャスト経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:229 #, no-wrap msgid "RTN_BLACKHOLE:a packet dropping route\n" msgstr "RTN_BLACKHOLE:パケットを捨てる経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:230 #, no-wrap msgid "RTN_UNREACHABLE:an unreachable destination\n" msgstr "RTN_UNREACHABLE:到達できない行き先\n" #. type: tbl table #: build/C/man7/rtnetlink.7:231 #, no-wrap msgid "RTN_PROHIBIT:a packet rejection route\n" msgstr "RTN_PROHIBIT:パケットを拒否する経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:232 #, no-wrap msgid "RTN_THROW:continue routing lookup in another table\n" msgstr "RTN_THROW:経路探索を別のテーブルで継続\n" #. type: tbl table #: build/C/man7/rtnetlink.7:233 #, no-wrap msgid "RTN_NAT:a network address translation rule\n" msgstr "RTN_NAT:ネットワークアドレスの変換ルール\n" #. type: tbl table #: build/C/man7/rtnetlink.7:234 #, no-wrap msgid "RTN_XRESOLVE:T{\n" msgstr "RTN_XRESOLVE:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:235 #, no-wrap msgid "refer to an external resolver (not implemented)\n" msgstr "外部レゾルバを参照 (実装されていない)\n" #. type: tbl table #: build/C/man7/rtnetlink.7:243 #, no-wrap msgid "rtm_protocol:Route origin.\n" msgstr "rtm_protocol:経路の情報源\n" #. type: tbl table #: build/C/man7/rtnetlink.7:245 #, no-wrap msgid "RTPROT_UNSPEC:unknown\n" msgstr "RTPROT_UNSPEC:不明\n" #. type: tbl table #: build/C/man7/rtnetlink.7:246 #, no-wrap msgid "RTPROT_REDIRECT:T{\n" msgstr "RTPROT_REDIRECT:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:247 #, no-wrap msgid "by an ICMP redirect (currently unused)\n" msgstr "ICMP リダイレクトによる (現在は用いられない)\n" #. type: tbl table #: build/C/man7/rtnetlink.7:249 #, no-wrap msgid "RTPROT_KERNEL:by the kernel\n" msgstr "RTPROT_KERNEL:カーネルによる\n" #. type: tbl table #: build/C/man7/rtnetlink.7:250 #, no-wrap msgid "RTPROT_BOOT:during boot\n" msgstr "RTPROT_BOOT:ブート時\n" #. type: tbl table #: build/C/man7/rtnetlink.7:251 #, no-wrap msgid "RTPROT_STATIC:by the administrator\n" msgstr "RTPROT_STATIC:管理者による\n" #. type: Plain text #: build/C/man7/rtnetlink.7:263 msgid "" "Values larger than B are not interpreted by the kernel, they " "are just for user information. They may be used to tag the source of a " "routing information or to distinguish between multiple routing daemons. See " "Ilinux/rtnetlink.hE> for the routing daemon identifiers which are " "already assigned." msgstr "" "B よりも大きな値はカーネルによって解釈されない。これは 単なる" "ユーザーへの情報である。これらは経路情報の情報源を タグ付けしたり、複数のルー" "ティングデーモンからの情報を 区別するために用いることができる。 既に割り当て" "られているルーティングデーモンの識別子については Ilinux/rtnetlink." "hE> を見よ。" #. type: Plain text #: build/C/man7/rtnetlink.7:266 msgid "I is the distance to the destination:" msgstr "I は行き先への距離である。" #. type: tbl table #: build/C/man7/rtnetlink.7:270 #, no-wrap msgid "RT_SCOPE_UNIVERSE:global route\n" msgstr "RT_SCOPE_UNIVERSE:グローバルな経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:271 #, no-wrap msgid "RT_SCOPE_SITE:T{\n" msgstr "RT_SCOPE_SITE:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:272 #, no-wrap msgid "interior route in the local autonomous system\n" msgstr "ローカルな自律システムにおける内部経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:274 #, no-wrap msgid "RT_SCOPE_LINK:route on this link\n" msgstr "RT_SCOPE_LINK:このリンク上の経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:275 #, no-wrap msgid "RT_SCOPE_HOST:route on the local host\n" msgstr "RT_SCOPE_HOST:ローカルホスト上の経路\n" #. type: tbl table #: build/C/man7/rtnetlink.7:276 #, no-wrap msgid "RT_SCOPE_NOWHERE:destination doesn't exist\n" msgstr "RT_SCOPE_NOWHERE:行き先が存在しない\n" #. type: Plain text #: build/C/man7/rtnetlink.7:285 msgid "" "The values between B and B are available " "to the user." msgstr "" "ユーザーは B と B の間の値を用いることがで" "きる。" #. type: Plain text #: build/C/man7/rtnetlink.7:289 msgid "The I have the following meanings:" msgstr "I は以下の意味を持つ:" #. type: tbl table #: build/C/man7/rtnetlink.7:293 #, no-wrap msgid "RTM_F_NOTIFY:T{\n" msgstr "RTM_F_NOTIFY:T{\n" #. type: tbl table #: build/C/man7/rtnetlink.7:294 #, no-wrap msgid "if the route changes, notify the user via rtnetlink\n" msgstr "経路が変更されると、 rtnetlink を通してユーザーに通知が行く。\n" #. type: tbl table #: build/C/man7/rtnetlink.7:296 #, no-wrap msgid "RTM_F_CLONED:route is cloned from another route\n" msgstr "RTM_F_CLONED:経路は他の経路によって複製された。\n" #. type: tbl table #: build/C/man7/rtnetlink.7:297 #, no-wrap msgid "RTM_F_EQUALIZE:a multipath equalizer (not yet implemented)\n" msgstr "RTM_F_EQUALIZE:マルチパスイコライザ (まだ実装されていない)\n" #. type: Plain text #: build/C/man7/rtnetlink.7:303 msgid "I specifies the routing table" msgstr "I ではルーティングテーブルを指定する。" #. type: tbl table #: build/C/man7/rtnetlink.7:306 #, no-wrap msgid "RT_TABLE_UNSPEC:an unspecified routing table\n" msgstr "RT_TABLE_UNSPEC:指定されていないルーティングテーブル\n" #. type: tbl table #: build/C/man7/rtnetlink.7:307 #, no-wrap msgid "RT_TABLE_DEFAULT:the default table\n" msgstr "RT_TABLE_DEFAULT:デフォルトのテーブル\n" #. type: tbl table #: build/C/man7/rtnetlink.7:308 #, no-wrap msgid "RT_TABLE_MAIN:the main table\n" msgstr "RT_TABLE_MAIN:メインのテーブル\n" #. type: tbl table #: build/C/man7/rtnetlink.7:309 #, no-wrap msgid "RT_TABLE_LOCAL:the local table\n" msgstr "RT_TABLE_LOCAL:ローカルテーブル\n" #. Keep table on same page #. type: Plain text #: build/C/man7/rtnetlink.7:317 msgid "" "The user may assign arbitrary values between B and " "B." msgstr "" "ユーザーは B と B. の間の任意の値を用いる" "ことができる。" #. type: tbl table #: build/C/man7/rtnetlink.7:325 #, no-wrap msgid "RTA_UNSPEC:-:ignored.\n" msgstr "RTA_UNSPEC:-:無視される\n" #. type: tbl table #: build/C/man7/rtnetlink.7:326 #, no-wrap msgid "RTA_DST:protocol address:Route destination address.\n" msgstr "RTA_DST:protocol address:経路の行き先アドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:327 #, no-wrap msgid "RTA_SRC:protocol address:Route source address.\n" msgstr "RTA_SRC:protocol address:経路の発信元アドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:328 #, no-wrap msgid "RTA_IIF:int:Input interface index.\n" msgstr "RTA_IIF:int:入力インターフェースの index\n" #. type: tbl table #: build/C/man7/rtnetlink.7:329 #, no-wrap msgid "RTA_OIF:int:Output interface index.\n" msgstr "RTA_OIF:int:出力インターフェースの index\n" #. type: tbl table #: build/C/man7/rtnetlink.7:330 #, no-wrap msgid "RTA_GATEWAY:protocol address:The gateway of the route\n" msgstr "RTA_GATEWAY:protocol address:経路のゲートウェイ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:331 #, no-wrap msgid "RTA_PRIORITY:int:Priority of route.\n" msgstr "RTA_PRIORITY:int:経路の優先度\n" #. type: tbl table #: build/C/man7/rtnetlink.7:332 #, no-wrap msgid "RTA_PREFSRC::\n" msgstr "RTA_PREFSRC::\n" #. type: tbl table #: build/C/man7/rtnetlink.7:333 #, no-wrap msgid "RTA_METRICS:int:Route metric\n" msgstr "RTA_METRICS:int:経路のメトリック\n" #. type: tbl table #: build/C/man7/rtnetlink.7:334 #, no-wrap msgid "RTA_MULTIPATH::\n" msgstr "RTA_MULTIPATH::\n" #. type: tbl table #: build/C/man7/rtnetlink.7:335 #, no-wrap msgid "RTA_PROTOINFO::\n" msgstr "RTA_PROTOINFO::\n" #. type: tbl table #: build/C/man7/rtnetlink.7:336 #, no-wrap msgid "RTA_FLOW::\n" msgstr "RTA_FLOW::\n" #. type: tbl table #: build/C/man7/rtnetlink.7:337 #, no-wrap msgid "RTA_CACHEINFO::\n" msgstr "RTA_CACHEINFO::\n" #. type: Plain text #: build/C/man7/rtnetlink.7:341 msgid "B" msgstr "B<(これらの値を埋めること!)>" #. type: TP #: build/C/man7/rtnetlink.7:341 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:348 msgid "" "Add, remove or receive information about a neighbor table entry (e.g., an " "ARP entry). The message contains an I structure." msgstr "" "近傍テーブル (neighbor table) のエントリ (例えば ARP エントリ) の情報を追加・" "削除・取得する。 このメッセージは I 構造体を伴う。" #. type: Plain text #: build/C/man7/rtnetlink.7:357 #, no-wrap msgid "" "struct ndmsg {\n" " unsigned char ndm_family;\n" " int ndm_ifindex; /* Interface index */\n" " __u16 ndm_state; /* State */\n" " __u8 ndm_flags; /* Flags */\n" " __u8 ndm_type;\n" "};\n" msgstr "" "struct ndmsg {\n" " unsigned char ndm_family;\n" " int ndm_ifindex; /* Interface index */\n" " __u16 ndm_state; /* State */\n" " __u8 ndm_flags; /* Flags */\n" " __u8 ndm_type;\n" "};\n" #. type: Plain text #: build/C/man7/rtnetlink.7:364 #, no-wrap msgid "" "struct nda_cacheinfo {\n" " __u32 ndm_confirmed;\n" " __u32 ndm_used;\n" " __u32 ndm_updated;\n" " __u32 ndm_refcnt;\n" "};\n" msgstr "" "struct nda_cacheinfo {\n" " __u32 ndm_confirmed;\n" " __u32 ndm_used;\n" " __u32 ndm_updated;\n" " __u32 ndm_refcnt;\n" "};\n" #. type: Plain text #: build/C/man7/rtnetlink.7:368 msgid "I is a bit mask of the following states:" msgstr "I は以下の状態のビットマスクである:" #. type: tbl table #: build/C/man7/rtnetlink.7:371 #, no-wrap msgid "NUD_INCOMPLETE:a currently resolving cache entry\n" msgstr "NUD_INCOMPLETE:現在レゾルブ中のキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:372 #, no-wrap msgid "NUD_REACHABLE:a confirmed working cache entry\n" msgstr "NUD_REACHABLE:動作確認済みのキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:373 #, no-wrap msgid "NUD_STALE:an expired cache entry\n" msgstr "NUD_STALE:期限切れのキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:374 #, no-wrap msgid "NUD_DELAY:an entry waiting for a timer\n" msgstr "NUD_DELAY:タイマ待ちのキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:375 #, no-wrap msgid "NUD_PROBE:a cache entry that is currently reprobed\n" msgstr "NUD_PROBE:再確認中のキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:376 #, no-wrap msgid "NUD_FAILED:an invalid cache entry\n" msgstr "NUD_FAILED:不正なキャッシュエントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:377 #, no-wrap msgid "NUD_NOARP:a device with no destination cache\n" msgstr "NUD_NOARP:行き先キャッシュのないデバイス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:378 #, no-wrap msgid "NUD_PERMANENT:a static entry\n" msgstr "NUD_PERMANENT:静的なエントリ\n" #. type: Plain text #: build/C/man7/rtnetlink.7:384 msgid "Valid I are:" msgstr "有効な I は以下の通り:" #. type: tbl table #: build/C/man7/rtnetlink.7:387 #, no-wrap msgid "NTF_PROXY:a proxy arp entry\n" msgstr "NTF_PROXY:プロクシ arp エントリ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:388 #, no-wrap msgid "NTF_ROUTER:an IPv6 router\n" msgstr "NTF_ROUTER:IPv6 ルータ\n" #. FIXME #. document the members of the struct better #. type: Plain text #: build/C/man7/rtnetlink.7:398 msgid "" "The I struct has the following meanings for the I field:" msgstr "" "I 構造体は、 I フィールドに応じてそれぞれ以下の意味を持つ:" #. type: tbl table #: build/C/man7/rtnetlink.7:401 #, no-wrap msgid "NDA_UNSPEC:unknown type\n" msgstr "NDA_UNSPEC:未知のタイプ\n" #. type: tbl table #: build/C/man7/rtnetlink.7:402 #, no-wrap msgid "NDA_DST:a neighbor cache n/w layer destination address\n" msgstr "NDA_DST:近傍キャッシュネットワーク層の行き先アドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:403 #, no-wrap msgid "NDA_LLADDR:a neighbor cache link layer address\n" msgstr "NDA_LLADDR:近傍キャッシュリンク層のアドレス\n" #. type: tbl table #: build/C/man7/rtnetlink.7:404 #, no-wrap msgid "NDA_CACHEINFO:cache statistics.\n" msgstr "NDA_CACHEINFO:キャッシュの統計\n" #. type: Plain text #: build/C/man7/rtnetlink.7:414 msgid "" "If the I field is B then a I " "header follows" msgstr "" "I フィールドが B の場合には、 I ヘッダが続く。" #. type: TP #: build/C/man7/rtnetlink.7:414 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:419 msgid "Add, delete or retrieve a routing rule. Carries a I" msgstr "ルーティングルールを追加・削除・取得する。 I を伴う。" #. type: TP #: build/C/man7/rtnetlink.7:419 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:426 msgid "" "Add, remove or get a queueing discipline. The message contains a I and may be followed by a series of attributes." msgstr "" "キューイングルールを追加・削除・取得する。 このメッセージは I " "を伴い、またそのあとに属性がいくつか続くこともある。" #. type: Plain text #: build/C/man7/rtnetlink.7:435 #, no-wrap msgid "" "struct tcmsg {\n" " unsigned char tcm_family;\n" " int tcm_ifindex; /* interface index */\n" " __u32 tcm_handle; /* Qdisc handle */\n" " __u32 tcm_parent; /* Parent qdisc */\n" " __u32 tcm_info;\n" "};\n" msgstr "" "struct tcmsg {\n" " unsigned char tcm_family;\n" " int tcm_ifindex; /* interface index */\n" " __u32 tcm_handle; /* Qdisc handle */\n" " __u32 tcm_parent; /* Parent qdisc */\n" " __u32 tcm_info;\n" "};\n" #. type: tbl table #: build/C/man7/rtnetlink.7:441 #, no-wrap msgid "rta_type:value type:Description\n" msgstr "rta_type:値の型:説明\n" #. type: tbl table #: build/C/man7/rtnetlink.7:443 #, no-wrap msgid "TCA_UNSPEC:-:unspecified\n" msgstr "TCA_UNSPEC:-:指定されていない\n" #. type: tbl table #: build/C/man7/rtnetlink.7:444 #, no-wrap msgid "TCA_KIND:asciiz string:Name of queueing discipline\n" msgstr "TCA_KIND:asciiz string:キューイングルールの名前\n" #. type: tbl table #: build/C/man7/rtnetlink.7:445 #, no-wrap msgid "TCA_OPTIONS:byte sequence:Qdisc-specific options follow\n" msgstr "TCA_OPTIONS:byte sequence:Qdisc 特有のオプションが続く\n" #. type: tbl table #: build/C/man7/rtnetlink.7:446 #, no-wrap msgid "TCA_STATS:struct tc_stats:Qdisc statistics.\n" msgstr "TCA_STATS:struct tc_stats:Qdisc の統計\n" #. type: tbl table #: build/C/man7/rtnetlink.7:447 #, no-wrap msgid "TCA_XSTATS:qdisc specific:Module-specific statistics.\n" msgstr "TCA_XSTATS:qdisc specific:モジュール特有の統計\n" #. type: tbl table #: build/C/man7/rtnetlink.7:448 #, no-wrap msgid "TCA_RATE:struct tc_estimator:Rate limit.\n" msgstr "TCA_RATE:struct tc_estimator:レート制限\n" #. type: Plain text #: build/C/man7/rtnetlink.7:453 msgid "" "In addition various other qdisc module specific attributes are allowed. For " "more information see the appropriate include files." msgstr "" "さらに、 qdisc モジュール特有の様々な属性を指定できる。 詳細な情報は適切なイ" "ンクルードファイルを見よ。" #. type: TP #: build/C/man7/rtnetlink.7:453 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:459 msgid "" "Add, remove or get a traffic class. These messages contain a I as described above." msgstr "" "トラフィッククラスを追加・削除・取得する。 これらのメッセージは、上述の " "I を伴う。" #. type: TP #: build/C/man7/rtnetlink.7:459 #, no-wrap msgid "B, B, B" msgstr "B, B, B" #. type: Plain text #: build/C/man7/rtnetlink.7:465 msgid "" "Add, remove or receive information about a traffic filter. These messages " "contain a I as described above." msgstr "" "トラフィックフィルターの情報を追加・削除・取得する。 これらのメッセージは、上" "述の I を伴う。" #. type: Plain text #: build/C/man7/rtnetlink.7:468 msgid "B is a new feature of Linux 2.2." msgstr "B は Linux 2.2 の新機能である。" #. type: Plain text #: build/C/man7/rtnetlink.7:475 msgid "B(3), B(3), B(7), B(7)" msgstr "B(3), B(3), B(7), B(7)"