# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-01 04:21+0900\n"
"PO-Revision-Date: 2012-05-01 04:50+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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:4 build/C/man7/netlink.7:7
#, no-wrap
msgid "NETLINK"
msgstr "NETLINK"

#. type: TH
#: build/C/man3/netlink.3:4
#, no-wrap
msgid "1999-05-14"
msgstr "1999-05-14"

#. type: TH
#: build/C/man3/netlink.3:4 build/C/man3/rtnetlink.3:7
#, no-wrap
msgid "GNU"
msgstr "GNU"

#. type: TH
#: build/C/man3/netlink.3:4 build/C/man7/netlink.7:7
#: build/C/man3/rtnetlink.3:7 build/C/man7/rtnetlink.7:11
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"

#. type: SH
#: build/C/man3/netlink.3:5 build/C/man7/netlink.7:8
#: build/C/man3/rtnetlink.3:8 build/C/man7/rtnetlink.7:12
#, no-wrap
msgid "NAME"
msgstr "名前"

#. type: Plain text
#: build/C/man3/netlink.3:7
msgid "netlink - Netlink macros"
msgstr "netlink - netlink マクロ"

#. type: SH
#: build/C/man3/netlink.3:7 build/C/man7/netlink.7:10
#: build/C/man3/rtnetlink.3:10 build/C/man7/rtnetlink.7:14
#, 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:13
#, no-wrap
msgid "B<#include E<lt>asm/types.hE<gt>>\n"
msgstr "B<#include E<lt>asm/types.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/netlink.3:15
#, no-wrap
msgid "B<#include E<lt>linux/netlink.hE<gt>>\n"
msgstr "B<#include E<lt>linux/netlink.hE<gt>>\n"

#. type: Plain text
#: build/C/man3/netlink.3:17
#, no-wrap
msgid "B<int NLMSG_ALIGN(size_t >I<len>B<);>\n"
msgstr "B<int NLMSG_ALIGN(size_t >I<len>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:19
#, no-wrap
msgid "B<int NLMSG_LENGTH(size_t >I<len>B<);>\n"
msgstr "B<int NLMSG_LENGTH(size_t >I<len>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:21
#, no-wrap
msgid "B<int NLMSG_SPACE(size_t >I<len>B<);>\n"
msgstr "B<int NLMSG_SPACE(size_t >I<len>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:23
#, no-wrap
msgid "B<void *NLMSG_DATA(struct nlmsghdr *>I<nlh>B<);>\n"
msgstr "B<void *NLMSG_DATA(struct nlmsghdr *>I<nlh>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:25
#, no-wrap
msgid "B<struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
msgstr "B<struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:27
#, no-wrap
msgid "B<int NLMSG_OK(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
msgstr "B<int NLMSG_OK(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"

#. type: Plain text
#: build/C/man3/netlink.3:29
#, no-wrap
msgid "B<int NLMSG_PAYLOAD(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"
msgstr "B<int NLMSG_PAYLOAD(struct nlmsghdr *>I<nlh>B<, int >I<len>B<);>\n"

#. type: SH
#: build/C/man3/netlink.3:30 build/C/man7/netlink.7:18
#: build/C/man3/rtnetlink.3:34 build/C/man7/rtnetlink.7:24
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"

#. type: Plain text
#: build/C/man3/netlink.3:38
msgid ""
"I<E<lt>linux/netlink.hE<gt>> defines several standard macros to access or "
"create a netlink datagram.  They are similar in spirit to the macros defined "
"in B<cmsg>(3)  for auxiliary data.  The buffer passed to and from a netlink "
"socket should only be accessed using these macros."
msgstr ""
"I<E<lt>linux/netlink.hE<gt>> では、 netlink データグラムにアクセスしたり、こ"
"れを作成するための 標準マクロがいくつか定義されている。 これらは B<cmsg>(3)  "
"で定義されている補助データ (auxiliary data) 用のマクロと、 その精神において似"
"ているものである。 netlink ソケットに対してやりとりされるバッファには、 必ず"
"これらのマクロを使ってアクセスすべきである。"

#. type: TP
#: build/C/man3/netlink.3:38
#, no-wrap
msgid "B<NLMSG_ALIGN>()"
msgstr "B<NLMSG_ALIGN>"

#. type: Plain text
#: build/C/man3/netlink.3:41
msgid "Round the length of a netlink message up to align it properly."
msgstr "netlink メッセージの長さを丸めて正しく揃える。"

#. type: TP
#: build/C/man3/netlink.3:41
#, no-wrap
msgid "B<NLMSG_LENGTH>()"
msgstr "B<NLMSG_LENGTH>"

#. type: Plain text
#: build/C/man3/netlink.3:49
msgid ""
"Given the payload length, I<len>, this macro returns the aligned length to "
"store in the I<nlmsg_len> field of the I<nlmsghdr>."
msgstr ""
"格納領域 (payload) の長さ I<len> を引数にとり、 I<nlmsghdr> の I<nlmsg_len> "
"フィールドに代入できる 揃えられた長さ (aligned length) を返す。"

#. type: TP
#: build/C/man3/netlink.3:49
#, no-wrap
msgid "B<NLMSG_SPACE>()"
msgstr "B<NLMSG_SPACE>"

#. type: Plain text
#: build/C/man3/netlink.3:54
msgid ""
"Return the number of bytes that a netlink message with payload of I<len> "
"would occupy."
msgstr "ペイロードの長さが I<len> の netlink メッセージのバイト数を返す。"

#. type: TP
#: build/C/man3/netlink.3:54
#, no-wrap
msgid "B<NLMSG_DATA>()"
msgstr "B<NLMSG_DATA>"

#. type: Plain text
#: build/C/man3/netlink.3:58
msgid "Return a pointer to the payload associated with the passed I<nlmsghdr>."
msgstr "与えた I<nlmsghdr> に関連づけられた格納領域へのポインタを返す。"

#.  this is bizarre, maybe the interface should be fixed.
#. type: TP
#: build/C/man3/netlink.3:58
#, no-wrap
msgid "B<NLMSG_NEXT>()"
msgstr "B<NLMSG_NEXT>"

#. type: Plain text
#: build/C/man3/netlink.3:74
msgid ""
"Get the next I<nlmsghdr> in a multipart message.  The caller must check if "
"the current I<nlmsghdr> didn't have the B<NLMSG_DONE> set\\(emthis function "
"doesn't return NULL on end.  The I<len> 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> を入手する。これを呼び出すと"
"きには、 現在の nlmsghdr で NLMSG_DONE がセットされていないことを 確認しなけ"
"ればならない。この関数は終端で NULL を返さないからである。 I<len> 引数はメッ"
"セージバッファの残り長さが入った左辺値である。 このマクロはこの引数からメッ"
"セージヘッダの長さ分を差し引く。"

#. type: TP
#: build/C/man3/netlink.3:74
#, no-wrap
msgid "B<NLMSG_OK>()"
msgstr "B<NLMSG_OK>"

#. type: Plain text
#: build/C/man3/netlink.3:78
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:78
#, no-wrap
msgid "B<NLMSG_PAYLOAD>()"
msgstr "B<NLMSG_PAYLOAD>"

#. type: Plain text
#: build/C/man3/netlink.3:82
msgid "Return the length of the payload associated with the I<nlmsghdr>."
msgstr "I<nlmsghdr> に関連づけられた格納領域の長さを返す。"

#. type: SH
#: build/C/man3/netlink.3:82 build/C/man3/rtnetlink.3:78
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"

#. type: Plain text
#: build/C/man3/netlink.3:84 build/C/man3/rtnetlink.3:80
msgid "These macros are nonstandard Linux extensions."
msgstr "これらのマクロは非標準で、Linux での拡張である。"

#. type: SH
#: build/C/man3/netlink.3:84 build/C/man7/netlink.7:375
#, no-wrap
msgid "NOTES"
msgstr "注意"

#. type: Plain text
#: build/C/man3/netlink.3:88
msgid ""
"It is often better to use netlink via I<libnetlink> than via the low-level "
"kernel interface."
msgstr ""
"通常はカーネルの低レベルインターフェイスよりも、 I<libnetlink> 経由で "
"netlink を用いるほうが良い。"

#. type: SH
#: build/C/man3/netlink.3:88 build/C/man7/netlink.7:458
#: build/C/man3/rtnetlink.3:118 build/C/man7/rtnetlink.7:445
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"

#. type: Plain text
#: build/C/man3/netlink.3:90
msgid "B<netlink>(7)"
msgstr "B<netlink>(7)"

#. type: Plain text
#: build/C/man3/netlink.3:92
msgid "and ftp://ftp.inr.ac.ru/ip-routing/iproute2* for libnetlink"
msgstr "および libnetlink に関しては ftp://ftp.inr.ac.ru/ip-routing/iproute2*"

#. type: SH
#: build/C/man3/netlink.3:92 build/C/man7/netlink.7:471
#: build/C/man3/rtnetlink.3:122 build/C/man7/rtnetlink.7:450
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"

#. type: Plain text
#: build/C/man3/netlink.3:99 build/C/man7/netlink.7:478
#: build/C/man3/rtnetlink.3:129 build/C/man7/rtnetlink.7:457
msgid ""
"This page is part of release 3.40 of the Linux I<man-pages> 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<man-pages> プロジェクトのリリース 3.40 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"

