msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-23 07:53+0900\n"
-"PO-Revision-Date: 2012-03-23 04:51+0900\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"
msgstr "これらのマクロは非標準で、Linux での拡張である。"
#. type: SH
-#: build/C/man3/netlink.3:84 build/C/man7/netlink.7:365
+#: build/C/man3/netlink.3:84 build/C/man7/netlink.7:375
#, no-wrap
msgid "NOTES"
msgstr "注意"
"netlink を用いるほうが良い。"
#. type: SH
-#: build/C/man3/netlink.3:88 build/C/man7/netlink.7:448
+#: 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 "および libnetlink に関しては ftp://ftp.inr.ac.ru/ip-routing/iproute2*"
#. type: SH
-#: build/C/man3/netlink.3:92 build/C/man7/netlink.7:461
+#: 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:468
+#: build/C/man3/netlink.3:99 build/C/man7/netlink.7:478
#: build/C/man3/rtnetlink.3:129 build/C/man7/rtnetlink.7:457
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.37 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/."
msgid ""
-"This page is part of release 3.38 of the Linux I<man-pages> project. A "
+"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.37 の一部であ"
-"る。\n"
-"プロジェクトの説明とバグ報告に関する情報は\n"
+"この 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 "2008-11-11"
-msgstr "2008-11-11"
+msgid "2012-04-14"
+msgstr "2012-04-14"
#. type: TH
#: build/C/man7/netlink.7:7 build/C/man7/rtnetlink.7:11
"当てる。"
#. type: Plain text
-#: build/C/man7/netlink.7:346
+#: 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>"
"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."
-msgstr ""
-"I<nl_groups> はビットマスクで、すべてのビットが netlink グループ番号を表す。 "
-"それぞれの netlink ファミリーは 32 のマルチキャストグループのセットを持つ。 "
-"それぞれの netlink ファミリーは 32 のマルチキャストグループの セットを持つ。 "
-"B<bind>(2) がソケットに対して呼ばれると、 I<sockaddr_nl> の I<nl_groups> "
-"フィールドには listen したいグループのビットマスクがセットされる。 デフォルト"
-"の値は 0 で、マルチキャストを一切受信しない。 B<sendmsg>(2) や B<connect>"
-"(2) によって、あるソケットからメッセージをマルチキャストしたいときは、 "
-"I<nl_groups> に送信したいグループのビットマスクをセットすればよい。 実効ユー"
-"ザー ID が 0 か、 B<CAP_NET_ADMIN> 権限を持つユーザーのみが netlink マルチ"
-"キャストグループに 送信したり、これを listen したりすることができる。 マルチ"
-"キャストグループ向けメッセージを受信した場合、これ対する応答は 送り主の PID "
-"とマルチキャストグループとに送り返すべきである。"
+"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:346 build/C/man7/rtnetlink.7:440
+#: 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:348
+#: 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:352
+#: 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 "
"に関してはここでは記述しない。"
#. type: Plain text
-#: build/C/man7/netlink.7:354
+#: 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:356
+#: 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:358
+#: 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:360
+#: 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:363
+#: build/C/man7/netlink.7:373
msgid ""
"NETLINK_INET_DIAG, NETLINK_CONNECTOR and NETLINK_NETFILTER appeared in Linux "
"2.6.14."
"場した。"
#. type: Plain text
-#: build/C/man7/netlink.7:365
+#: 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:371
+#: 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."
"て netlink を利用するほうが良いことが多い。"
#. type: SH
-#: build/C/man7/netlink.7:371 build/C/man3/rtnetlink.3:80
+#: 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:373
+#: build/C/man7/netlink.7:383
msgid "This manual page is not complete."
msgstr "この man ページは完成していない。"
#. type: SH
-#: build/C/man7/netlink.7:373 build/C/man3/rtnetlink.3:82
+#: 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:381
+#: 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 "
"いる。"
#. type: Plain text
-#: build/C/man7/netlink.7:385
+#: 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:389
+#: build/C/man7/netlink.7:399
#, no-wrap
msgid ""
"memset(&sa, 0, sizeof(sa));\n"
"sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n"
#. type: Plain text
-#: build/C/man7/netlink.7:392
+#: 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"
#. type: Plain text
-#: build/C/man7/netlink.7:399
+#: 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 "
"ス番号を正しく処理しなければならない点に注意すること。"
#. type: Plain text
-#: build/C/man7/netlink.7:406
+#: build/C/man7/netlink.7:416
#, no-wrap
msgid ""
"struct nlmsghdr *nh; /* The nlmsghdr with payload to send. */\n"
"struct msghdr msg;\n"
#. type: Plain text
-#: build/C/man7/netlink.7:414
+#: build/C/man7/netlink.7:424
#, no-wrap
msgid ""
"msg = { (void *)&sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n"
"nh-E<gt>nlmsg_flags |= NLM_F_ACK;\n"
#. type: Plain text
-#: build/C/man7/netlink.7:416
+#: 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:420
+#: 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:429
+#: build/C/man7/netlink.7:439
#, no-wrap
msgid ""
"int len;\n"
"struct nlmsghdr *nh;\n"
#. type: Plain text
-#: build/C/man7/netlink.7:432
+#: 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"
#. type: Plain text
-#: build/C/man7/netlink.7:438
+#: build/C/man7/netlink.7:448
#, no-wrap
msgid ""
"for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n"
" return;\n"
#. type: Plain text
-#: build/C/man7/netlink.7:442
+#: build/C/man7/netlink.7:452
#, no-wrap
msgid ""
" if (nh-E<gt>nlmsg_type == NLMSG_ERROR)\n"
" ...\n"
#. type: Plain text
-#: build/C/man7/netlink.7:446
+#: build/C/man7/netlink.7:456
#, no-wrap
msgid ""
" /* Continue with parsing payload. */\n"
"}\n"
#. type: Plain text
-#: build/C/man7/netlink.7:453
+#: 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:456
+#: 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:459
+#: 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:461
+#: 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\""
#: build/C/man3/rtnetlink.3:7
#, no-wrap
msgid "2012-03-24"
-msgstr ""
+msgstr "2012-03-24"
#. type: Plain text
#: build/C/man3/rtnetlink.3:10
#. type: Plain text
#: build/C/man3/rtnetlink.3:117
-#, fuzzy, 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 = 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"
+#, no-wrap
msgid ""
" memset(&req, 0, sizeof(req));\n"
" req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));\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 = sizeof(unsigned int);\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"
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"