#. type: TH
#: build/C/man7/netlink.7:7
#, no-wrap
msgid "2012-04-14"
msgstr "2012-04-14"

#. type: TH
#: build/C/man7/netlink.7:7 build/C/man7/rtnetlink.7:11
#, no-wrap
msgid "Linux"
msgstr "Linux"

#. type: Plain text
#: build/C/man7/netlink.7:10
msgid "netlink - Communication between kernel and userspace (AF_NETLINK)"
msgstr "netlink - カーネルとユーザー空間の通信 (AF_NETLINK)"

#. type: Plain text
#: build/C/man7/netlink.7:15
#, no-wrap
msgid ""
"B<#include E<lt>asm/types.hE<gt>>\n"
"B<#include E<lt>sys/socket.hE<gt>>\n"
"B<#include E<lt>linux/netlink.hE<gt>>\n"
msgstr ""
"B<#include E<lt>asm/types.hE<gt>>\n"
"B<#include E<lt>sys/socket.hE<gt>>\n"
"B<#include E<lt>linux/netlink.hE<gt>>\n"

#. type: Plain text
#: build/C/man7/netlink.7:17
#, no-wrap
msgid "B<netlink_socket = socket(AF_NETLINK, >I<socket_type>B<, >I<netlink_family>B<);>\n"
msgstr "B<netlink_socket = socket(AF_NETLINK, >I<socket_type>B<, >I<netlink_family>B<);>\n"

#. type: Plain text
#: build/C/man7/netlink.7:27
msgid ""
"Netlink is used to transfer information between kernel and userspace "
"processes.  It consists of a standard sockets-based interface for userspace "
"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 only provided for backward compatibility."
msgstr ""
"netlink はカーネルモジュールとユーザー空間のプロセス間で 情報をやりとりするた"
"めに用いられる。 netlink は、ユーザープロセスに対しては 標準的なソケットベー"
"スのインターフェースを、 カーネルモジュールにはカーネルの内部 API を提供す"
"る。 カーネル内部のインターフェースについてはこの man ページでは記述しない。 "
"また、netlink キャラクタデバイスを用いた obsolete な netlink インターフェース"
"もあるが、これもこの文書では解説しない。 これは単に過去互換性のために用意され"
"ているものにすぎない。"

#. type: Plain text
#: build/C/man7/netlink.7:37
msgid ""
"Netlink is a datagram-oriented service.  Both B<SOCK_RAW> and B<SOCK_DGRAM> "
"are valid values for I<socket_type>.  However, the netlink protocol does not "
"distinguish between datagram and raw sockets."
msgstr ""
"netlink はデータグラム指向のサービスである。 I<socket_type> には B<SOCK_RAW> "
"と B<SOCK_DGRAM> の両方とも指定可能である。 しかし netlink プロトコルはデータ"
"グラムと raw ソケットの区別をしない。"

#. type: Plain text
#: build/C/man7/netlink.7:41
msgid ""
"I<netlink_family> selects the kernel module or netlink group to communicate "
"with.  The currently assigned netlink families are:"
msgstr ""
"I<netlink_family> は、通信するカーネルモジュールや netlink グループの選択に用"
"いる。 現在割り当てられている netlink ファミリーは以下の通り。"

#. type: TP
#: build/C/man7/netlink.7:41
#, no-wrap
msgid "B<NETLINK_ROUTE>"
msgstr "B<NETLINK_ROUTE>"

#. type: Plain text
#: build/C/man7/netlink.7:48
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<rtnetlink>(7))."
msgstr ""
"ルーティングとリンクの更新を受信する。 (IPv4 と IPv6 両方の) ルーティングテー"
"ブル・ IP アドレス・リンクパラメータ・近傍設定 (neighbor setup)・ キューイン"
"グルール (queueing dicipline)・トラフィッククラス・ パケットのクラス分類の修"
"正に用いることができるだろう (B<rtnetlink>(7)  を見よ)。"

#. type: TP
#: build/C/man7/netlink.7:48
#, no-wrap
msgid "B<NETLINK_W1>"
msgstr "B<NETLINK_W1>"

#. type: Plain text
#: build/C/man7/netlink.7:51
msgid "Messages from 1-wire subsystem."
msgstr "単線 (1-wire) のサブシステムからのメッセージ。"

#. type: TP
#: build/C/man7/netlink.7:51
#, no-wrap
msgid "B<NETLINK_USERSOCK>"
msgstr "B<NETLINK_USERSOCK>"

#. type: Plain text
#: build/C/man7/netlink.7:54
msgid "Reserved for user-mode socket protocols."
msgstr "ユーザーモードソケットプロトコルのために予約されている。"

#. type: TP
#: build/C/man7/netlink.7:54
#, no-wrap
msgid "B<NETLINK_FIREWALL>"
msgstr "B<NETLINK_FIREWALL>"

#. type: Plain text
#: build/C/man7/netlink.7:60
msgid ""
"Transport IPv4 packets from netfilter to userspace.  Used by I<ip_queue> "
"kernel module."
msgstr ""
"IPv4 パケットを netfilter からユーザー空間へ転送する。 I<ip_queue> カーネルモ"
"ジュールで使用される。"

#. type: TP
#: build/C/man7/netlink.7:60
#, no-wrap
msgid "B<NETLINK_INET_DIAG>"
msgstr "B<NETLINK_INET_DIAG>"

#.  FIXME More details on NETLINK_INET_DIAG needed.
#. type: Plain text
#: build/C/man7/netlink.7:64
msgid "INET socket monitoring."
msgstr "INET ソケットをモニタリングする。"

#. type: TP
#: build/C/man7/netlink.7:64
#, no-wrap
msgid "B<NETLINK_NFLOG>"
msgstr "B<NETLINK_NFLOG>"

#. type: Plain text
#: build/C/man7/netlink.7:67
msgid "Netfilter/iptables ULOG."
msgstr "Netfilter/iptables ULOG."

#. type: TP
#: build/C/man7/netlink.7:67
#, no-wrap
msgid "B<NETLINK_XFRM>"
msgstr "B<NETLINK_XFRM>"

#.  FIXME More details on NETLINK_XFRM needed.
#. type: Plain text
#: build/C/man7/netlink.7:71
msgid "IPsec."
msgstr "IPsec."

#. type: TP
#: build/C/man7/netlink.7:71
#, no-wrap
msgid "B<NETLINK_SELINUX>"
msgstr "B<NETLINK_SELINUX>"

#. type: Plain text
#: build/C/man7/netlink.7:74
msgid "SELinux event notifications."
msgstr "SELinux のイベント通知。"

#. type: TP
#: build/C/man7/netlink.7:74
#, no-wrap
msgid "B<NETLINK_ISCSI>"
msgstr "B<NETLINK_ISCSI>"

#.  FIXME More details on NETLINK_ISCSI needed.
#. type: Plain text
#: build/C/man7/netlink.7:78
msgid "Open-iSCSI."
msgstr "Open-iSCSI."

#. type: TP
#: build/C/man7/netlink.7:78
#, no-wrap
msgid "B<NETLINK_AUDIT>"
msgstr "B<NETLINK_AUDIT>"

#.  FIXME More details on NETLINK_AUDIT needed.
#. type: Plain text
#: build/C/man7/netlink.7:82
msgid "Auditing."
msgstr "監査 (audit) を行う。"

#. type: TP
#: build/C/man7/netlink.7:82
#, no-wrap
msgid "B<NETLINK_FIB_LOOKUP>"
msgstr "B<NETLINK_FIB_LOOKUP>"

#.  FIXME More details on NETLINK_FIB_LOOKUP needed.
#. type: Plain text
#: build/C/man7/netlink.7:86
msgid "Access to FIB lookup from userspace."
msgstr "ユーザー空間から FIB ルックアップにアクセスする。"

#. type: TP
#: build/C/man7/netlink.7:86
#, no-wrap
msgid "B<NETLINK_CONNECTOR>"
msgstr "B<NETLINK_CONNECTOR>"

#. type: Plain text
#: build/C/man7/netlink.7:92
msgid ""
"Kernel connector.  See I<Documentation/connector/*> in the kernel source for "
"further information."
msgstr ""
"カーネルコネクタ。 より詳しい情報はカーネルソースの I<Documentation/"
"connector/*> を参照すること。"

#. type: TP
#: build/C/man7/netlink.7:92
#, no-wrap
msgid "B<NETLINK_NETFILTER>"
msgstr "B<NETLINK_NETFILTER>"

#.  FIXME More details on NETLINK_NETFILTER needed.
#. type: Plain text
#: build/C/man7/netlink.7:96
msgid "Netfilter subsystem."
msgstr "netfilter サブシステム。"

#. type: TP
#: build/C/man7/netlink.7:96
#, no-wrap
msgid "B<NETLINK_IP6_FW>"
msgstr "B<NETLINK_IP6_FW>"

#. type: Plain text
#: build/C/man7/netlink.7:102
msgid ""
"Transport IPv6 packets from netfilter to userspace.  Used by I<ip6_queue> "
"kernel module."
msgstr ""
"IPv6 パケットを netfilter からユーザー空間へ転送する。 I<ip6_queue> カーネル"
"モジュールで使用される。"

#. type: TP
#: build/C/man7/netlink.7:102
#, no-wrap
msgid "B<NETLINK_DNRTMSG>"
msgstr "B<NETLINK_DNRTMSG>"

#. type: Plain text
#: build/C/man7/netlink.7:105
msgid "DECnet routing messages."
msgstr "DECnet ルーティングメッセージ。"

#. type: TP
#: build/C/man7/netlink.7:105
#, no-wrap
msgid "B<NETLINK_KOBJECT_UEVENT>"
msgstr "B<NETLINK_KOBJECT_UEVENT>"

#.  FIXME More details on NETLINK_KOBJECT_UEVENT needed.
#. type: Plain text
#: build/C/man7/netlink.7:109
msgid "Kernel messages to userspace."
msgstr "ユーザー空間へのカーネルメッセージ"

#. type: TP
#: build/C/man7/netlink.7:109
#, no-wrap
msgid "B<NETLINK_GENERIC>"
msgstr "B<NETLINK_GENERIC>"

#. type: Plain text
#: build/C/man7/netlink.7:112
msgid "Generic netlink family for simplified netlink usage."
msgstr "netlink を簡単に使用するための一般的な netlink ファミリー。"

#. type: Plain text
#: build/C/man7/netlink.7:122
msgid ""
"Netlink messages consist of a byte stream with one or multiple I<nlmsghdr> "
"headers and associated payload.  The byte stream should only be accessed "
"with the standard B<NLMSG_*> macros.  See B<netlink>(3)  for further "
"information."
msgstr ""
"netlink メッセージはバイトストリームからなり、 一つ以上の I<nlmsghdr> ヘッダ"
"と、それに対応するペイロード (payload) が含まれる。 バイトストリームには、標"
"準の B<NLMSG_*> マクロによってのみアクセスすべきである。 より詳しい情報は "
"B<netlink>(3)  を見よ。"

#. type: Plain text
#: build/C/man7/netlink.7:130
msgid ""
"In multipart messages (multiple I<nlmsghdr> headers with associated payload "
"in one byte stream) the first and all following headers have the "
"B<NLM_F_MULTI> flag set, except for the last header which has the type "
"B<NLMSG_DONE>."
msgstr ""
"マルチパートメッセージ (一つ以上の I<nlmsghdr> ヘッダと、それに対応するペイ"
"ロードが 一つバイトストリームに含まれる) においては、 先頭のヘッダ・後続の"
"ヘッダには B<NLM_F_MULTI> フラグがセットされる。ただし最後のヘッダだけは例外"
"で、 B<NLMSG_DONE> タイプとなる。"

#. type: Plain text
#: build/C/man7/netlink.7:134
msgid "After each I<nlmsghdr> the payload follows."
msgstr "それぞれの B<nlmsghdr> の後にはペイロードが続く。"

#. type: Plain text
#: build/C/man7/netlink.7:144
#, 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;    /* PID of the sending process. */\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;    /* 送信プロセスの PID */\n"
"};\n"

#. type: Plain text
#: build/C/man7/netlink.7:157
msgid ""
"I<nlmsg_type> can be one of the standard message types: B<NLMSG_NOOP> "
"message is to be ignored, B<NLMSG_ERROR> message signals an error and the "
"payload contains an I<nlmsgerr> structure, B<NLMSG_DONE> message terminates "
"a multipart message."
msgstr ""
"I<nlmsg_type> は標準のメッセージタイプのどれか一つである: B<NLMSG_NOOP> メッ"
"セージは無視される。 B<NLMSG_ERROR> メッセージはエラーを示し、ペイロードには "
"I<nlmsgerr> 構造体が入る。 B<NLMSG_DONE> メッセージはマルチパートメッセージの"
"終了を伝える。"

#. type: Plain text
#: build/C/man7/netlink.7:164
#, 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:172
msgid ""
"A netlink family usually specifies more message types, see the appropriate "
"manual pages for that, for example, B<rtnetlink>(7)  for B<NETLINK_ROUTE>."
msgstr ""
"ある netlink ファミリーで指定できるメッセージタイプは、 通常もっと多い。これ"
"らに関しては適切な man ページを見てほしい。 たとえば B<NETLINK_ROUTE> に関し"
"ては B<rtnetlink>(7)  に書いてある。"

#. type: Plain text
#: build/C/man7/netlink.7:175
msgid "Standard flag bits in I<nlmsg_flags>"
msgstr "I<nlmsg_flags> の標準フラグビット"

#. type: Plain text
#: build/C/man7/netlink.7:177
msgid "---------------------------------"
msgstr "---------------------------------"

#. type: tbl table
#: build/C/man7/netlink.7:180
#, 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:181
#, no-wrap
msgid "NLM_F_MULTI:T{\n"
msgstr "NLM_F_MULTI:T{\n"

#. type: tbl table
#: build/C/man7/netlink.7:182
#, no-wrap
msgid "The message is part of a multipart message terminated by\n"
msgstr "このメッセージはマルチパートメッセージの一部である。\n"

#. type: tbl table
#: build/C/man7/netlink.7:183
#, no-wrap
msgid "B<NLMSG_DONE>.\n"
msgstr "マルチパートメッセージは B<NLMSG_DONE> で終端する。\n"

#. type: tbl table
#: build/C/man7/netlink.7:184 build/C/man7/netlink.7:199
#: build/C/man7/rtnetlink.7:208 build/C/man7/rtnetlink.7:211
#: build/C/man7/rtnetlink.7:220 build/C/man7/rtnetlink.7:230
#: build/C/man7/rtnetlink.7:253 build/C/man7/rtnetlink.7:273
#, no-wrap
msgid "T}\n"
msgstr "T}\n"

#. type: tbl table
#: build/C/man7/netlink.7:185
#, 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:186
#, no-wrap
msgid "NLM_F_ECHO:Echo this request.\n"
msgstr "NLM_F_ECHO:この要求をエコーする。\n"

#. type: Plain text
#: build/C/man7/netlink.7:190
msgid "Additional flag bits for GET requests"
msgstr "GET 要求における追加フラグビット"

#. type: Plain text
#: build/C/man7/netlink.7:192 build/C/man7/netlink.7:214
msgid "-------------------------------------"
msgstr "-------------------------------------"

#. type: tbl table
#: build/C/man7/netlink.7:195
#, 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:196
#, no-wrap
msgid "NLM_F_MATCH:T{\n"
msgstr "NLM_F_MATCH:T{\n"

#. type: tbl table
#: build/C/man7/netlink.7:197
#, no-wrap
msgid "Return all entries matching criteria passed in message content.\n"
msgstr "メッセージの内容で渡された基準 (criteria) にマッチする全てのエントリを返す。\n"

#. type: tbl table
#: build/C/man7/netlink.7:198
#, 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:201
#, 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:202
#, no-wrap
msgid "NLM_F_DUMP:Convenience macro; equivalent to (NLM_F_ROOT|NLM_F_MATCH).\n"
msgstr "NLM_F_DUMP:便利なマクロ。(NLM_F_ROOT|NLM_F_MATCH) と同じ。\n"

#. type: Plain text
#: build/C/man7/netlink.7:210
msgid ""
"Note that B<NLM_F_ATOMIC> requires the B<CAP_NET_ADMIN> capability or an "
"effective UID of 0."
msgstr ""
"B<NLM_F_ATOMIC> を使う場合は、 B<CAP_NET_ADMIN> 権限を持つか実効ユーザー ID "
"が 0 でなければならない点に注意すること。"

#. type: Plain text
#: build/C/man7/netlink.7:212
msgid "Additional flag bits for NEW requests"
msgstr "NEW 要求における追加フラグビット"

#. type: tbl table
#: build/C/man7/netlink.7:217
#, no-wrap
msgid "NLM_F_REPLACE:Replace existing matching object.\n"
msgstr "NLM_F_REPLACE:現存のオブジェクトを置換する。\n"

#. type: tbl table
#: build/C/man7/netlink.7:218
#, 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:219
#, 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:220
#, 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:236
msgid ""
"I<nlmsg_seq> and I<nlmsg_pid> are used to track messages.  I<nlmsg_pid> "
"shows the origin of the message.  Note that there isn't a 1:1 relationship "
"between I<nlmsg_pid> and the PID of the process if the message originated "
"from a netlink socket.  See the B<ADDRESS FORMATS> section for further "
"information."
msgstr ""
"I<nlmsg_seq> と I<nlmsg_pid> はメッセージの追跡に使用される。 I<nlmsg_pid> は"
"メッセージの送信元を表す。 メッセージが netlink ソケットで送信されている場"
"合、 I<nlmsg_pid> とプロセスの PID は 1:1 の関係ではない点に注意すること。 よ"
"り詳しい情報は、 「B<アドレスのフォーマット>」 のセクションを参照すること。"

#.  FIXME Explain more about nlmsg_seq and nlmsg_pid.
#. type: Plain text
#: build/C/man7/netlink.7:243
msgid "Both I<nlmsg_seq> and I<nlmsg_pid> are opaque to netlink core."
msgstr "I<nlmsg_seq> と I<nlmsg_pid> は netlink のコアには見えない (opaque)。"

#. type: Plain text
#: build/C/man7/netlink.7:261
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<NLM_F_ACK> flag.  An "
"acknowledgment is an B<NLMSG_ERROR> packet with the error field set to 0.  "
"The application must generate acknowledgements for received messages "
"itself.  The kernel tries to send an B<NLMSG_ERROR> message for every failed "
"packet.  A user process should follow this convention too."
msgstr ""
"netlink は信頼性の高いプロトコルではない。 netlink はメッセージを行き先に届け"
"るために最善を尽くすが、 メモリが足りなかったりエラーが起こったりすると メッ"
"セージを取りこぼすこともある。 信頼性の高い転送を行いたいときは、 送信者は受"
"信者に応答を要求することもできる。 これには B<NLM_F_ACK> フラグをセットす"
"る。 応答は B<NLMSG_ERROR> パケットのエラーフィールドを 0 にしたものになる。 "
"アプリケーションは自分自身のメッセージを受けたときには、 応答を生成しなければ"
"ならない。 カーネルは失敗したパケットに対して、 B<NLMSG_ERROR> メッセージを送"
"ろうとする。 ユーザープロセスはこの慣習にも従う必要がある。"

#. type: Plain text
#: build/C/man7/netlink.7:272
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 userspace 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<ENOBUFS> error returned by B<recvmsg>"
"(2))  and resynchronize."
msgstr ""
"しかし、どのような場合でもカーネルからユーザーへの 信頼性の高い転送は不可能で"
"ある。 ソケットバッファが満杯の場合、カーネルは netlink メッセージを送信でき"
"ない。 メッセージは取りこぼされて、カーネルとユーザー空間プロセスは、 カーネ"
"ルの状態についての同じビューを持つことができなくなる。 これが起こったこと "
"(B<recvmsg>(2)  によって B<ENOBUFS> エラーが返される) を検知して再び同期させ"
"るのは、 アプリケーションの責任である。"

#. type: SS
#: build/C/man7/netlink.7:272
#, no-wrap
msgid "Address Formats"
msgstr "アドレスのフォーマット"

#. type: Plain text
#: build/C/man7/netlink.7:282
msgid ""
"The I<sockaddr_nl> structure describes a netlink client in user space or in "
"the kernel.  A I<sockaddr_nl> can be either unicast (only sent to one peer) "
"or sent to netlink multicast groups (I<nl_groups> not equal 0)."
msgstr ""
"I<sockaddr_nl> 構造体はユーザー空間やカーネル空間で netlink クライアントを記"
"述する。 I<sockaddr_nl> はユニキャスト (単一の接続先にだけ送られる) にもでき"
"るし、 netlink マルチキャストグループ (I<nl_groups> が 0 でない場合) にも送る"
"ことができる。"

#. type: Plain text
#: build/C/man7/netlink.7:291
#, 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;     /* Process 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:322
msgid ""
"I<nl_pid> is the unicast address of netlink socket.  It's always 0 if the "
"destination is in the kernel.  For a userspace process, I<nl_pid> is usually "
"the PID of the process owning the destination socket.  However, I<nl_pid> "
"identifies a netlink socket, not a process.  If a process owns several "
"netlink sockets, then I<nl_pid> can only be equal to the process ID for at "
"most one socket.  There are two ways to assign I<nl_pid> to a netlink "
"socket.  If the application sets I<nl_pid> before calling B<bind>(2), then "
"it is up to the application to make sure that I<nl_pid> 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<nl_pid> to every netlink socket that the process "
"subsequently creates."
msgstr ""
"I<nl_pid> は netlink ソケットのユニキャストアドレスである。 行き先がカーネル"
"の場合は、常に 0 である。 ユーザー空間プロセスの場合、通常は I<nl_pid> は行き"
"先のソケットを所有しているプロセスの PID である。 ただし、 I<nl_pid> はプロセ"
"スではなく netlink ソケットを同定する。 プロセスが複数の netlink ソケットを所"
"有する場合、 I<nl_pid> は最大でも一つのソケットのプロセス ID としか等しくなら"
"ない。 I<nl_pid> を netlink ソケットに割り当てる方法は 2 つある。 アプリケー"
"ションが B<bind>(2)  を呼ぶ前に I<nl_pid> を設定する場合、 I<nl_pid> が一意で"
"あることを確認するのはアプリケーションの責任となる。 アプリケーションが "
"I<nl_pid> を 0 に設定した場合、カーネルがこの値を割り当てる。 カーネルはプロ"
"セスが最初にオープンした netlink ソケットに対してプロセス ID を割り当て、 そ"
"れ以降にプロセスが作成した全ての netlink ソケットにも一意な I<nl_pid> を割り"
"当てる。"

#. type: Plain text
#: build/C/man7/netlink.7:356
msgid ""
"I<nl_groups> is a bit mask with every bit representing a netlink group "
"number.  Each netlink family has a set of 32 multicast groups.  When B<bind>"
"(2)  is called on the socket, the I<nl_groups> field in the I<sockaddr_nl> "
"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<nl_groups> to a bit mask of the groups it wishes to send to when "
"it calls B<sendmsg>(2)  or does a B<connect>(2).  Only processes with an "
"effective UID of 0 or the B<CAP_NET_ADMIN> capability may send or listen to "
"a netlink multicast group.  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<NETLINK_KOBJECT_UEVENT>, B<NETLINK_GENERIC>, B<NETLINK_ROUTE>, and "
"B<NETLINK_SELINUX> groups allow other users to receive messages.  No groups "
"allow other users to send messages."
msgstr ""
"I<nl_groups> はビットマスクで、すべてのビットが netlink グループ番号を表"
"す。\n"
"それぞれの netlink ファミリーは 32 のマルチキャストグループのセットを持つ。\n"
"それぞれの netlink ファミリーは 32 のマルチキャストグループの セットを持"
"つ。\n"
"B<bind>(2) がソケットに対して呼ばれると、 I<sockaddr_nl> の I<nl_groups> \n"
"フィールドには listen したいグループのビットマスクがセットされる。\n"
"デフォルトの値は 0 で、マルチキャストを一切受信しない。\n"
"B<sendmsg>(2) や B<connect>(2) によって、あるソケットからメッセージを\n"
"マルチキャストしたいときは、 I<nl_groups> に送信したいグループのビットマス"
"ク\n"
"をセットすればよい。\n"
"実効ユーザー ID が 0 か、 B<CAP_NET_ADMIN> 権限を持つユーザーのみが netlink\n"
"マルチキャストグループに 送信したり、これを listen したりすることができる。\n"
"マルチキャストグループ向けメッセージを受信した場合、これ対する応答は\n"
"送り主の PID とマルチキャストグループとに送り返すべきである。\n"
"さらに、Linux のカーネルサブシステムによっては、\n"
"他のユーザもメッセージの送受信ができる場合がある。\n"
"Linux 3.0 の時点では、\n"
"B<NETLINK_KOBJECT_UEVENT>, B<NETLINK_GENERIC>, B<NETLINK_ROUTE>,\n"
"B<NETLINK_SELINUX> グループでは他のユーザがメッセージを受信することができ"
"る。\n"
"他のユーザがメッセージを送信できるグループは存在しない。"

#. type: SH
#: build/C/man7/netlink.7:356 build/C/man7/rtnetlink.7:440
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"

#. type: Plain text
#: build/C/man7/netlink.7:358
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:362
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:364
msgid "NETLINK_SELINUX appeared in Linux 2.6.4."
msgstr "NETLINK_SELINUX は Linux 2.6.4 で登場した。"

#. type: Plain text
#: build/C/man7/netlink.7:366
msgid "NETLINK_AUDIT appeared in Linux 2.6.6."
msgstr "NETLINK_AUDIT は Linux 2.6.6 で登場した。"

#. type: Plain text
#: build/C/man7/netlink.7:368
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:370
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:373
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:375
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:381
msgid ""
"It is often better to use netlink via I<libnetlink> or I<libnl> than via the "
"low-level kernel interface."
msgstr ""
"低レベルのカーネルインターフェースより、 I<libnetlink> または I<libnl> を通し"
"て netlink を利用するほうが良いことが多い。"

#. type: SH
#: build/C/man7/netlink.7:381 build/C/man3/rtnetlink.3:80
#: build/C/man7/rtnetlink.7:443
#, no-wrap
msgid "BUGS"
msgstr "バグ"

#. type: Plain text
#: build/C/man7/netlink.7:383
msgid "This manual page is not complete."
msgstr "この man ページは完成していない。"

#. type: SH
#: build/C/man7/netlink.7:383 build/C/man3/rtnetlink.3:82
#, no-wrap
msgid "EXAMPLE"
msgstr "例"

#. type: Plain text
#: build/C/man7/netlink.7:391
msgid ""
"The following example creates a B<NETLINK_ROUTE> netlink socket which will "
"listen to the B<RTMGRP_LINK> (network interface create/delete/up/down "
"events) and B<RTMGRP_IPV4_IFADDR> (IPv4 addresses add/delete events) "
"multicast groups."
msgstr ""
"以下の例では、 B<RTMGRP_LINK> (ネットワークインターフェースの create/delete/"
"up/down イベント) と B<RTMGRP_IPV4_IFADDR> (IPv4 アドレスの add/delete イベン"
"ト) マルチキャストグループを listen する B<NETLINK_ROUTE> netlink を作成して"
"いる。"

#. type: Plain text
#: build/C/man7/netlink.7:395
#, no-wrap
msgid "struct sockaddr_nl sa;\n"
msgstr "struct sockaddr_nl sa;\n"

#. type: Plain text
#: build/C/man7/netlink.7:399
#, 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:402
#, 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:409
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:416
#, no-wrap
msgid ""
"struct nlmsghdr *nh;    /* The nlmsghdr with payload to send. */\n"
"struct sockaddr_nl sa;\n"
"struct iovec iov = { (void *) nh, nh-E<gt>nlmsg_len };\n"
"struct msghdr msg;\n"
msgstr ""
"struct nlmsghdr *nh;    /* 送信する nlmsghdr とペイロード */\n"
"struct sockaddr_nl sa;\n"
"struct iovec iov = { (void *) nh, nh-E<gt>nlmsg_len };\n"
"struct msghdr msg;\n"

#. type: Plain text
#: build/C/man7/netlink.7:424
#, no-wrap
msgid ""
"msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
"memset(&sa, 0, sizeof(sa));\n"
"sa.nl_family = AF_NETLINK;\n"
"nh-E<gt>nlmsg_pid = 0;\n"
"nh-E<gt>nlmsg_seq = ++sequence_number;\n"
"/* Request an ack from kernel by setting NLM_F_ACK. */\n"
"nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
msgstr ""
"msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
"memset(&sa, 0, sizeof(sa));\n"
"sa.nl_family = AF_NETLINK;\n"
"nh-E<gt>nlmsg_pid = 0;\n"
"nh-E<gt>nlmsg_seq = ++sequence_number;\n"
"/* NLM_F_ACK を設定することで、カーネルに応答を要求する */\n"
"nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"

#. type: Plain text
#: build/C/man7/netlink.7:426
#, no-wrap
msgid "sendmsg(fd, &msg, 0);\n"
msgstr "sendmsg(fd, &msg, 0);\n"

#. type: Plain text
#: build/C/man7/netlink.7:430
msgid "And the last example is about reading netlink message."
msgstr "最後は、netlink メッセージの読み込みの例である。"

#. type: Plain text
#: build/C/man7/netlink.7:439
#, 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:442
#, no-wrap
msgid ""
"msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
"len = recvmsg(fd, &msg, 0);\n"
msgstr ""
"msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
"len = recvmsg(fd, &msg, 0);\n"

#. type: Plain text
#: build/C/man7/netlink.7:448
#, 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-E<gt>nlmsg_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-E<gt>nlmsg_type == NLMSG_DONE)\n"
"        return;\n"

#. type: Plain text
#: build/C/man7/netlink.7:452
#, no-wrap
msgid ""
"    if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
"        /* Do some error handling. */\n"
"    ...\n"
msgstr ""
"    if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
"        /* 何らかのエラー処理を行う */\n"
"    ...\n"

#. type: Plain text
#: build/C/man7/netlink.7:456
#, no-wrap
msgid ""
"    /* Continue with parsing payload. */\n"
"    ...\n"
"}\n"
msgstr ""
"    /* ペイロードの解析を続ける */\n"
"    ...\n"
"}\n"

#. type: Plain text
#: build/C/man7/netlink.7:463
msgid "B<cmsg>(3), B<netlink>(3), B<capabilities>(7), B<rtnetlink>(7)"
msgstr "B<cmsg>(3), B<netlink>(3), B<capabilities>(7), B<rtnetlink>(7)"

#. type: Plain text
#: build/C/man7/netlink.7:466
msgid ""
"ftp://ftp.inr.ac.ru/ip-routing/iproute2* for information about libnetlink."
msgstr "libnetlink に関する情報は ftp://ftp.inr.ac.ru/ip-routing/iproute2*"

#. type: Plain text
#: build/C/man7/netlink.7:469
msgid "http://people.suug.ch/~tgr/libnl/ for information about libnl."
msgstr "libnl に関する情報は http://people.suug.ch/~tgr/libnl/"

#. type: Plain text
#: build/C/man7/netlink.7:471
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:7 build/C/man7/rtnetlink.7:11
#, no-wrap
msgid "RTNETLINK"
msgstr "RTNETLINK"

#. type: TH
#: build/C/man3/rtnetlink.3:7
#, no-wrap
msgid "2012-03-24"
msgstr "2012-03-24"

#. type: Plain text
#: build/C/man3/rtnetlink.3:10
msgid "rtnetlink - macros to manipulate rtnetlink messages"
msgstr "rtnetlink - rtnetlink メッセージを操作するマクロ"

#. type: Plain text
#: build/C/man3/rtnetlink.3:12 build/C/man7/rtnetlink.7:16
msgid "B<#include E<lt>asm/types.hE<gt>>"
msgstr "B<#include E<lt>asm/types.hE<gt>>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:14 build/C/man7/rtnetlink.7:18
msgid "B<#include E<lt>linux/netlink.hE<gt>>"
msgstr "B<#include E<lt>linux/netlink.hE<gt>>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:16 build/C/man7/rtnetlink.7:20
msgid "B<#include E<lt>linux/rtnetlink.hE<gt>>"
msgstr "B<#include E<lt>linux/rtnetlink.hE<gt>>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:18 build/C/man7/rtnetlink.7:22
msgid "B<#include E<lt>sys/socket.hE<gt>>"
msgstr "B<#include E<lt>sys/socket.hE<gt>>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:21 build/C/man7/rtnetlink.7:24
msgid ""
"B<rtnetlink_socket = socket(AF_NETLINK, int >I<socket_type>B<, "
"NETLINK_ROUTE);>"
msgstr ""
"B<rtnetlink_socket = socket(AF_NETLINK, int >I<socket_type>B<, "
"NETLINK_ROUTE);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:23
msgid "B<int RTA_OK(struct rtattr *>I<rta>B<, int >I<rtabuflen>B<);>"
msgstr "B<int RTA_OK(struct rtattr *>I<rta>B<, int >I<rtabuflen>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:25
msgid "B<void *RTA_DATA(struct rtattr *>I<rta>B<);>"
msgstr "B<void *RTA_DATA(struct rtattr *>I<rta>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:27
msgid "B<unsigned int RTA_PAYLOAD(struct rtattr *>I<rta>B<);>"
msgstr "B<unsigned int RTA_PAYLOAD(struct rtattr *>I<rta>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:30
msgid ""
"B<struct rtattr *RTA_NEXT(struct rtattr *>I<rta>B<, unsigned int "
">I<rtabuflen>B<);>"
msgstr ""
"B<struct rtattr *RTA_NEXT(struct rtattr *>I<rta>B<, unsigned int "
">I<rtabuflen>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:32
msgid "B<unsigned int RTA_LENGTH(unsigned int >I<length>B<);>"
msgstr "B<unsigned int RTA_LENGTH(unsigned int >I<length>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:34
msgid "B<unsigned int RTA_SPACE(unsigned int >I<length>B<);>"
msgstr "B<unsigned int RTA_SPACE(unsigned int >I<length>B<);>"

#. type: Plain text
#: build/C/man3/rtnetlink.3:42
msgid ""
"All B<rtnetlink>(7)  messages consist of a B<netlink>(7)  message header and "
"appended attributes.  The attributes should be only manipulated using the "
"macros provided here."
msgstr ""
"全ての B<rtnetlink>(7)  メッセージは B<netlink>(7)  メッセージヘッダと追加属"
"性からなる。 属性の操作は、必ずここに挙げたマクロを通して行うべきである。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:53
msgid ""
"B<RTA_OK(>I<rta>B<, >I<attrlen>B<)> returns true if I<rta> points to a valid "
"routing attribute; I<attrlen> 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<attrlen> is nonzero."
msgstr ""
"B<RTA_OK(>I<rta>B<, >I<attrlen>B<)> は I<rta> が有効なルーティング属性へのポ"
"インタであれば真を返す。 I<attrlen> は属性バッファの実働時の長さ (running "
"length) である。 真でなければ、例え I<attrlen> がゼロでなくても、 メッセージ"
"中にはもうそれ以上属性は無いと考えなければならない。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:56
msgid ""
"B<RTA_DATA(>I<rta>B<)> returns a pointer to the start of this attribute's "
"data."
msgstr "B<RTA_DATA(>I<rta>B<)> はこの属性データの先頭へのポインタを返す。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:59
msgid "B<RTA_PAYLOAD(>I<rta>B<)> returns the length of this attribute's data."
msgstr "B<RTA_PAYLOAD(>I<rta>B<)> はこの属性データの長さを返す。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:68
msgid ""
"B<RTA_NEXT(>I<rta>B<, >I<attrlen>B<)> gets the next attribute after I<rta>.  "
"Calling this macro will update I<attrlen>.  You should use B<RTA_OK> to "
"check the validity of the returned pointer."
msgstr ""
"B<RTA_NEXT(>I<rta>B<, >I<attrlen>B<)> は I<rta> の次にある属性を取得する。 こ"
"のマクロを呼ぶと I<attrlen> が更新される。 B<RTA_OK> を使って、返されたポイン"
"タが正しいかをチェックすべきである。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:73
msgid ""
"B<RTA_LENGTH(>I<len>B<)> returns the length which is required for I<len> "
"bytes of data plus the header."
msgstr ""
"B<RTA_LENGTH(>I<len>B<)> は I<len> バイトのデータ + ヘッダに必要な長さを返"
"す。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:78
msgid ""
"B<RTA_SPACE(>I<len>B<)> returns the amount of space which will be needed in "
"a message with I<len> bytes of data."
msgstr ""
"B<RTA_SPACE(>I<len>B<)> は I<len> バイトのデータを持つメッセージに必要とされ"
"る容量を返す。"

#. type: Plain text
#: build/C/man3/rtnetlink.3:82 build/C/man7/rtnetlink.7:445
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:86
msgid "Creating a rtnetlink message to set the MTU of a device:"
msgstr "デバイスの MTU をセットする rtnetlink メッセージを生成する"

#. type: Plain text
#: build/C/man3/rtnetlink.3:88
#, no-wrap
msgid "    #include E<lt>linux/rtnetlink.hE<gt>\n"
msgstr "    #include E<lt>linux/rtnetlink.hE<gt>\n"

#. type: Plain text
#: build/C/man3/rtnetlink.3:90
#, no-wrap
msgid "    ...\n"
msgstr "    ...\n"

#. type: Plain text
#: build/C/man3/rtnetlink.3:96
#, 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:99
#, 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:101
#, 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:117
#, 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-E<gt>rta_type = IFLA_MTU;\n"
"    rta-E<gt>rta_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-E<gt>rta_type = IFLA_MTU;\n"
"    rta-E<gt>rta_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:122
msgid "B<netlink>(3), B<netlink>(7), B<rtnetlink>(7)"
msgstr "B<netlink>(3), B<netlink>(7), B<rtnetlink>(7)"

#. type: TH
#: build/C/man7/rtnetlink.7:11
#, no-wrap
msgid "2008-08-08"
msgstr "2008-08-08"

#. type: Plain text
#: build/C/man7/rtnetlink.7:14
msgid "rtnetlink, NETLINK_ROUTE - Linux IPv4 routing socket"
msgstr "rtnetlink, NETLINK_ROUTE - Linux IPv4 ルーティングソケット"

#.  FIXME ? all these macros could be moved to rtnetlink(3)
#. type: Plain text
#: build/C/man7/rtnetlink.7:38
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<NETLINK_ROUTE> sockets.  It is based on netlink "
"messages; see B<netlink>(7)  for more information."
msgstr ""
"B<rtnetlink> はカーネルのルーティングテーブルを読んだり変更したり するための"
"ものである。これはカーネルが内部のサブシステムと 通信するためにも用いられてい"
"るが、それはここでは記述しない。 この man ページではユーザー空間のプログラム"
"との通信に関してのみ述べる。 ネットワーク経路・IP アドレス・リンクパラメー"
"タ・ 近傍設定 (neighbor setup)・キューイングルール (queueing dicipline)・ ト"
"ラフィッククラス・パケットのクラス分類などが、すべて B<NETLINK_ROUTE> ソケッ"
"トを通して制御できる。 B<rtnetlink> は netlink メッセージをベースにしている。"
"詳細は B<netlink>(7)  を見ること。"

#. type: SS
#: build/C/man7/rtnetlink.7:38
#, no-wrap
msgid "Routing Attributes"
msgstr "ルーティング属性"

#. type: Plain text
#: build/C/man7/rtnetlink.7:40
msgid ""
"Some rtnetlink messages have optional attributes after the initial header:"
msgstr ""
"rtnetlink メッセージには、初期ヘッダの後に付加的な属性を 持つものがある。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:48
#, 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:54
msgid ""
"These attributes should be only manipulated using the RTA_* macros or "
"libnetlink, see B<rtnetlink>(3)."
msgstr ""
"これらの属性の操作は、 RTA_* マクロか libnetlink を通してのみ 行うべきであ"
"る。 B<rtnetlink>(3)  を見よ。"

#. type: SS
#: build/C/man7/rtnetlink.7:54
#, no-wrap
msgid "Messages"
msgstr "メッセージ"

#. type: Plain text
#: build/C/man7/rtnetlink.7:57
msgid ""
"Rtnetlink consists of these message types (in addition to standard netlink "
"messages):"
msgstr ""
"rtnetlink は (標準的な netlink メッセージに加えて)  以下のメッセージタイプか"
"ら構成される。"

#. type: TP
#: build/C/man7/rtnetlink.7:57
#, no-wrap
msgid "B<RTM_NEWLINK>, B<RTM_DELLINK>, B<RTM_GETLINK>"
msgstr "B<RTM_NEWLINK>, B<RTM_DELLINK>, B<RTM_GETLINK>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:65
msgid ""
"Create, remove or get information about a specific network interface.  These "
"messages contain an I<ifinfomsg> structure followed by a series of I<rtattr> "
"structures."
msgstr ""
"指定したネットワークインターフェースの情報を、生成・削除・取得する。 これらの"
"メッセージは I<ifinfomsg> 構造体と、それに続いていくつかの I<rtattr> 構造体を"
"伴う。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:74
#, 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:84
msgid ""
"I<ifi_flags> contains the device flags, see B<netdevice>(7); I<ifi_index> is "
"the unique interface index, I<ifi_change> is reserved for future use and "
"should be always set to 0xFFFFFFFF."
msgstr ""
"I<ifi_flags> はデバイスのフラグである。 B<netdevice>(7)  を見よ。 "
"I<ifi_index> は他と重ならないインターフェースの index である。 I<ifi_change> "
"は将来の利用のために予約されており、常に 0xFFFFFFFF にセットすべきである。"

#. type: tbl table
#: build/C/man7/rtnetlink.7:88
#, no-wrap
msgid "Routing attributes\n"
msgstr "ルーティング属性\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:89 build/C/man7/rtnetlink.7:151
#: build/C/man7/rtnetlink.7:298
#, no-wrap
msgid "rta_type:value type:description\n"
msgstr "rta_type:値の型:説明\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:90 build/C/man7/rtnetlink.7:152
#: build/C/man7/rtnetlink.7:202 build/C/man7/rtnetlink.7:226
#: build/C/man7/rtnetlink.7:299 build/C/man7/rtnetlink.7:417
#, no-wrap
msgid "_\n"
msgstr "_\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:91
#, no-wrap
msgid "IFLA_UNSPEC:-:unspecified.\n"
msgstr "IFLA_UNSPEC:-:指定されていない。\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:92
#, 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:93
#, 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:94
#, no-wrap
msgid "IFLA_IFNAME:asciiz string:Device name.\n"
msgstr "IFLA_IFNAME:asciiz string:デバイス名\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:95
#, 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:96
#, no-wrap
msgid "IFLA_LINK:int:Link type.\n"
msgstr "IFLA_LINK:int:リンクタイプ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:97
#, no-wrap
msgid "IFLA_QDISC:asciiz string:Queueing discipline.\n"
msgstr "IFLA_QDISC:asciiz string:キューイングのルール\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:98
#, no-wrap
msgid "IFLA_STATS:T{\n"
msgstr "IFLA_STATS:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:99
#, no-wrap
msgid "see below\n"
msgstr "下記参照\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:100
#, no-wrap
msgid "T}:Interface Statistics.\n"
msgstr "T}:インターフェースの統計\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:104
msgid "The value type for IFLA_STATS is I<struct net_device_stats>."
msgstr "IFLA_STATS の値の型は I<struct net_device_stats> である。"

#. type: TP
#: build/C/man7/rtnetlink.7:104
#, no-wrap
msgid "B<RTM_NEWADDR>, B<RTM_DELADDR>, B<RTM_GETADDR>"
msgstr "B<RTM_NEWADDR>, B<RTM_DELADDR>, B<RTM_GETADDR>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:117
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<ifaddrmsg> structure, "
"optionally followed by I<rtattr> routing attributes."
msgstr ""
"インターフェースの IP アドレスの情報を追加・削除・取得する。 Linux 2.2 では、"
"一つのインターフェースに複数の IP アドレスを 保持させることができ、これは "
"2.0 の別名デバイスの概念を置き換える。 Linux 2.2 では、これらのメッセージは "
"IPv4 と IPv6 の両方のアドレスをサポートしている。 これらは I<ifaddrmsg> 構造"
"体を伴う。そのあとに I<rtattr> ルーティング属性が続くこともある。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:126
#, 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:146
msgid ""
"I<ifa_family> is the address family type (currently B<AF_INET> or "
"B<AF_INET6>), I<ifa_prefixlen> is the length of the address mask of the "
"address if defined for the family (like for IPv4), I<ifa_scope> is the "
"address scope, I<ifa_index> is the interface index of the interface the "
"address is associated with.  I<ifa_flags> is a flag word of "
"B<IFA_F_SECONDARY> for secondary address (old alias interface), "
"B<IFA_F_PERMANENT> for a permanent address set by the user and other "
"undocumented flags."
msgstr ""
"I<ifa_family> はアドレスファミリーのタイプである (現在は B<AF_INET> または "
"B<AF_INET6>)。 I<ifa_prefixlen> はアドレスのアドレスマスクの長さである (IPv4 "
"のように、 そのファミリーで定義されている場合)。 I<ifa_scope> はアドレスのス"
"コープである。 I<ifa_index> はアドレスが関連づけられているインターフェースの "
"index である。 I<ifa_flags> はフラグワードで、 二つめのアドレス (古い別名イン"
"ターフェース) の場合は B<IFA_F_SECONDARY> に、永続的なアドレスの場合は "
"B<IFA_F_PERMANENT> に適用される。ユーザーによってセットされるフラグと、 "
"undocumented なフラグがある。"

#. type: tbl table
#: build/C/man7/rtnetlink.7:150 build/C/man7/rtnetlink.7:297
#: build/C/man7/rtnetlink.7:415
#, no-wrap
msgid "Attributes\n"
msgstr "属性\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:153
#, no-wrap
msgid "IFA_UNSPEC:-:unspecified.\n"
msgstr "IFA_UNSPEC:-:指定されていない\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:154
#, 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:155
#, 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:156
#, 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:157
#, 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:158
#, 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:159
#, 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:162
#, no-wrap
msgid "B<RTM_NEWROUTE>, B<RTM_DELROUTE>, B<RTM_GETROUTE>"
msgstr "B<RTM_NEWROUTE>, B<RTM_DELROUTE>, B<RTM_GETROUTE>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:182
msgid ""
"Create, remove or receive information about a network route.  These messages "
"contain an I<rtmsg> structure with an optional sequence of I<rtattr> "
"structures following.  For B<RTM_GETROUTE>, setting I<rtm_dst_len> and "
"I<rtm_src_len> to 0 means you get all entries for the specified routing "
"table.  For the other fields, except I<rtm_table> and I<rtm_protocol>, 0 is "
"the wildcard."
msgstr ""
"ネットワーク経路の情報を生成・削除・取得する。 これらのメッセージは I<rtmsg> "
"構造体を伴う。そのあとにいくつかの I<rtattr> 構造体を続けることもできる。 "
"B<RTM_GETROUTE> で I<rtm_dst_len> と I<rtm_src_len> に 0 をセットすると、 指"
"定されたルーティングテーブルの全てのエントリを所得する。 I<rtm_table> と "
"I<rtm_protocol> 以外の他のフィールドに 0 を入れると、ワイルドカードを意味す"
"る。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:189
#, 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:194
#, 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:197
#, no-wrap
msgid ""
"    unsigned int  rtm_flags;\n"
"};\n"
msgstr ""
"    unsigned int  rtm_flags;\n"
"};\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:201
#, no-wrap
msgid "rtm_type:Route type\n"
msgstr "rtm_type:経路のタイプ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:203
#, no-wrap
msgid "RTN_UNSPEC:unknown route\n"
msgstr "RTN_UNSPEC:未知の経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:204
#, no-wrap
msgid "RTN_UNICAST:a gateway or direct route\n"
msgstr "RTN_UNICAST:ゲートウェイまたはダイレクトな経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:205
#, no-wrap
msgid "RTN_LOCAL:a local interface route\n"
msgstr "RTN_LOCAL:ローカルインターフェースの経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:206
#, no-wrap
msgid "RTN_BROADCAST:T{\n"
msgstr "RTN_BROADCAST:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:207
#, no-wrap
msgid "a local broadcast route (sent as a broadcast)\n"
msgstr "ローカルなブロードキャスト経路 (ブロードキャストとして送信される)\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:209
#, no-wrap
msgid "RTN_ANYCAST:T{\n"
msgstr "RTN_ANYCAST:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:210
#, no-wrap
msgid "a local broadcast route (sent as a unicast)\n"
msgstr "ローカルなブロードキャスト経路 (ユニキャストとして送信される)\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:212
#, no-wrap
msgid "RTN_MULTICAST:a multicast route\n"
msgstr "RTN_MULTICAST:マルチキャスト経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:213
#, no-wrap
msgid "RTN_BLACKHOLE:a packet dropping route\n"
msgstr "RTN_BLACKHOLE:パケットを捨てる経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:214
#, no-wrap
msgid "RTN_UNREACHABLE:an unreachable destination\n"
msgstr "RTN_UNREACHABLE:到達できない行き先\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:215
#, no-wrap
msgid "RTN_PROHIBIT:a packet rejection route\n"
msgstr "RTN_PROHIBIT:パケットを拒否する経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:216
#, no-wrap
msgid "RTN_THROW:continue routing lookup in another table\n"
msgstr "RTN_THROW:経路探索を別のテーブルで継続\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:217
#, no-wrap
msgid "RTN_NAT:a network address translation rule\n"
msgstr "RTN_NAT:ネットワークアドレスの変換ルール\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:218
#, no-wrap
msgid "RTN_XRESOLVE:T{\n"
msgstr "RTN_XRESOLVE:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:219
#, no-wrap
msgid "refer to an external resolver (not implemented)\n"
msgstr "外部レゾルバを参照 (実装されていない)\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:225
#, no-wrap
msgid "rtm_protocol:Route origin.\n"
msgstr "rtm_protocol:経路の情報源\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:227
#, no-wrap
msgid "RTPROT_UNSPEC:unknown\n"
msgstr "RTPROT_UNSPEC:不明\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:228
#, no-wrap
msgid "RTPROT_REDIRECT:T{\n"
msgstr "RTPROT_REDIRECT:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:229
#, no-wrap
msgid "by an ICMP redirect (currently unused)\n"
msgstr "ICMP リダイレクトによる (現在は用いられない)\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:231
#, no-wrap
msgid "RTPROT_KERNEL:by the kernel\n"
msgstr "RTPROT_KERNEL:カーネルによる\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:232
#, no-wrap
msgid "RTPROT_BOOT:during boot\n"
msgstr "RTPROT_BOOT:ブート時\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:233
#, no-wrap
msgid "RTPROT_STATIC:by the administrator\n"
msgstr "RTPROT_STATIC:管理者による\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:244
msgid ""
"Values larger than B<RTPROT_STATIC> 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 "
"I<E<lt>linux/rtnetlink.hE<gt>> for the routing daemon identifiers which are "
"already assigned."
msgstr ""
"B<RTPROT_STATIC> よりも大きな値はカーネルによって解釈されない。これは 単なる"
"ユーザーへの情報である。これらは経路情報の情報源を タグ付けしたり、複数のルー"
"ティングデーモンからの情報を 区別するために用いることができる。 既に割り当て"
"られているルーティングデーモンの識別子については I<E<lt>linux/rtnetlink."
"hE<gt>> を見よ。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:247
msgid "I<rtm_scope> is the distance to the destination:"
msgstr "I<rtm_scope> は行き先への距離である。"

#. type: tbl table
#: build/C/man7/rtnetlink.7:250
#, no-wrap
msgid "RT_SCOPE_UNIVERSE:global route\n"
msgstr "RT_SCOPE_UNIVERSE:グローバルな経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:251
#, no-wrap
msgid "RT_SCOPE_SITE:T{\n"
msgstr "RT_SCOPE_SITE:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:252
#, no-wrap
msgid "interior route in the local autonomous system\n"
msgstr "ローカルな自律システムにおける内部経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:254
#, no-wrap
msgid "RT_SCOPE_LINK:route on this link\n"
msgstr "RT_SCOPE_LINK:このリンク上の経路\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:255
#, 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:256
#, no-wrap
msgid "RT_SCOPE_NOWHERE:destination doesn't exist\n"
msgstr "RT_SCOPE_NOWHERE:行き先が存在しない\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:264
msgid ""
"The values between B<RT_SCOPE_UNIVERSE> and B<RT_SCOPE_SITE> are available "
"to the user."
msgstr ""
"ユーザーは B<RT_SCOPE_UNIVERSE> と B<RT_SCOPE_SITE> の間の値を用いることがで"
"きる。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:268
msgid "The I<rtm_flags> have the following meanings:"
msgstr "I<rtm_flags> は以下の意味を持つ:"

#. type: tbl table
#: build/C/man7/rtnetlink.7:271
#, no-wrap
msgid "RTM_F_NOTIFY:T{\n"
msgstr "RTM_F_NOTIFY:T{\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:272
#, no-wrap
msgid "if the route changes, notify the user via rtnetlink\n"
msgstr "経路が変更されると、 rtnetlink を通してユーザーに通知が行く。\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:274
#, 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:275
#, 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:280
msgid "I<rtm_table> specifies the routing table"
msgstr "I<rtm_table> ではルーティングテーブルを指定する。"

#. type: tbl table
#: build/C/man7/rtnetlink.7:283
#, no-wrap
msgid "RT_TABLE_UNSPEC:an unspecified routing table\n"
msgstr "RT_TABLE_UNSPEC:指定されていないルーティングテーブル\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:284
#, no-wrap
msgid "RT_TABLE_DEFAULT:the default table\n"
msgstr "RT_TABLE_DEFAULT:デフォルトのテーブル\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:285
#, no-wrap
msgid "RT_TABLE_MAIN:the main table\n"
msgstr "RT_TABLE_MAIN:メインのテーブル\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:286
#, no-wrap
msgid "RT_TABLE_LOCAL:the local table\n"
msgstr "RT_TABLE_LOCAL:ローカルテーブル\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:293
msgid ""
"The user may assign arbitrary values between B<RT_TABLE_UNSPEC> and "
"B<RT_TABLE_DEFAULT>."
msgstr ""
"ユーザーは B<RT_TABLE_UNSPEC> と B<RT_TABLE_DEFAULT>.  の間の任意の値を用いる"
"ことができる。"

#. type: tbl table
#: build/C/man7/rtnetlink.7:300
#, no-wrap
msgid "RTA_UNSPEC:-:ignored.\n"
msgstr "RTA_UNSPEC:-:無視される\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:301
#, 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:302
#, 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:303
#, no-wrap
msgid "RTA_IIF:int:Input interface index.\n"
msgstr "RTA_IIF:int:入力インターフェースの index\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:304
#, no-wrap
msgid "RTA_OIF:int:Output interface index.\n"
msgstr "RTA_OIF:int:出力インターフェースの index\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:305
#, 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:306
#, no-wrap
msgid "RTA_PRIORITY:int:Priority of route.\n"
msgstr "RTA_PRIORITY:int:経路の優先度\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:307
#, no-wrap
msgid "RTA_PREFSRC::\n"
msgstr "RTA_PREFSRC::\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:308
#, no-wrap
msgid "RTA_METRICS:int:Route metric\n"
msgstr "RTA_METRICS:int:経路のメトリック\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:309
#, no-wrap
msgid "RTA_MULTIPATH::\n"
msgstr "RTA_MULTIPATH::\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:310
#, no-wrap
msgid "RTA_PROTOINFO::\n"
msgstr "RTA_PROTOINFO::\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:311
#, no-wrap
msgid "RTA_FLOW::\n"
msgstr "RTA_FLOW::\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:312
#, no-wrap
msgid "RTA_CACHEINFO::\n"
msgstr "RTA_CACHEINFO::\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:316
msgid "B<Fill these values in!>"
msgstr "B<(これらの値を埋めること!)>"

#. type: TP
#: build/C/man7/rtnetlink.7:316
#, no-wrap
msgid "B<RTM_NEWNEIGH>, B<RTM_DELNEIGH>, B<RTM_GETNEIGH>"
msgstr "B<RTM_NEWNEIGH>, B<RTM_DELNEIGH>, B<RTM_GETNEIGH>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:323
msgid ""
"Add, remove or receive information about a neighbor table entry (e.g., an "
"ARP entry).  The message contains an I<ndmsg> structure."
msgstr ""
"近傍テーブル (neighbor table) のエントリ (例えば ARP エントリ) の情報を追加・"
"削除・取得する。 このメッセージは I<ndmsg> 構造体を伴う。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:332
#, 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:339
#, 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:343
msgid "I<ndm_state> is a bit mask of the following states:"
msgstr "I<ndm_state> は以下の状態のビットマスクである:"

#. type: tbl table
#: build/C/man7/rtnetlink.7:346
#, no-wrap
msgid "NUD_INCOMPLETE:a currently resolving cache entry\n"
msgstr "NUD_INCOMPLETE:現在レゾルブ中のキャッシュエントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:347
#, no-wrap
msgid "NUD_REACHABLE:a confirmed working cache entry\n"
msgstr "NUD_REACHABLE:動作確認済みのキャッシュエントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:348
#, no-wrap
msgid "NUD_STALE:an expired cache entry\n"
msgstr "NUD_STALE:期限切れのキャッシュエントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:349
#, no-wrap
msgid "NUD_DELAY:an entry waiting for a timer\n"
msgstr "NUD_DELAY:タイマ待ちのキャッシュエントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:350
#, 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:351
#, no-wrap
msgid "NUD_FAILED:an invalid cache entry\n"
msgstr "NUD_FAILED:不正なキャッシュエントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:352
#, no-wrap
msgid "NUD_NOARP:a device with no destination cache\n"
msgstr "NUD_NOARP:行き先キャッシュのないデバイス\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:353
#, no-wrap
msgid "NUD_PERMANENT:a static entry\n"
msgstr "NUD_PERMANENT:静的なエントリ\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:359
msgid "Valid I<ndm_flags> are:"
msgstr "有効な I<ndm_flags> は以下の通り:"

#. type: tbl table
#: build/C/man7/rtnetlink.7:362
#, no-wrap
msgid "NTF_PROXY:a proxy arp entry\n"
msgstr "NTF_PROXY:プロクシ arp エントリ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:363
#, 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:373
msgid ""
"The I<rtattr> struct has the following meanings for the I<rta_type> field:"
msgstr ""
"I<rtattr> 構造体は、 I<rta_type> フィールドに応じてそれぞれ以下の意味を持つ:"

#. type: tbl table
#: build/C/man7/rtnetlink.7:376
#, no-wrap
msgid "NDA_UNSPEC:unknown type\n"
msgstr "NDA_UNSPEC:未知のタイプ\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:377
#, 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:378
#, no-wrap
msgid "NDA_LLADDR:a neighbor cache link layer address\n"
msgstr "NDA_LLADDR:近傍キャッシュリンク層のアドレス\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:379
#, no-wrap
msgid "NDA_CACHEINFO:cache statistics.\n"
msgstr "NDA_CACHEINFO:キャッシュの統計\n"

#. type: Plain text
#: build/C/man7/rtnetlink.7:389
msgid ""
"If the I<rta_type> field is B<NDA_CACHEINFO> then a I<struct nda_cacheinfo> "
"header follows"
msgstr ""
"I<rta_type> フィールドが B<NDA_CACHEINFO> の場合には、 I<struct "
"nda_cacheinfo> ヘッダが続く。"

#. type: TP
#: build/C/man7/rtnetlink.7:389
#, no-wrap
msgid "B<RTM_NEWRULE>, B<RTM_DELRULE>, B<RTM_GETRULE>"
msgstr "B<RTM_NEWRULE>, B<RTM_DELRULE>, B<RTM_GETRULE>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:394
msgid "Add, delete or retrieve a routing rule.  Carries a I<struct rtmsg>"
msgstr "ルーティングルールを追加・削除・取得する。 I<struct rtmsg> を伴う。"

#. type: TP
#: build/C/man7/rtnetlink.7:394
#, no-wrap
msgid "B<RTM_NEWQDISC>, B<RTM_DELQDISC>, B<RTM_GETQDISC>"
msgstr "B<RTM_NEWQDISC>, B<RTM_DELQDISC>, B<RTM_GETQDISC>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:401
msgid ""
"Add, remove or get a queueing discipline.  The message contains a I<struct "
"tcmsg> and may be followed by a series of attributes."
msgstr ""
"キューイングルールを追加・削除・取得する。 このメッセージは I<struct tcmsg> "
"を伴い、またそのあとに属性がいくつか続くこともある。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:410
#, 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:416
#, no-wrap
msgid "rta_type:value type:Description\n"
msgstr "rta_type:値の型:説明\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:418
#, no-wrap
msgid "TCA_UNSPEC:-:unspecified\n"
msgstr "TCA_UNSPEC:-:指定されていない\n"

#. type: tbl table
#: build/C/man7/rtnetlink.7:419
#, 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:420
#, 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:421
#, 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:422
#, 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:423
#, 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:428
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:428
#, no-wrap
msgid "B<RTM_NEWTCLASS>, B<RTM_DELTCLASS>, B<RTM_GETTCLASS>"
msgstr "B<RTM_NEWTCLASS>, B<RTM_DELTCLASS>, B<RTM_GETTCLASS>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:434
msgid ""
"Add, remove or get a traffic class.  These messages contain a I<struct "
"tcmsg> as described above."
msgstr ""
"トラフィッククラスを追加・削除・取得する。 これらのメッセージは、上述の "
"I<struct tcmsg> を伴う。"

#. type: TP
#: build/C/man7/rtnetlink.7:434
#, no-wrap
msgid "B<RTM_NEWTFILTER>, B<RTM_DELTFILTER>, B<RTM_GETTFILTER>"
msgstr "B<RTM_NEWTFILTER>, B<RTM_DELTFILTER>, B<RTM_GETTFILTER>"

#. type: Plain text
#: build/C/man7/rtnetlink.7:440
msgid ""
"Add, remove or receive information about a traffic filter.  These messages "
"contain a I<struct tcmsg> as described above."
msgstr ""
"トラフィックフィルターの情報を追加・削除・取得する。 これらのメッセージは、上"
"述の I<struct tcmsg> を伴う。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:443
msgid "B<rtnetlink> is a new feature of Linux 2.2."
msgstr "B<rtnetlink> は Linux 2.2 の新機能である。"

#. type: Plain text
#: build/C/man7/rtnetlink.7:450
msgid "B<cmsg>(3), B<rtnetlink>(3), B<ip>(7), B<netlink>(7)"
msgstr "B<cmsg>(3), B<rtnetlink>(3), B<ip>(7), B<netlink>(7)"

#~ msgid "2008-11-11"
#~ msgstr "2008-11-11"

#~ msgid "2010-01-11"
#~ msgstr "2010-01-11"
