msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2021-03-12 14:01+0900\n"
-"PO-Revision-Date: 2021-03-26 13:53+0900\n"
+"PO-Revision-Date: 2021-03-29 22:40+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: TH
#: build/C/man2/accept.2:41 build/C/man2/connect.2:67
#: build/C/man2/getsockopt.2:44 build/C/man2/select_tut.2:32
-#, fuzzy, no-wrap
-#| msgid "2014-04-01"
+#, no-wrap
msgid "2020-04-11"
-msgstr "2014-04-01"
+msgstr "2020-04-11"
#. type: TH
#: build/C/man2/accept.2:41 build/C/man2/bind.2:69 build/C/man2/bpf.2:26
#. Actually EAGAIN on Linux
#. type: Plain text
#: build/C/man2/accept.2:216
-#, fuzzy
-#| msgid ""
-#| "The socket is marked nonblocking and no connections are present to be "
-#| "accepted. POSIX.1-2001 allows either error to be returned for this case, "
-#| "and does not require these constants to have the same value, so a "
-#| "portable application should check for both possibilities."
msgid ""
"The socket is marked nonblocking and no connections are present to be "
"accepted. POSIX.1-2001 and POSIX.1-2008 allow either error to be returned "
"for this case, and do not require these constants to have the same value, so "
"a portable application should check for both possibilities."
-msgstr ""
-"ソケットが非停止になっていて、 かつ受付け対象の接続が存在しない。 "
-"POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、 これら 2 つ"
-"の定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケー"
-"ションでは、両方の可能性を 確認すべきである。"
+msgstr "ソケットが非停止になっていて、 かつ受付け対象の接続が存在しない。 POSIX.1-2001 と POSIX.1-2008 は、この場合にどちらのエラーを返すことも認めており、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
#. type: TP
#: build/C/man2/accept.2:216 build/C/man2/bind.2:176 build/C/man2/bpf.2:1012
#. type: Plain text
#: build/C/man2/accept.2:220
-#, fuzzy
-#| msgid "I<sockfd> is not a valid file descriptor."
msgid "I<sockfd> is not an open file descriptor."
-msgstr "I<sockfd> が有効なファイルディスクリプターでない。"
+msgstr "I<sockfd> がオープンされたファイルディスクリプターでない。"
#. type: TP
#: build/C/man2/accept.2:220
#. type: Plain text
#: build/C/man2/accept.2:246 build/C/man2/socket.2:440
#: build/C/man2/socketpair.2:96
-#, fuzzy
-#| msgid "The per-process limit of open file descriptors has been reached."
msgid ""
"The per-process limit on the number of open file descriptors has been "
"reached."
#. type: Plain text
#: build/C/man2/accept.2:249 build/C/man2/socket.2:443
#: build/C/man2/socketpair.2:99
-#, fuzzy
-#| msgid "The system limit on the total number of open files has been reached."
msgid ""
"The system-wide limit on the total number of open files has been reached."
msgstr "オープンされたファイルの総数がシステム全体の上限に達していた。"
#: build/C/man2/accept.2:259 build/C/man2/bind.2:196 build/C/man2/connect.2:250
#: build/C/man2/getsockname.2:97 build/C/man2/getsockopt.2:174
#: build/C/man2/listen.2:113 build/C/man2/recv.2:502 build/C/man2/send.2:414
-#, fuzzy
-#| msgid "The argument I<sockfd> does not refer to a socket."
msgid "The file descriptor I<sockfd> does not refer to a socket."
-msgstr "引き数 I<sockfd> がソケットを参照していない。"
+msgstr "ファイルディスクリプター I<sockfd> がソケットを参照していない。"
#. type: TP
#: build/C/man2/accept.2:259 build/C/man2/listen.2:113 build/C/man2/send.2:414
#. In addition, SUSv2 documents EFAULT and ENOSR.
#. type: Plain text
#: build/C/man2/accept.2:302
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"B<accept>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (B<accept>() first "
"appeared in 4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "B<accept>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装された)."
#. type: Plain text
#: build/C/man2/accept.2:305
#. type: Plain text
#: build/C/man2/accept.2:348
-#, fuzzy
-#| msgid ""
-#| "There may not always be a connection waiting after a B<SIGIO> is "
-#| "delivered or B<select>(2) or B<poll>(2) return a readability event "
-#| "because the connection might have been removed by an asynchronous network "
-#| "error or another thread before B<accept>() is called. If this happens, "
-#| "then the call will block waiting for the next connection to arrive. To "
-#| "ensure that B<accept>() never blocks, the passed socket I<sockfd> needs "
-#| "to have the B<O_NONBLOCK> flag set (see B<socket>(7))."
msgid ""
"There may not always be a connection waiting after a B<SIGIO> is delivered "
"or B<select>(2), B<poll>(2), or B<epoll>(7) return a readability event "
"then the call will block waiting for the next connection to arrive. To "
"ensure that B<accept>() never blocks, the passed socket I<sockfd> needs to "
"have the B<O_NONBLOCK> flag set (see B<socket>(7))."
-msgstr ""
-"B<SIGIO> が届けられた後や、 B<select>(2) または B<poll>(2) が読み込み可能イ"
-"ベントを返した後に、 必ずしも待機中の接続があるとは限らない。 なぜならその接"
-"続は、 B<accept>() が呼ばれる前に、非同期的なネットワークエラーや 他のスレッ"
-"ドから呼ばれた (別の) accept によって 削除されているかもしれないからである。 "
-"この場合、その B<accept>() 呼び出しは停止 (block) し、次の接続の到着を待ちつ"
-"づける。 B<accept>() に停止を行わせないようにするには、引き数に渡すソケット "
-"I<sockfd> に B<O_NONBLOCK> フラグをセットしておく必要がある (B<socket>(7) を"
-"見よ)。"
+msgstr "B<SIGIO> が届けられた後や、 B<select>(2), B<poll>(2), B<epoll>(7) が読み込み可能イベントを返した後に、 必ずしも待機中の接続があるとは限らない。 なぜならその接続は、 B<accept>() が呼ばれる前に、非同期的なネットワークエラーや 他のスレッドから呼ばれた (別の) accept によって 削除されているかもしれないからである。 この場合、その B<accept>() 呼び出しは停止 (block) し、次の接続の到着を待ちつづける。 B<accept>() に停止を行わせないようにするには、引き数に渡すソケット I<sockfd> に B<O_NONBLOCK> フラグをセットしておく必要がある (B<socket>(7) を見よ)。"
#. type: Plain text
#: build/C/man2/accept.2:359
-#, fuzzy
-#| msgid ""
-#| "For certain protocols which require an explicit confirmation, such as "
-#| "DECNet, B<accept>() can be thought of as merely dequeuing the next "
-#| "connection request and not implying confirmation. Confirmation can be "
-#| "implied by a normal read or write on the new file descriptor, and "
-#| "rejection can be implied by closing the new socket. Currently only "
-#| "DECNet has these semantics on Linux."
msgid ""
"For certain protocols which require an explicit confirmation, such as "
"DECnet, B<accept>() can be thought of as merely dequeuing the next "
"implied by a normal read or write on the new file descriptor, and rejection "
"can be implied by closing the new socket. Currently, only DECnet has these "
"semantics on Linux."
-msgstr ""
-"明示的な接続確認 (confirmation) を必要とするようなプロトコル (DECNet など) で"
-"は、 B<accept>() は単に次の接続要求をキューから取り出すだけであり、 接続確認"
-"は行わないことに注意せよ。接続確認は、 新しいファイルディスクリプターに対す"
-"る 通常の読み取り/書き込みによってなされ、接続拒否 (rejection) は新しいソ"
-"ケットをクローズすることによってなされる。 現在のところ、 Linux 上でこれらの"
-"セマンティクスを持つのは DECNet だけである。"
+msgstr "明示的な接続確認 (confirmation) を必要とするようなプロトコル (DECnet など) では、 B<accept>() は単に次の接続要求をキューから取り出すだけであり、 接続確認は行わないことに注意せよ。接続確認は、 新しいファイルディスクリプターに対する 通常の読み取り/書き込みによってなされ、接続拒否 (rejection) は新しいソケットをクローズすることによってなされる。 現在のところ、 Linux 上でこれらのセマンティクスを持つのは DECnet だけである。"
#. type: SS
#: build/C/man2/accept.2:359
#: build/C/man2/send.2:471 build/C/man2/sendmmsg.2:177
#: build/C/man3/sockatmark.3:111 build/C/man2/socket.2:487
#: build/C/man7/bpf-helpers.7:3595 build/C/man7/sock_diag.7:640
-#, fuzzy, no-wrap
-#| msgid "EXAMPLE"
+#, no-wrap
msgid "EXAMPLES"
msgstr "例"
#: build/C/man2/bind.2:69 build/C/man2/bpf.2:26 build/C/man3/getifaddrs.3:36
#: build/C/man2/recv.2:41 build/C/man2/recvmmsg.2:31 build/C/man2/select.2:40
#: build/C/man2/send.2:40 build/C/man7/sock_diag.7:24
-#, fuzzy, no-wrap
-#| msgid "2012-11-21"
+#, no-wrap
msgid "2020-11-01"
-msgstr "2012-11-21"
+msgstr "2020-11-01"
#. type: Plain text
#: build/C/man2/bind.2:72
#. type: Plain text
#: build/C/man2/bind.2:131
-#, fuzzy
-#| msgid ""
-#| "The rules used in name binding vary between address families. Consult "
-#| "the manual entries in Section 7 for detailed information. For B<AF_INET> "
-#| "see B<ip>(7), for B<AF_INET6> see B<ipv6>(7), for B<AF_UNIX> see "
-#| "B<unix>(7), for B<AF_APPLETALK> see B<ddp>(7), for B<AF_PACKET> see "
-#| "B<packet>(7), for B<AF_X25> see B<x25>(7) and for B<AF_NETLINK> see "
-#| "B<netlink>(7)."
msgid ""
"The rules used in name binding vary between address families. Consult the "
"manual entries in Section 7 for detailed information. For B<AF_INET>, see "
#. type: Plain text
#: build/C/man2/bind.2:153
-#, fuzzy
-#| msgid ""
-#| "The only purpose of this structure is to cast the structure pointer "
-#| "passed in I<addr> in order to avoid compiler warnings. See EXAMPLE below."
msgid ""
"The only purpose of this structure is to cast the structure pointer passed "
"in I<addr> in order to avoid compiler warnings. See EXAMPLES below."
#. UNIX-domain error conditions.
#. type: Plain text
#: build/C/man2/bind.2:245
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (B<bind>() first appeared in "
"4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "B<accept>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (B<bind>() は 4.2BSD で初めて実装された)."
#. type: Plain text
#: build/C/man2/bind.2:251 build/C/man2/connect.2:284
#: build/C/man2/getsockopt.2:187 build/C/man2/listen.2:148
#: build/C/man2/socket.2:474 build/C/man2/socketpair.2:138
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001 does not require the inclusion of I<E<lt>sys/types.hE<gt>>, "
-#| "and this header file is not required on Linux. However, some historical "
-#| "(BSD) implementations required this header file, and portable "
-#| "applications are probably wise to include it."
msgid ""
"POSIX.1 does not require the inclusion of I<E<lt>sys/types.hE<gt>>, and this "
"header file is not required on Linux. However, some historical (BSD) "
"implementations required this header file, and portable applications are "
"probably wise to include it."
-msgstr ""
-"POSIX.1-2001 では I<E<lt>sys/types.hE<gt>> のインクルードは必須とされておら"
-"ず、 Linux ではこのヘッダーファイルは必要ではない。 しかし、歴史的には、いく"
-"つかの実装 (BSD 系) でこのヘッダーファイルが 必要であり、移植性が必要なアプリ"
-"ケーションではこのファイルを インクルードするのが賢明であろう。"
+msgstr "POSIX.1 では I<E<lt>sys/types.hE<gt>> のインクルードは必須とされておらず、 Linux ではこのヘッダーファイルは必要ではない。 しかし、歴史的には、いくつかの実装 (BSD 系) でこのヘッダーファイルが 必要であり、移植性が必要なアプリケーションではこのファイルを インクルードするのが賢明であろう。"
#. type: Plain text
#: build/C/man2/bind.2:256 build/C/man2/connect.2:289
#. type: Plain text
#: build/C/man2/bind.2:301
-#, fuzzy, no-wrap
-#| msgid ""
-#| " memset(&my_addr, 0, sizeof(struct sockaddr_un));\n"
-#| " /* Clear structure */\n"
-#| " my_addr.sun_family = AF_UNIX;\n"
-#| " strncpy(my_addr.sun_path, MY_SOCK_PATH,\n"
-#| " sizeof(my_addr.sun_path) - 1);\n"
+#, no-wrap
msgid ""
" memset(&my_addr, 0, sizeof(my_addr));\n"
" /* Clear structure */\n"
" strncpy(my_addr.sun_path, MY_SOCK_PATH,\n"
" sizeof(my_addr.sun_path) - 1);\n"
msgstr ""
-" memset(&my_addr, 0, sizeof(struct sockaddr_un));\n"
+" memset(&my_addr, 0, sizeof(my_addr));\n"
" /* Clear structure */\n"
" my_addr.sun_family = AF_UNIX;\n"
" strncpy(my_addr.sun_path, MY_SOCK_PATH,\n"
#. type: Plain text
#: build/C/man2/bind.2:305
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (bind(sfd, (struct sockaddr *) &my_addr,\n"
-#| " sizeof(struct sockaddr_un)) == -1)\n"
-#| " handle_error(\"bind\");\n"
+#, no-wrap
msgid ""
" if (bind(sfd, (struct sockaddr *) &my_addr,\n"
" sizeof(my_addr)) == -1)\n"
" handle_error(\"bind\");\n"
msgstr ""
" if (bind(sfd, (struct sockaddr *) &my_addr,\n"
-" sizeof(struct sockaddr_un)) == -1)\n"
+" sizeof(my_addr)) == -1)\n"
" handle_error(\"bind\");\n"
#. type: Plain text
#. type: Plain text
#: build/C/man2/bind.2:317
-#, fuzzy, no-wrap
-#| msgid ""
-#| " peer_addr_size = sizeof(struct sockaddr_un);\n"
-#| " cfd = accept(sfd, (struct sockaddr *) &peer_addr,\n"
-#| " &peer_addr_size);\n"
-#| " if (cfd == -1)\n"
-#| " handle_error(\"accept\");\n"
+#, no-wrap
msgid ""
" peer_addr_size = sizeof(peer_addr);\n"
" cfd = accept(sfd, (struct sockaddr *) &peer_addr,\n"
" if (cfd == -1)\n"
" handle_error(\"accept\");\n"
msgstr ""
-" peer_addr_size = sizeof(struct sockaddr_un);\n"
+" peer_addr_size = sizeof(peer_addr);\n"
" cfd = accept(sfd, (struct sockaddr *) &peer_addr,\n"
-" &peer_addr_size)\n"
+" &peer_addr_size);\n"
" if (cfd == -1)\n"
" handle_error(\"accept\");\n"
#. type: TH
#: build/C/man3/bindresvport.3:30 build/C/man2/getsockname.2:40
#: build/C/man3/if_nametoindex.3:25 build/C/man2/socketcall.2:25
-#, fuzzy, no-wrap
-#| msgid "2010-09-10"
+#, no-wrap
msgid "2017-09-15"
-msgstr "2010-09-10"
+msgstr "2017-09-15"
#. type: Plain text
#: build/C/man3/bindresvport.3:33
#: build/C/man2/bpf.2:26
#, no-wrap
msgid "BPF"
-msgstr ""
+msgstr "BPF"
#. type: Plain text
#: build/C/man2/bpf.2:29
#. type: Plain text
#: build/C/man2/bpf.2:32
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>net/if.hE<gt>>\n"
+#, no-wrap
msgid "B<#include E<lt>linux/bpf.hE<gt>>\n"
-msgstr "B<#include E<lt>net/if.hE<gt>>\n"
+msgstr "B<#include E<lt>linux/bpf.hE<gt>>\n"
#. type: Plain text
#: build/C/man2/bpf.2:34
-#, fuzzy, no-wrap
-#| msgid "B<int recvmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
+#, no-wrap
msgid "B<int bpf(int >I<cmd>B<, union bpf_attr *>I<attr>B<, unsigned int >I<size>B<);>\n"
-msgstr "B<int recvmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
+msgstr "B<int bpf(int >I<cmd>B<, union bpf_attr *>I<attr>B<, unsigned int >I<size>B<);>\n"
#. type: Plain text
#: build/C/man2/bpf.2:45
" |--- -----| |------| map_3 | |\n"
" map_1 map_2 --| map_4 |--\n"
msgstr ""
+"tracing tracing tracing packet packet packet\n"
+"event A event B event C on eth0 on eth1 on eth2\n"
+" | | | | | \\(ha\n"
+" | | | | v |\n"
+" --E<gt> tracing E<lt>-- tracing socket tc ingress tc egress\n"
+" prog_1 prog_2 prog_3 classifier action\n"
+" | | | | prog_4 prog_5\n"
+" |--- -----| |------| map_3 | |\n"
+" map_1 map_2 --| map_4 |--\n"
#. type: SS
#: build/C/man2/bpf.2:134 build/C/man2/select.2:155
#: build/C/man2/bpf.2:154 build/C/man2/bpf.2:248 build/C/man2/bpf.2:976
#, no-wrap
msgid "B<BPF_MAP_CREATE>"
-msgstr ""
+msgstr "B<BPF_MAP_CREATE>"
#. type: Plain text
#: build/C/man2/bpf.2:160
#: build/C/man2/bpf.2:160 build/C/man2/bpf.2:395
#, no-wrap
msgid "B<BPF_MAP_LOOKUP_ELEM>"
-msgstr ""
+msgstr "B<BPF_MAP_LOOKUP_ELEM>"
#. type: Plain text
#: build/C/man2/bpf.2:163
#: build/C/man2/bpf.2:163 build/C/man2/bpf.2:431
#, no-wrap
msgid "B<BPF_MAP_UPDATE_ELEM>"
-msgstr ""
+msgstr "B<BPF_MAP_UPDATE_ELEM>"
#. type: Plain text
#: build/C/man2/bpf.2:166
#: build/C/man2/bpf.2:166 build/C/man2/bpf.2:503
#, no-wrap
msgid "B<BPF_MAP_DELETE_ELEM>"
-msgstr ""
+msgstr "B<BPF_MAP_DELETE_ELEM>"
#. type: Plain text
#: build/C/man2/bpf.2:169
#: build/C/man2/bpf.2:169 build/C/man2/bpf.2:533
#, no-wrap
msgid "B<BPF_MAP_GET_NEXT_KEY>"
-msgstr ""
+msgstr "B<BPF_MAP_GET_NEXT_KEY>"
#. type: Plain text
#: build/C/man2/bpf.2:173
#: build/C/man2/bpf.2:173 build/C/man2/bpf.2:979
#, no-wrap
msgid "B<BPF_PROG_LOAD>"
-msgstr ""
+msgstr "B<BPF_PROG_LOAD>"
#. type: Plain text
#: build/C/man2/bpf.2:180
" .max_entries = max_entries\n"
" };\n"
msgstr ""
+"int\n"
+"bpf_create_map(enum bpf_map_type map_type,\n"
+" unsigned int key_size,\n"
+" unsigned int value_size,\n"
+" unsigned int max_entries)\n"
+"{\n"
+" union bpf_attr attr = {\n"
+" .map_type = map_type,\n"
+" .key_size = key_size,\n"
+" .value_size = value_size,\n"
+" .max_entries = max_entries\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:272
" return bpf(BPF_MAP_CREATE, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_MAP_CREATE, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:290
#: build/C/man2/bpf.2:311
#, no-wrap
msgid "bpf_map_lookup_elem(map_fd, fp - 4)\n"
-msgstr ""
+msgstr "bpf_map_lookup_elem(map_fd, fp - 4)\n"
#. type: Plain text
#: build/C/man2/bpf.2:316
#: build/C/man2/bpf.2:320
#, no-wrap
msgid "bpf_map_lookup_elem(map_fd, void *key)\n"
-msgstr ""
+msgstr "bpf_map_lookup_elem(map_fd, void *key)\n"
#. type: Plain text
#: build/C/man2/bpf.2:331
"value = bpf_map_lookup_elem(...);\n"
"*(u32 *) value = 1;\n"
msgstr ""
+"value = bpf_map_lookup_elem(...);\n"
+"*(u32 *) value = 1;\n"
#. type: Plain text
#: build/C/man2/bpf.2:348
" .value = ptr_to_u64(value),\n"
" };\n"
msgstr ""
+"int\n"
+"bpf_lookup_elem(int fd, const void *key, void *value)\n"
+"{\n"
+" union bpf_attr attr = {\n"
+" .map_fd = fd,\n"
+" .key = ptr_to_u64(key),\n"
+" .value = ptr_to_u64(value),\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:417
" return bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:426
" .flags = flags,\n"
" };\n"
msgstr ""
+"int\n"
+"bpf_update_elem(int fd, const void *key, const void *value,\n"
+" uint64_t flags)\n"
+"{\n"
+" union bpf_attr attr = {\n"
+" .map_fd = fd,\n"
+" .key = ptr_to_u64(key),\n"
+" .value = ptr_to_u64(value),\n"
+" .flags = flags,\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:456
" return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:462
-#, fuzzy
-#| msgid ""
-#| "The I<flags> argument is formed by ORing one or more of the following "
-#| "values:"
msgid "The I<flags> argument should be specified as one of the following:"
-msgstr ""
-"I<flags> 引き数には、以下の値を 1つ以上、ビット単位の論理和 を取ったものを指"
-"定する:"
+msgstr "I<flags> 引き数には、以下のいずれかを指定する。"
#. type: TP
#: build/C/man2/bpf.2:463 build/C/man7/bpf-helpers.7:144
#: build/C/man7/bpf-helpers.7:1480 build/C/man7/bpf-helpers.7:2029
#, no-wrap
msgid "B<BPF_ANY>"
-msgstr ""
+msgstr "B<BPF_ANY>"
#. type: Plain text
#: build/C/man2/bpf.2:466
#: build/C/man7/bpf-helpers.7:1474 build/C/man7/bpf-helpers.7:2023
#, no-wrap
msgid "B<BPF_NOEXIST>"
-msgstr ""
+msgstr "B<BPF_NOEXIST>"
#. type: Plain text
#: build/C/man2/bpf.2:469
#: build/C/man7/bpf-helpers.7:2444
#, no-wrap
msgid "B<BPF_EXIST>"
-msgstr ""
+msgstr "B<BPF_EXIST>"
#. type: Plain text
#: build/C/man2/bpf.2:472
" .key = ptr_to_u64(key),\n"
" };\n"
msgstr ""
+"int\n"
+"bpf_delete_elem(int fd, const void *key)\n"
+"{\n"
+" union bpf_attr attr = {\n"
+" .map_fd = fd,\n"
+" .key = ptr_to_u64(key),\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:525
" return bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:533
" .next_key = ptr_to_u64(next_key),\n"
" };\n"
msgstr ""
+"int\n"
+"bpf_get_next_key(int fd, const void *key, void *next_key)\n"
+"{\n"
+" union bpf_attr attr = {\n"
+" .map_fd = fd,\n"
+" .key = ptr_to_u64(key),\n"
+" .next_key = ptr_to_u64(next_key),\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:558
" return bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:586
#: build/C/man2/bpf.2:586
#, no-wrap
msgid "B<close(map_fd)>"
-msgstr ""
+msgstr "B<close(map_fd)>"
#. type: Plain text
#: build/C/man2/bpf.2:593
#: build/C/man2/bpf.2:595
#, no-wrap
msgid "B<BPF_MAP_TYPE_HASH>"
-msgstr ""
+msgstr "B<BPF_MAP_TYPE_HASH>"
#. commit 0f8e4bd8a1fc8c4185f1630061d0a1f2d197a475
#. type: Plain text
#: build/C/man2/bpf.2:620
#, no-wrap
msgid "B<BPF_MAP_TYPE_ARRAY>"
-msgstr ""
+msgstr "B<BPF_MAP_TYPE_ARRAY>"
#. commit 28fbcfa08d8ed7c5a50d41a0433aad222835e8e3
#. type: Plain text
#. type: TP
#: build/C/man2/bpf.2:676
-#, fuzzy, no-wrap
-#| msgid "B<MSG_EOR> (since Linux 2.2)"
+#, no-wrap
msgid "B<BPF_MAP_TYPE_PROG_ARRAY> (since Linux 4.2)"
-msgstr "B<MSG_EOR> (Linux 2.2 以降)"
+msgstr "B<BPF_MAP_TYPE_PROG_ARRAY> (Linux 4.2 以降)"
#. type: Plain text
#: build/C/man2/bpf.2:688
"void bpf_tail_call(void *context, void *prog_map,\n"
" unsigned int index);\n"
msgstr ""
+"void bpf_tail_call(void *context, void *prog_map,\n"
+" unsigned int index);\n"
#. type: Plain text
#: build/C/man2/bpf.2:705
#: build/C/man2/bpf.2:736
#, no-wrap
msgid "char bpf_log_buf[LOG_BUF_SIZE];\n"
-msgstr ""
+msgstr "char bpf_log_buf[LOG_BUF_SIZE];\n"
#. type: Plain text
#: build/C/man2/bpf.2:751
" return bpf(BPF_PROG_LOAD, &attr, sizeof(attr));\n"
"}\n"
msgstr ""
+" return bpf(BPF_PROG_LOAD, &attr, sizeof(attr));\n"
+"}\n"
#. type: Plain text
#: build/C/man2/bpf.2:759
" /* See /usr/include/linux/bpf.h for the full list. */\n"
"};\n"
msgstr ""
+"enum bpf_prog_type {\n"
+" BPF_PROG_TYPE_UNSPEC, /* Reserve 0 as invalid\n"
+" program type */\n"
+" BPF_PROG_TYPE_SOCKET_FILTER,\n"
+" BPF_PROG_TYPE_KPROBE,\n"
+" BPF_PROG_TYPE_SCHED_CLS,\n"
+" BPF_PROG_TYPE_SCHED_ACT,\n"
+" BPF_PROG_TYPE_TRACEPOINT,\n"
+" BPF_PROG_TYPE_XDP,\n"
+" BPF_PROG_TYPE_PERF_EVENT,\n"
+" BPF_PROG_TYPE_CGROUP_SKB,\n"
+" BPF_PROG_TYPE_CGROUP_SOCK,\n"
+" BPF_PROG_TYPE_LWT_IN,\n"
+" BPF_PROG_TYPE_LWT_OUT,\n"
+" BPF_PROG_TYPE_LWT_XMIT,\n"
+" BPF_PROG_TYPE_SOCK_OPS,\n"
+" BPF_PROG_TYPE_SK_SKB,\n"
+" BPF_PROG_TYPE_CGROUP_DEVICE,\n"
+" BPF_PROG_TYPE_SK_MSG,\n"
+" BPF_PROG_TYPE_RAW_TRACEPOINT,\n"
+" BPF_PROG_TYPE_CGROUP_SOCK_ADDR,\n"
+" BPF_PROG_TYPE_LWT_SEG6LOCAL,\n"
+" BPF_PROG_TYPE_LIRC_MODE2,\n"
+" BPF_PROG_TYPE_SK_REUSEPORT,\n"
+" BPF_PROG_TYPE_FLOW_DISSECTOR,\n"
+" /* See /usr/include/linux/bpf.h for the full list. */\n"
+"};\n"
#. type: Plain text
#: build/C/man2/bpf.2:793
#. type: TP
#: build/C/man2/bpf.2:883
-#, fuzzy, no-wrap
-#| msgid "B<SO_PEEK_OFF> (since Linux 3.4)"
+#, no-wrap
msgid "B<BPF_PROG_TYPE_SOCKET_FILTER> (since Linux 3.19)"
-msgstr "B<SO_PEEK_OFF> (Linux 3.4 以降)"
+msgstr "B<BPF_PROG_TYPE_SOCKET_FILTER> (Linux 3.19 以降)"
#. type: Plain text
#: build/C/man2/bpf.2:888
#. type: TP
#: build/C/man2/bpf.2:912
-#, fuzzy, no-wrap
-#| msgid "B<SO_BUSY_POLL> (since Linux 3.11)"
+#, no-wrap
msgid "B<BPF_PROG_TYPE_KPROBE> (since Linux 4.1)"
-msgstr "B<SO_BUSY_POLL> (Linux 3.11 以降)"
+msgstr "B<BPF_PROG_TYPE_KPROBE> (Linux 4.1 以降)"
#. commit 94caee8c312d96522bcdae88791aaa9ebcd5f22c
#. commit a8cb5f556b567974d75ea29c15181c445c541b1f
#. type: TP
#: build/C/man2/bpf.2:921
-#, fuzzy, no-wrap
-#| msgid "B<SO_PROTOCOL> (since Linux 2.6.32)"
+#, no-wrap
msgid "B<BPF_PROG_TYPE_SCHED_CLS> (since Linux 4.1)"
-msgstr "B<SO_PROTOCOL> (Linux 2.6.32 以降)"
+msgstr "B<BPF_PROG_TYPE_SCHED_CLS> (Linux 4.1 以降)"
#. type: TP
#: build/C/man2/bpf.2:929
-#, fuzzy, no-wrap
-#| msgid "B<SO_PEEK_OFF> (since Linux 3.4)"
+#, no-wrap
msgid "B<BPF_PROG_TYPE_SCHED_ACT> (since Linux 4.1)"
-msgstr "B<SO_PEEK_OFF> (Linux 3.4 以降)"
+msgstr "B<BPF_PROG_TYPE_SCHED_ACT> (Linux 4.1 以降)"
#. type: SS
#: build/C/man2/bpf.2:937
-#, fuzzy, no-wrap
-#| msgid "Event"
+#, no-wrap
msgid "Events"
msgstr "イベント"
"setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_BPF,\n"
" &prog_fd, sizeof(prog_fd));\n"
msgstr ""
+"setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_BPF,\n"
+" &prog_fd, sizeof(prog_fd));\n"
#. commit 2541517c32be2531e0da59dfd7efc1ce844644f5
#. type: Plain text
#: build/C/man2/bpf.2:970
#, no-wrap
msgid "ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd);\n"
-msgstr ""
+msgstr "ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd);\n"
#. type: Plain text
#: build/C/man2/bpf.2:976
#. type: Plain text
#: build/C/man2/bpf.2:989
-#, fuzzy
-#| msgid "On error, -1 is returned, and I<errno> is set to indicate the error."
msgid "On error, -1 is returned, and I<errno> is set appropriately."
-msgstr "ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81 -1 ã\82\92è¿\94ã\81\97ã\80\81 I<errno> ã\81«ã\82¨ã\83©ã\83¼ã\82\92示ã\81\99å\80¤ã\82\92è¨å®\9aã\81\99る。"
+msgstr "ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\80\81 -1 ã\81\8cè¿\94ã\82\8aã\80\81 I<errno> ã\81\8cé\81©å\88\87ã\81«è¨å®\9aã\81\95ã\82\8cる。"
#. type: TP
#: build/C/man2/bpf.2:990
#, no-wrap
msgid "B<E2BIG>"
-msgstr ""
+msgstr "B<E2BIG>"
#. type: Plain text
#: build/C/man2/bpf.2:995
#. type: Plain text
#: build/C/man2/bpf.2:1016
-#, fuzzy
-#| msgid "I<sockfd> is not a valid file descriptor."
msgid "I<fd> is not an open file descriptor."
-msgstr "I<sockfd> が有効なファイルディスクリプターでない。"
+msgstr "I<sockfd> がオープンされたファイルディスクリプターでない。"
#. type: Plain text
#: build/C/man2/bpf.2:1027
#. type: Plain text
#: build/C/man2/bpf.2:1082
-#, fuzzy
-#| msgid "B<recvmmsg>() is Linux-specific."
msgid "The B<bpf>() system call is Linux-specific."
-msgstr "B<recvmmsg>() は Linux 固有である。"
+msgstr "B<bpf>() システムコールは Linux 固有である。"
#. commit 1be7f75d1668d6296b80bf35dcf6762393530afc
#. [Linux 5.6] mtk: The list of available functions is, I think, governed
#. type: Plain text
#: build/C/man2/bpf.2:1099
msgid "get_random"
-msgstr ""
+msgstr "get_random"
#. type: Plain text
#: build/C/man2/bpf.2:1102
msgid "get_smp_processor_id"
-msgstr ""
+msgstr "get_smp_processor_id"
#. type: Plain text
#: build/C/man2/bpf.2:1104
msgid "tail_call"
-msgstr ""
+msgstr "tail_call"
#. type: Plain text
#: build/C/man2/bpf.2:1106
msgid "ktime_get_ns"
-msgstr ""
+msgstr "ktime_get_ns"
#. type: Plain text
#: build/C/man2/bpf.2:1110
#: build/C/man7/bpf-helpers.7:2595 build/C/man7/bpf-helpers.7:2606
#, no-wrap
msgid "0"
-msgstr ""
+msgstr "0"
#. type: Plain text
#: build/C/man2/bpf.2:1145
#. type: IP
#: build/C/man2/bpf.2:1145
-#, fuzzy, no-wrap
-#| msgid "1."
+#, no-wrap
msgid "1"
-msgstr "1."
+msgstr "1"
#. type: Plain text
#: build/C/man2/bpf.2:1147
#. type: IP
#: build/C/man2/bpf.2:1147
-#, fuzzy, no-wrap
-#| msgid "2."
+#, no-wrap
msgid "2"
-msgstr "2."
+msgstr "2"
#. type: Plain text
#: build/C/man2/bpf.2:1153
#. commit e54bcde3d69d40023ae77727213d14f920eb264a
#. type: Plain text
#: build/C/man2/bpf.2:1183
-#, fuzzy
-#| msgid "B<MSG_CONFIRM> (since Linux 2.3.15)"
msgid "ARM-64 (since Linux 3.18);"
-msgstr "B<MSG_CONFIRM> (Linux 2.3.15 以降)"
+msgstr "ARM-64 (Linux 3.18 以降);"
#. commit c10302efe569bfd646b4c22df29577a4595b4580
#. type: Plain text
#. commit 7a12b5031c6b947cc13918237ae652b536243b76
#. type: Plain text
#: build/C/man2/bpf.2:1193
-#, fuzzy
-#| msgid "B<MSG_TRUNC> (since Linux 2.2)"
msgid "SPARC 64 (since Linux 4.12);"
-msgstr "B<MSG_TRUNC> (Linux 2.2 以降)"
+msgstr "SPARC 64 (Linux 4.12 以降);"
#. commit 03f5781be2c7b7e728d724ac70ba10799cc710d7
#. type: Plain text
#: build/C/man2/bpf.2:1196
msgid "x86-32 (since Linux 4.18);"
-msgstr ""
+msgstr "x86-32 (Linux 4.18 以降);"
#. commit c6610de353da5ca6eee5b8960e838a87a90ead0c
#. commit f381bf6d82f032b7410185b35d000ea370ac706b
#. commit 2353ecc6f91fd15b893fa01bf85a1c7a823ee4f2
#. type: Plain text
#: build/C/man2/bpf.2:1203
-#, fuzzy
-#| msgid "B<MSG_EOR> (since Linux 2.2)"
msgid "riscv (since Linux 5.1)."
-msgstr "B<MSG_EOR> (Linux 2.2 以降)"
+msgstr "riscv (Linux 5.1 以降)."
#. type: Plain text
#: build/C/man2/bpf.2:1219
" return 1;\n"
" }\n"
msgstr ""
+" map_fd = bpf_create_map(BPF_MAP_TYPE_ARRAY, sizeof(key),\n"
+" sizeof(value), 256);\n"
+" if (map_fd E<lt> 0) {\n"
+" printf(\"failed to create map \\(aq%s\\(aq\\en\", strerror(errno));\n"
+" /* likely not run as root */\n"
+" return 1;\n"
+" }\n"
#. == atomic64_add
#. type: Plain text
" BPF_EXIT_INSN(), /* return r0 */\n"
" };\n"
msgstr ""
+" struct bpf_insn prog[] = {\n"
+" BPF_MOV64_REG(BPF_REG_6, BPF_REG_1), /* r6 = r1 */\n"
+" BPF_LD_ABS(BPF_B, ETH_HLEN + offsetof(struct iphdr, protocol)),\n"
+" /* r0 = ip-E<gt>proto */\n"
+" BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, -4),\n"
+" /* *(u32 *)(fp - 4) = r0 */\n"
+" BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), /* r2 = fp */\n"
+" BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), /* r2 = r2 - 4 */\n"
+" BPF_LD_MAP_FD(BPF_REG_1, map_fd), /* r1 = map_fd */\n"
+" BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem),\n"
+" /* r0 = map_lookup(r1, r2) */\n"
+" BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 2),\n"
+" /* if (r0 == 0) goto pc+2 */\n"
+" BPF_MOV64_IMM(BPF_REG_1, 1), /* r1 = 1 */\n"
+" BPF_XADD(BPF_DW, BPF_REG_0, BPF_REG_1, 0, 0),\n"
+" /* lock *(u64 *) r0 += r1 */\n"
+" BPF_MOV64_IMM(BPF_REG_0, 0), /* r0 = 0 */\n"
+" BPF_EXIT_INSN(), /* return r0 */\n"
+" };\n"
#. type: Plain text
#: build/C/man2/bpf.2:1251
" prog_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET_FILTER, prog,\n"
" sizeof(prog) / sizeof(prog[0]), \"GPL\");\n"
msgstr ""
+" prog_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET_FILTER, prog,\n"
+" sizeof(prog) / sizeof(prog[0]), \"GPL\");\n"
#. type: Plain text
#: build/C/man2/bpf.2:1253
#, no-wrap
msgid " sock = open_raw_sock(\"lo\");\n"
-msgstr ""
+msgstr " sock = open_raw_sock(\"lo\");\n"
#. type: Plain text
#: build/C/man2/bpf.2:1256
" assert(setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd,\n"
" sizeof(prog_fd)) == 0);\n"
msgstr ""
+" assert(setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd,\n"
+" sizeof(prog_fd)) == 0);\n"
#. type: Plain text
#: build/C/man2/bpf.2:1265
" sleep(1);\n"
" }\n"
msgstr ""
-
-#. type: Plain text
+" for (;;) {\n"
+" key = IPPROTO_TCP;\n"
+" assert(bpf_lookup_elem(map_fd, &key, &tcp_cnt) == 0);\n"
+" key = IPPROTO_UDP;\n"
+" assert(bpf_lookup_elem(map_fd, &key, &udp_cnt) == 0);\n"
+" printf(\"TCP %lld UDP %lld packets\\en\", tcp_cnt, udp_cnt);\n"
+" sleep(1);\n"
+" }\n"
+
+#. type: Plain text
#: build/C/man2/bpf.2:1268
-#, fuzzy, no-wrap
-#| msgid ""
-#| " exit(0);\n"
-#| "}\n"
+#, no-wrap
msgid ""
" return 0;\n"
"}\n"
msgstr ""
-" exit(0);\n"
+" return 0;\n"
"}\n"
#. type: Plain text
#. type: Plain text
#: build/C/man2/bpf.2:1279
-#, fuzzy
-#| msgid ""
-#| "B<bind>(2), B<getsockname>(2), B<socket>(2), B<packet>(7), B<ifconfig>(8)"
msgid "B<seccomp>(2), B<bpf-helpers>(7), B<socket>(7), B<tc>(8), B<tc-bpf>(8)"
-msgstr ""
-"B<bind>(2), B<getsockname>(2), B<socket>(2), B<packet>(7), B<ifconfig>(8)"
+msgstr "B<seccomp>(2), B<bpf-helpers>(7), B<socket>(7), B<tc>(8), B<tc-bpf>(8)"
#. type: Plain text
#: build/C/man2/bpf.2:1282
#. type: Plain text
#: build/C/man2/connect.2:198 build/C/man2/send.2:367
-#, fuzzy
-#| msgid "I<sockfd> is not a valid file descriptor."
msgid "I<sockfd> is not a valid open file descriptor."
-msgstr "I<sockfd> が有効なファイルディスクリプターでない。"
+msgstr "I<sockfd> ã\81\8cæ\9c\89å\8a¹ã\81ªã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81ªã\81\84ã\80\82"
#. type: TP
#: build/C/man2/connect.2:198 build/C/man2/recv.2:469
#. documents many additional error conditions not described here.
#. type: Plain text
#: build/C/man2/connect.2:278
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (connectB<()> first appeared in "
"4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "B<accept>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (B<connect>() は 4.2BSD で初めて実装された)."
#. type: Plain text
#: build/C/man2/connect.2:295
#. type: Plain text
#: build/C/man2/connect.2:308
-#, fuzzy
-#| msgid ""
-#| "B<accept>(2), B<bind>(2), B<getsockname>(2), B<listen>(2), B<socket>(2), "
-#| "B<path_resolution>(7)"
msgid ""
"B<accept>(2), B<bind>(2), B<getsockname>(2), B<listen>(2), B<socket>(2), "
"B<path_resolution>(7), B<selinux>(8)"
-msgstr ""
-"B<accept>(2), B<bind>(2), B<getsockname>(2), B<listen>(2), B<socket>(2), "
-"B<path_resolution>(7)"
+msgstr "B<accept>(2), B<bind>(2), B<getsockname>(2), B<listen>(2), B<socket>(2), B<path_resolution>(7), B<selinux>(8)"
#. type: TH
#: build/C/man3/getifaddrs.3:36
#. the ifa_ifu union is already present
#. type: Plain text
#: build/C/man3/getifaddrs.3:204
-#, fuzzy
-#| msgid ""
-#| "Not in POSIX.1-2001. This function first appeared in BSDi and is present "
-#| "on the BSD systems, but with slightly different semantics documented"
-#| "\\(emreturning one entry per interface, not per address. This means "
-#| "I<ifa_addr> and other fields can actually be NULL if the interface has no "
-#| "address, and no link-level address is returned if the interface has an IP "
-#| "address assigned. Also, the way of choosing either I<ifa_broadaddr> or "
-#| "I<ifa_dstaddr> differs on various systems."
msgid ""
"Not in POSIX.1. This function first appeared in BSDi and is present on the "
"BSD systems, but with slightly different semantics documented\\(emreturning "
"level address is returned if the interface has an IP address assigned. "
"Also, the way of choosing either I<ifa_broadaddr> or I<ifa_dstaddr> differs "
"on various systems."
-msgstr ""
-"POSIX.1-2001 にはない。 この関数は BSDi で初めて登場し、 BSD 系のシステムに存"
-"在するが、 ドキュメント上はかなり動作が異なり、アドレス毎ではなくインター"
-"フェース毎に 1 エントリーを返す。 このことは、 インターフェースがアドレスを持"
-"たない場合には I<ifa_addr> や他のフィールドは実際に NULL になり、 インター"
-"フェースに IP アドレスが割り当てられている場合には リンクレベルのアドレスは返"
-"されない、ということを意味する。 また、 I<ifa_broadaddr> と I<ifa_dstaddr> の"
-"どちらを選択するかを決める方法は、 システムにより異なる。"
+msgstr "POSIX.1 にはない。 この関数は BSDi で初めて登場し、 BSD 系のシステムに存在するが、 ドキュメント上はかなり動作が異なり、アドレス毎ではなくインターフェース毎に 1 エントリーを返す。 このことは、 インターフェースがアドレスを持たない場合には I<ifa_addr> や他のフィールドは実際に NULL になり、 インターフェースに IP アドレスが割り当てられている場合には リンクレベルのアドレスは返されない、ということを意味する。 また、 I<ifa_broadaddr> と I<ifa_dstaddr> のどちらを選択するかを決める方法は、 システムにより異なる。"
#. type: Plain text
#: build/C/man3/getifaddrs.3:221
#. type: Plain text
#: build/C/man3/getifaddrs.3:269
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int main(int argc, char *argv[])\n"
-#| "{\n"
-#| " struct ifaddrs *ifaddr, *ifa;\n"
-#| " int family, s, n;\n"
-#| " char host[NI_MAXHOST];\n"
+#, no-wrap
msgid ""
"int main(int argc, char *argv[])\n"
"{\n"
msgstr ""
"int main(int argc, char *argv[])\n"
"{\n"
-" struct ifaddrs *ifaddr, *ifa;\n"
-" int family, s, n;\n"
+" struct ifaddrs *ifaddr;\n"
+" int family, s;\n"
" char host[NI_MAXHOST];\n"
#. type: Plain text
#. type: Plain text
#: build/C/man3/getifaddrs.3:282
-#, fuzzy, no-wrap
-#| msgid ""
-#| " for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa-E<gt>ifa_next, n++) {\n"
-#| " if (ifa-E<gt>ifa_addr == NULL)\n"
-#| " continue;\n"
+#, no-wrap
msgid ""
" for (struct ifaddrs *ifa = ifaddr; ifa != NULL;\n"
" ifa = ifa-E<gt>ifa_next) {\n"
" if (ifa-E<gt>ifa_addr == NULL)\n"
" continue;\n"
msgstr ""
-" for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa-E<gt>ifa_next, n++) {\n"
+" for (struct ifaddrs *ifa = ifaddr; ifa != NULL;\n"
+" ifa = ifa-E<gt>ifa_next) {\n"
" if (ifa-E<gt>ifa_addr == NULL)\n"
" continue;\n"
#. type: Plain text
#: build/C/man2/getsockname.2:78 build/C/man2/getsockopt.2:145
#: build/C/man2/listen.2:108
-#, fuzzy
-#| msgid "The argument I<sockfd> is not a valid descriptor."
msgid "The argument I<sockfd> is not a valid file descriptor."
-msgstr "引き数 I<sockfd> は有効なディスクリプターでない。"
+msgstr "å¼\95ã\81\8dæ\95° I<sockfd> ã\81¯æ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81ªã\81\84ã\80\82"
#. type: Plain text
#: build/C/man2/getsockname.2:84
#. and ENOSR error codes.
#. type: Plain text
#: build/C/man2/getsockname.2:103
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (B<getsockname>() first appeared "
"in 4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (B<getsockname>() は 4.2BSD で初めて実装された)"
#. type: Plain text
#: build/C/man2/getsockname.2:115
#. options
#. type: Plain text
#: build/C/man2/getsockopt.2:181
-#, fuzzy
-#| msgid ""
-#| "SVr4, 4.4BSD (these system calls first appeared in 4.2BSD), POSIX.1-2001."
msgid ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (these system calls first appeared "
"in 4.2BSD)."
-msgstr ""
-"SVr4, 4.4BSD (これらのシステムコールは 4.2BSD で最初に現れた), POSIX.1-2001."
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (これらのシステムコールは 4.2BSD で最初に現れた)"
#. type: Plain text
#: build/C/man2/getsockopt.2:195
#: build/C/man3/if_nameindex.3:26 build/C/man2/listen.2:45
#: build/C/man2/sendmmsg.2:28 build/C/man3/sockatmark.3:25
#: build/C/man2/socket.2:42 build/C/man2/socketpair.2:42
-#, fuzzy, no-wrap
-#| msgid "2013-06-21"
+#, no-wrap
msgid "2020-06-09"
-msgstr "2013-06-21"
+msgstr "2020-06-09"
#. type: Plain text
#: build/C/man3/if_nameindex.3:29
#. type: Plain text
#: build/C/man3/if_nameindex.3:35
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<struct if_nameindex *if_nameindex(void);>\n"
-#| "B<void if_freenameindex(struct if_nameindex *>I<ptr>B<);>\n"
+#, no-wrap
msgid ""
"B<struct if_nameindex *if_nameindex(>I<void>B<);>\n"
"B<void if_freenameindex(struct if_nameindex *>I<ptr>B<);>\n"
msgstr ""
-"B<struct if_nameindex *if_nameindex(void);>\n"
+"B<struct if_nameindex *if_nameindex(>I<void>B<);>\n"
"B<void if_freenameindex(struct if_nameindex *>I<ptr>B<);>\n"
#. type: Plain text
#. type: Plain text
#: build/C/man3/if_nameindex.3:51
-#, fuzzy, no-wrap
-#| msgid ""
-#| " unsigned int if_index; /* Index of interface (1, 2, ...) */\n"
-#| " char *if_name; /* Null-terminated name (\"eth0\", etc.) */\n"
+#, no-wrap
msgid ""
"unsigned int if_index; /* Index of interface (1, 2, ...) */\n"
"char *if_name; /* Null-terminated name (\"eth0\", etc.) */\n"
msgstr ""
-" unsigned int if_index; /* インターフェースのインデックス (1, 2, ...) */\n"
-" char *if_name; /*ヌル終端された名前 (\"eth0\" など) */\n"
+"unsigned int if_index; /* インターフェースのインデックス (1, 2, ...) */\n"
+"char *if_name; /*ヌル終端された名前 (\"eth0\" など) */\n"
#. type: Plain text
#: build/C/man3/if_nameindex.3:65
-#, fuzzy
-#| msgid ""
-#| "The I<if_index> field contains the interface index. The I<ifa_name> "
-#| "field points to the null-terminated interface name. The end of the array "
-#| "is indicated by entry with I<if_index> set to zero and I<ifa_name> set to "
-#| "NULL."
msgid ""
"The I<if_index> field contains the interface index. The I<if_name> field "
"points to the null-terminated interface name. The end of the array is "
"indicated by entry with I<if_index> set to zero and I<if_name> set to NULL."
-msgstr ""
-"I<if_index> フィールドにはインターフェースのインデックスが入る。 I<ifa_name> "
-"フィールドはヌル終端されたインターフェース名を指す。 配列の最後は、 "
-"I<if_index> が 0 で I<ifa_name> が NULL のエントリーで示される。"
+msgstr "I<if_index> フィールドにはインターフェースのインデックスが入る。 I<if_name> フィールドはヌル終端されたインターフェース名を指す。 配列の最後は、 I<if_index> が 0 で I<if_name> が NULL のエントリーで示される。"
#. type: Plain text
#: build/C/man3/if_nameindex.3:71
#. type: tbl table
#: build/C/man3/if_nameindex.3:114
-#, fuzzy, no-wrap
-#| msgid " if_freenameindex(if_ni);\n"
+#, no-wrap
msgid "B<if_nameindex>(),\n"
-msgstr " if_freenameindex(if_ni);\n"
+msgstr "B<if_nameindex>(),\n"
#. type: tbl table
#: build/C/man3/if_nameindex.3:116
-#, fuzzy, no-wrap
-#| msgid " if_freenameindex(if_ni);\n"
+#, no-wrap
msgid "B<if_freenameindex>()"
-msgstr " if_freenameindex(if_ni);\n"
+msgstr "B<if_freenameindex>()"
#. type: Plain text
#: build/C/man3/if_nameindex.3:121 build/C/man3/if_nametoindex.3:108
msgid "POSIX.1-2001, POSIX.1-2008, RFC\\ 3493."
-msgstr ""
+msgstr "POSIX.1-2001, POSIX.1-2008, RFC\\ 3493."
#. type: Plain text
#: build/C/man3/if_nameindex.3:123 build/C/man3/if_nametoindex.3:110
#. type: Plain text
#: build/C/man3/if_nametoindex.3:74
-#, fuzzy
-#| msgid "B<if_nameindex>() may fail and set I<errno> if:"
msgid "B<if_nametoindex>() may fail and set I<errno> if:"
-msgstr "B<if_nameindex>() が失敗した場合には以下の I<errno> が設定される。"
+msgstr "B<if_nametoindex>() が失敗した場合には以下の I<errno> が設定される。"
#. type: TP
#: build/C/man3/if_nametoindex.3:74
-#, fuzzy, no-wrap
-#| msgid "B<ENOENT>"
+#, no-wrap
msgid "B<ENODEV>"
-msgstr "B<ENOENT>"
+msgstr "B<ENODEV>"
#. type: Plain text
#: build/C/man3/if_nametoindex.3:77
-#, fuzzy
-#| msgid "No interface found for the index."
msgid "No interface found with given name."
-msgstr "インデックスに対応するインターフェースがない。"
+msgstr "指定された名前を持つインターフェースがない。"
#. type: Plain text
#: build/C/man3/if_nametoindex.3:82
#. type: tbl table
#: build/C/man3/if_nametoindex.3:104
-#, fuzzy, no-wrap
-#| msgid "The B<if_nametoindex>() and B<if_indextoname>() functions are thread-safe."
+#, no-wrap
msgid ""
"B<if_nametoindex>(),\n"
"B<if_indextoname>()"
-msgstr "関数 B<if_nametoindex>() と B<if_indextoname>() はスレッドセーフである。"
+msgstr ""
+"B<if_nametoindex>(),\n"
+"B<if_indextoname>()"
#. type: Plain text
#: build/C/man3/if_nametoindex.3:114
#. type: Plain text
#: build/C/man2/listen.2:122
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, 4.4BSD (B<listen>() first appeared in 4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (B<listen>() は 4.2BSD で初めて実装された)"
#. type: Plain text
#: build/C/man2/listen.2:124
#. type: Plain text
#: build/C/man2/recv.2:86
-#, fuzzy, no-wrap
-#| msgid " send(sockfd, buf, len, flags);\n"
+#, no-wrap
msgid " recv(sockfd, buf, len, flags);\n"
-msgstr " send(sockfd, buf, len, flags);\n"
+msgstr " recv(sockfd, buf, len, flags);\n"
#. type: Plain text
#: build/C/man2/recv.2:88 build/C/man2/send.2:88
#. type: Plain text
#: build/C/man2/recv.2:90
-#, fuzzy, no-wrap
-#| msgid " recvfrom(fd, buf, len, flags, NULL, 0));\n"
+#, no-wrap
msgid " recvfrom(sockfd, buf, len, flags, NULL, NULL);\n"
-msgstr " recvfrom(fd, buf, len, flags, NULL, 0));\n"
+msgstr " recvfrom(sockfd, buf, len, flags, NULL, NULL);\n"
#. type: Plain text
#: build/C/man2/recv.2:96
#. type: Plain text
#: build/C/man2/recv.2:189
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct sock_extended_err\n"
-#| "{\n"
-#| " uint32_t ee_errno; /* error number */\n"
-#| " uint8_t ee_origin; /* where the error originated */\n"
-#| " uint8_t ee_type; /* type */\n"
-#| " uint8_t ee_code; /* code */\n"
-#| " uint8_t ee_pad; /* padding */\n"
-#| " uint32_t ee_info; /* additional information */\n"
-#| " uint32_t ee_data; /* other data */\n"
-#| " /* More data may follow */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct sock_extended_err\n"
"{\n"
msgstr ""
"struct sock_extended_err\n"
"{\n"
-" uint32_t ee_errno; /* error number */\n"
-" uint8_t ee_origin; /* where the error originated */\n"
-" uint8_t ee_type; /* type */\n"
-" uint8_t ee_code; /* code */\n"
-" uint8_t ee_pad; /* padding */\n"
-" uint32_t ee_info; /* additional information */\n"
-" uint32_t ee_data; /* other data */\n"
+" uint32_t ee_errno; /* Error number */\n"
+" uint8_t ee_origin; /* Where the error originated */\n"
+" uint8_t ee_type; /* Type */\n"
+" uint8_t ee_code; /* Code */\n"
+" uint8_t ee_pad; /* Padding */\n"
+" uint32_t ee_info; /* Additional information */\n"
+" uint32_t ee_data; /* Other data */\n"
" /* More data may follow */\n"
"};\n"
#. type: Plain text
#: build/C/man2/recv.2:229
-#, fuzzy
-#| msgid ""
-#| "For local errors, no address is passed (this can be checked with the "
-#| "I<cmsg_len> member of the I<cmsghdr>). For error receives, the "
-#| "B<MSG_ERRQUEUE> is set in the I<msghdr>. After an error has been passed, "
-#| "the pending socket error is regenerated based on the next queued error "
-#| "and will be passed on the next socket operation."
msgid ""
"For local errors, no address is passed (this can be checked with the "
"I<cmsg_len> member of the I<cmsghdr>). For error receives, the "
"B<MSG_ERRQUEUE> flag is set in the I<msghdr>. After an error has been "
"passed, the pending socket error is regenerated based on the next queued "
"error and will be passed on the next socket operation."
-msgstr ""
-"ローカルなエラーの場合はアドレスは渡されない\n"
-"(これは I<cmsghdr> の I<cmsg_len> メンバーでチェックできる)。\n"
-"受信エラーの場合は B<MSG_ERRQUIE> が I<msghdr> にセットされる。\n"
-"エラーが渡された後には、キューに入っている次のエラーに基いて、\n"
-"処理待ちのソケットエラーが再生成され、次のソケット操作の際に渡される。"
+msgstr "ローカルなエラーの場合はアドレスは渡されない (これは I<cmsghdr> の I<cmsg_len> メンバーでチェックできる)。受信エラーの場合は B<MSG_ERRQUIE> フラグが I<msghdr> にセットされる。エラーが渡された後には、キューに入っている次のエラーに基いて、処理待ちのソケットエラーが再生成され、次のソケット操作の際に渡される。"
#. type: TP
#: build/C/man2/recv.2:229 build/C/man2/recv.2:427 build/C/man2/send.2:249
#. type: Plain text
#: build/C/man2/recv.2:317
-#, fuzzy, no-wrap
-#| msgid " recvfrom(fd, buf, len, flags, NULL, 0));\n"
+#, no-wrap
msgid " recvfrom(fd, buf, len, flags, NULL, 0);\n"
-msgstr " recvfrom(fd, buf, len, flags, NULL, 0));\n"
+msgstr " recvfrom(fd, buf, len, flags, NULL, 0);\n"
#. type: SS
#: build/C/man2/recv.2:317
#. type: Plain text
#: build/C/man2/recv.2:342
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct msghdr {\n"
-#| " void *msg_name; /* optional address */\n"
-#| " socklen_t msg_namelen; /* size of address */\n"
-#| " struct iovec *msg_iov; /* scatter/gather array */\n"
-#| " size_t msg_iovlen; /* # elements in msg_iov */\n"
-#| " void *msg_control; /* ancillary data, see below */\n"
-#| " size_t msg_controllen; /* ancillary data buffer len */\n"
-#| " int msg_flags; /* flags on received message */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct msghdr {\n"
" void *msg_name; /* Optional address */\n"
#. type: Plain text
#: build/C/man2/recv.2:393
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct cmsghdr {\n"
-#| " socklen_t cmsg_len; /* data byte count, including hdr */\n"
-#| " int cmsg_level; /* originating protocol */\n"
-#| " int cmsg_type; /* protocol-specific type */\n"
-#| "/* followed by\n"
-#| " unsigned char cmsg_data[]; */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct cmsghdr {\n"
" size_t cmsg_len; /* Data byte count, including header\n"
"};\n"
msgstr ""
"struct cmsghdr {\n"
-" socklen_t cmsg_len; /* data byte count, including hdr */\n"
-" int cmsg_level; /* originating protocol */\n"
-" int cmsg_type; /* protocol-specific type */\n"
+" size_t cmsg_len; /* Data byte count, including header\n"
+" (type is socklen_t in POSIX) */\n"
+" int cmsg_level; /* Originating protocol */\n"
+" int cmsg_type; /* Protocol-specific type */\n"
"/* followed by\n"
" unsigned char cmsg_data[]; */\n"
"};\n"
#. type: Plain text
#: build/C/man2/recv.2:427
-#, fuzzy
-#| msgid ""
-#| "indicates that some control data were discarded due to lack of space in "
-#| "the buffer for ancillary data."
msgid ""
"indicates that some control data was discarded due to lack of space in the "
"buffer for ancillary data."
#. type: Plain text
#: build/C/man2/recv.2:430
-#, fuzzy
-#| msgid ""
-#| "is returned to indicate that expedited or out-of-band data were received."
msgid ""
"is returned to indicate that expedited or out-of-band data was received."
msgstr "速達データや帯域外データを受信したことを示す。"
#. Actually EAGAIN on Linux
#. type: Plain text
#: build/C/man2/recv.2:464
-#, fuzzy
-#| msgid ""
-#| "The socket is marked nonblocking and the receive operation would block, "
-#| "or a receive timeout had been set and the timeout expired before data was "
-#| "received. POSIX.1-2001 allows either error to be returned for this case, "
-#| "and does not require these constants to have the same value, so a "
-#| "portable application should check for both possibilities."
msgid ""
"The socket is marked nonblocking and the receive operation would block, or a "
"receive timeout had been set and the timeout expired before data was "
"received. POSIX.1 allows either error to be returned for this case, and "
"does not require these constants to have the same value, so a portable "
"application should check for both possibilities."
-msgstr ""
-"ソケットが非停止 (nonblocking) に設定されていて 受信操作が停止するような状況"
-"になったか、 受信に時間切れ (timeout) が設定されていて データを受信する前に時"
-"間切れになった。 POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めて"
-"おり、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性"
-"が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
+msgstr "ソケットが非停止 (nonblocking) に設定されていて 受信操作が停止するような状況になったか、 受信に時間切れ (timeout) が設定されていて データを受信する前に時間切れになった。 POSIX.1 は、この場合にどちらのエラーを返すことも認めており、 これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。"
#. type: Plain text
#: build/C/man2/recv.2:469
-#, fuzzy
-#| msgid "The argument I<sockfd> is an invalid descriptor."
msgid "The argument I<sockfd> is an invalid file descriptor."
-msgstr "引き数 I<sockfd> が不正なディスクリプターである。"
+msgstr "å¼\95ã\81\8dæ\95° I<sockfd> ã\81\8cä¸\8dæ£ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82"
#. type: Plain text
#: build/C/man2/recv.2:473
#. type: Plain text
#: build/C/man2/recv.2:482
-#, fuzzy
-#| msgid ""
-#| "The receive was interrupted by delivery of a signal before any data were "
-#| "available; see B<signal>(7)."
msgid ""
"The receive was interrupted by delivery of a signal before any data was "
"available; see B<signal>(7)."
#. type: Plain text
#: build/C/man2/recv.2:505
-#, fuzzy
-#| msgid ""
-#| "B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() first appeared in "
-#| "4.2BSD)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, 4.4BSD (these interfaces first appeared in "
"4.2BSD)."
-msgstr ""
-"B<accept>(): POSIX.1-2001, SVr4, 4.4BSD, (B<accept>() は 4.2BSD で初めて実装"
-"された)."
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.4BSD (これらのインターフェースは 4.2BSD で初めて実装された)"
#. type: Plain text
#: build/C/man2/recv.2:512
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001 describes only the B<MSG_OOB>, B<MSG_PEEK>, and "
-#| "B<MSG_WAITALL> flags."
msgid ""
"POSIX.1 describes only the B<MSG_OOB>, B<MSG_PEEK>, and B<MSG_WAITALL> flags."
-msgstr ""
-"POSIX.1-2001 では、 B<MSG_OOB>, B<MSG_PEEK>, B<MSG_WAITALL> フラグだけが記載"
-"されている。"
+msgstr "POSIX.1 では、 B<MSG_OOB>, B<MSG_PEEK>, B<MSG_WAITALL> フラグだけが記載されている。"
#. type: Plain text
#: build/C/man2/recv.2:525
#. type: Plain text
#: build/C/man2/recv.2:578
-#, fuzzy
-#| msgid ""
-#| "B<fcntl>(2), B<getsockopt>(2), B<read>(2), B<recvmmsg>(2), B<select>(2), "
-#| "B<shutdown>(2), B<socket>(2), B<cmsg>(3), B<sockatmark>(3), B<socket>(7)"
msgid ""
"B<fcntl>(2), B<getsockopt>(2), B<read>(2), B<recvmmsg>(2), B<select>(2), "
"B<shutdown>(2), B<socket>(2), B<cmsg>(3), B<sockatmark>(3), B<ip>(7), "
"B<ipv6>(7), B<socket>(7), B<tcp>(7), B<udp>(7), B<unix>(7)"
-msgstr ""
-"B<fcntl>(2), B<getsockopt>(2), B<read>(2), B<recvmmsg>(2), B<select>(2), "
-"B<shutdown>(2), B<socket>(2), B<cmsg>(3), B<sockatmark>(3), B<socket>(7)"
+msgstr "B<fcntl>(2), B<getsockopt>(2), B<read>(2), B<recvmmsg>(2), B<select>(2), B<shutdown>(2), B<socket>(2), B<cmsg>(3), B<sockatmark>(3), B<ip>(7), B<ipv6>(7), B<socket>(7), B<tcp>(7), B<udp>(7), B<unix>(7)"
#. type: TH
#: build/C/man2/recvmmsg.2:31
#. type: Plain text
#: build/C/man2/recvmmsg.2:42
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sendmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
-#| "B< unsigned int >I<flags>B<);>\n"
+#, no-wrap
msgid ""
"B<int recvmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
"B< int >I<flags>B<, struct timespec *>I<timeout>B<);>\n"
msgstr ""
-"B<int sendmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
-"B< unsigned int >I<flags>B<);>\n"
+"B<int recvmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
+"B< int >I<flags>B<, struct timespec *>I<timeout>B<);>\n"
#. type: Plain text
#: build/C/man2/recvmmsg.2:54
#. type: Plain text
#: build/C/man2/recvmmsg.2:207
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$B< while true; do echo $RANDOM E<gt> /dev/udp/127.0.0.1/1234; >\n"
-#| "B<sleep 0.25; done>\n"
+#, no-wrap
msgid ""
"$B< while true; do echo $RANDOM E<gt> /dev/udp/127.0.0.1/1234;>\n"
"B<sleep 0.25; done>\n"
msgstr ""
-"$B< while true; do echo $RANDOM E<gt> /dev/udp/127.0.0.1/1234; >\n"
+"$B< while true; do echo $RANDOM E<gt> /dev/udp/127.0.0.1/1234;>\n"
"B<sleep 0.25; done>\n"
#. type: Plain text
#. type: Plain text
#: build/C/man2/recvmmsg.2:246
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(void)\n"
-#| "{\n"
-#| "#define VLEN 10\n"
-#| "#define BUFSIZE 200\n"
-#| "#define TIMEOUT 1\n"
-#| " int sockfd, retval, i;\n"
-#| " struct sockaddr_in sa;\n"
-#| " struct mmsghdr msgs[VLEN];\n"
-#| " struct iovec iovecs[VLEN];\n"
-#| " char bufs[VLEN][BUFSIZE+1];\n"
-#| " struct timespec timeout;\n"
+#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"#define VLEN 10\n"
"#define BUFSIZE 200\n"
"#define TIMEOUT 1\n"
-" int sockfd, retval, i;\n"
-" struct sockaddr_in sa;\n"
+" int sockfd, retval;\n"
+" struct sockaddr_in addr;\n"
" struct mmsghdr msgs[VLEN];\n"
" struct iovec iovecs[VLEN];\n"
" char bufs[VLEN][BUFSIZE+1];\n"
#. type: Plain text
#: build/C/man2/recvmmsg.2:260
-#, fuzzy, no-wrap
-#| msgid ""
-#| " sa.sin_family = AF_INET;\n"
-#| " sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-#| " sa.sin_port = htons(1234);\n"
-#| " if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
-#| " perror(\"bind()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" addr.sin_family = AF_INET;\n"
" addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
-" sa.sin_family = AF_INET;\n"
-" sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-" sa.sin_port = htons(1234);\n"
-" if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
+" addr.sin_family = AF_INET;\n"
+" addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
+" addr.sin_port = htons(1234);\n"
+" if (bind(sockfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {\n"
" perror(\"bind()\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
#: build/C/man2/recvmmsg.2:268
-#, fuzzy, no-wrap
-#| msgid ""
-#| " memset(msgs, 0, sizeof(msgs));\n"
-#| " for (i = 0; i E<lt> VLEN; i++) {\n"
-#| " iovecs[i].iov_base = bufs[i];\n"
-#| " iovecs[i].iov_len = BUFSIZE;\n"
-#| " msgs[i].msg_hdr.msg_iov = &iovecs[i];\n"
-#| " msgs[i].msg_hdr.msg_iovlen = 1;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" memset(msgs, 0, sizeof(msgs));\n"
" for (int i = 0; i E<lt> VLEN; i++) {\n"
" }\n"
msgstr ""
" memset(msgs, 0, sizeof(msgs));\n"
-" for (i = 0; i E<lt> VLEN; i++) {\n"
+" for (int i = 0; i E<lt> VLEN; i++) {\n"
" iovecs[i].iov_base = bufs[i];\n"
" iovecs[i].iov_len = BUFSIZE;\n"
" msgs[i].msg_hdr.msg_iov = &iovecs[i];\n"
#. type: Plain text
#: build/C/man2/recvmmsg.2:285
-#, fuzzy, no-wrap
-#| msgid ""
-#| " printf(\"%d messages received\\en\", retval);\n"
-#| " for (i = 0; i E<lt> retval; i++) {\n"
-#| " bufs[i][msgs[i].msg_len] = 0;\n"
-#| " printf(\"%d %s\", i+1, bufs[i]);\n"
-#| " }\n"
-#| " exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#, no-wrap
msgid ""
" printf(\"%d messages received\\en\", retval);\n"
" for (int i = 0; i E<lt> retval; i++) {\n"
"}\n"
msgstr ""
" printf(\"%d messages received\\en\", retval);\n"
-" for (i = 0; i E<lt> retval; i++) {\n"
+" for (int i = 0; i E<lt> retval; i++) {\n"
" bufs[i][msgs[i].msg_len] = 0;\n"
" printf(\"%d %s\", i+1, bufs[i]);\n"
" }\n"
#. type: Plain text
#: build/C/man2/select.2:68
-#, fuzzy
-#| msgid ""
-#| "B<pselect>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
-#| "\\ 600"
msgid "B<pselect>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-msgstr ""
-"B<pselect>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ "
-"600"
+msgstr "B<pselect>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
#. type: Plain text
#: build/C/man2/select.2:79
-#, fuzzy
-#| msgid ""
-#| "B<select>() and B<pselect>() allow a program to monitor multiple file "
-#| "descriptors, waiting until one or more of the file descriptors become "
-#| "\"ready\" for some class of I/O operation (e.g., input possible). A file "
-#| "descriptor is considered ready if it is possible to perform a "
-#| "corresponding I/O operation (e.g., B<read>(2) without blocking, or a "
-#| "sufficiently small B<write>(2))."
msgid ""
"B<select>() allows a program to monitor multiple file descriptors, waiting "
"until one or more of the file descriptors become \"ready\" for some class of "
"I/O operation (e.g., input possible). A file descriptor is considered ready "
"if it is possible to perform a corresponding I/O operation (e.g., "
"B<read>(2), or a sufficiently small B<write>(2)) without blocking."
-msgstr ""
-"B<select>() や B<pselect>() を使うと、プログラムで複数のファイルディスクリ"
-"プターを監視し、 一つ以上のファイルディスクリプターがある種の I/O 操作の "
-"「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) になるまで待"
-"つことができる。 ファイルディスクリプターが ready (準備ができた) とは、 "
-"(B<read>(2) などの) 対応する I/O 操作が停止 (block) なしに実行したり、 十分"
-"小さな B<write>(2) を実行したりできる状態にあることを意味する。"
+msgstr "B<select>() を使うと、プログラムで複数のファイルディスクリプターを監視し、 一つ以上のファイルディスクリプターがある種の I/O 操作の 「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) になるまで待つことができる。 ファイルディスクリプターが ready (準備ができた) とは、 (B<read>(2) や十分小さな B<write>(2) などの) 対応する I/O 操作が停止 (block) なしに実行できる状態にあることを意味する。"
#. type: Plain text
#: build/C/man2/select.2:89
#. type: Plain text
#: build/C/man2/select.2:182
-#, fuzzy
-#| msgid ""
-#| "This set is watched to see if there is space to write data to any of its "
-#| "file descriptors. After B<select>() has returned, I<writefds> will be "
-#| "cleared of all file descriptors except for those that are immediately "
-#| "available for writing."
msgid ""
"After B<select>() has returned, I<writefds> will be cleared of all file "
"descriptors except for those that are ready for writing."
-msgstr ""
-"この集合に含まれるいずれかのファイルディスクリプターで、 データを書き込むス"
-"ペースがあるかどうかを監視する。 B<select>() から戻る時に、I<writefds> のう"
-"ち、 直ちに書き込み可能なファイルディスクリプター以外は 集合から削除される。"
+msgstr "B<select>() から戻る時に、I<writefds> のうち、 書き込みの準備ができたファイルディスクリプター以外は集合から削除される。"
#. type: TP
#: build/C/man2/select.2:182
#. type: TP
#: build/C/man2/select.2:201
-#, fuzzy, no-wrap
-#| msgid "I<utimeout>"
+#, no-wrap
msgid "I<timeout>"
-msgstr "I<utimeout>"
+msgstr "I<timeout>"
#. type: Plain text
#: build/C/man2/select.2:211
#. type: Plain text
#: build/C/man2/select.2:225
-#, fuzzy
-#| msgid ""
-#| "Note that the I<timeout> interval will be rounded up to the system clock "
-#| "granularity, and kernel scheduling delays mean that the blocking interval "
-#| "may overrun by a small amount. If both fields of the I<timeval> "
-#| "structure are zero, then B<select>() returns immediately. (This is "
-#| "useful for polling.) If I<timeout> is NULL (no timeout), B<select>() "
-#| "can block indefinitely."
msgid ""
"Note that the I<timeout> interval will be rounded up to the system clock "
"granularity, and kernel scheduling delays mean that the blocking interval "
"may overrun by a small amount."
-msgstr ""
-"この I<timeout> 時間はシステムクロックの粒度に切り上げられ、 カーネルのスケ"
-"ジューリング遅延により少しだけ長くなる可能性がある点に注意すること。 "
-"I<timeval> 構造体の両方のフィールドが 0 の場合、 B<select>() はすぐに復帰す"
-"る (この機能はポーリング (polling) を行うのに便利である)。 I<timeout> に "
-"NULL (タイムアウトなし) が指定されると、 B<select>() は無期限に停止 (block) "
-"する。"
+msgstr "この I<timeout> 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に注意すること。"
#. type: Plain text
#: build/C/man2/select.2:232
msgid ""
"If both fields of the I<timeval> structure are zero, then B<select>() "
"returns immediately. (This is useful for polling.)"
-msgstr ""
+msgstr " I<timeval> 構造体の両方のフィールドが 0 の場合、 B<select>() はすぐに復帰する (この機能はポーリング (polling) を行うのに便利である)。"
#. type: Plain text
#: build/C/man2/select.2:239
-#, fuzzy
-#| msgid ""
-#| "The I<timeout> argument specifies the interval that B<select>() should "
-#| "block waiting for a file descriptor to become ready. The call will block "
-#| "until either:"
msgid ""
"If I<timeout> is specified as NULL, B<select>() blocks indefinitely waiting "
"for a file descriptor to become ready."
-msgstr ""
-"I<timeout> 引き数は、 B<select>() がファイルディスクリプターが ready になるの"
-"を待って停止する時間を指定する。 呼び出しは以下のいずれかになるまで停止する。"
+msgstr " I<timeout> に NULL (タイムアウトなし) が指定されると、 B<select>() はファイルディスクリプターが ready になるまで無期限に停止 (block) する。"
#. type: SS
#: build/C/man2/select.2:239
#, no-wrap
msgid "pselect()"
-msgstr ""
+msgstr "pselect()"
#. type: Plain text
#: build/C/man2/select.2:244
#. type: Plain text
#: build/C/man2/select.2:301
-#, fuzzy, no-wrap
-#| msgid ""
-#| " ready = pselect(nfds, &readfds, &writefds, &exceptfds,\n"
-#| " timeout, &sigmask);\n"
+#, no-wrap
msgid ""
"ready = pselect(nfds, &readfds, &writefds, &exceptfds,\n"
" timeout, &sigmask);\n"
msgstr ""
-" ready = pselect(nfds, &readfds, &writefds, &exceptfds,\n"
-" timeout, &sigmask);\n"
+"ready = pselect(nfds, &readfds, &writefds, &exceptfds,\n"
+" timeout, &sigmask);\n"
#. type: Plain text
#: build/C/man2/select.2:307
#. type: Plain text
#: build/C/man2/select.2:311
-#, fuzzy, no-wrap
-#| msgid " sigset_t origmask;\n"
+#, no-wrap
msgid "sigset_t origmask;\n"
-msgstr " sigset_t origmask;\n"
+msgstr "sigset_t origmask;\n"
#. type: Plain text
#: build/C/man2/select.2:315
-#, fuzzy, no-wrap
-#| msgid ""
-#| " pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
-#| " ready = select(nfds, &readfds, &writefds, &exceptfds, timeout);\n"
-#| " pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
+#, no-wrap
msgid ""
"pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
"ready = select(nfds, &readfds, &writefds, &exceptfds, timeout);\n"
"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
msgstr ""
-" pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
-" ready = select(nfds, &readfds, &writefds, &exceptfds, timeout);\n"
-" pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
+"pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n"
+"ready = select(nfds, &readfds, &writefds, &exceptfds, timeout);\n"
+"pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n"
#. type: Plain text
#: build/C/man2/select.2:337
#. type: Plain text
#: build/C/man2/select.2:350
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct timeval {\n"
-#| " time_t tv_sec; /* seconds */\n"
-#| " suseconds_t tv_usec; /* microseconds */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct timeval {\n"
" time_t tv_sec; /* seconds */\n"
"};\n"
msgstr ""
"struct timeval {\n"
-"\t time_t tv_sec; /* 秒 */\n"
-"\t suseconds_t tv_usec; /* マイクロ秒 */\n"
+" time_t tv_sec; /* 秒 */\n"
+" suseconds_t tv_usec; /* マイクロ秒 */\n"
"};\n"
#. type: Plain text
#. type: Plain text
#: build/C/man2/select.2:363
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct timespec {\n"
-#| " long tv_sec; /* seconds */\n"
-#| " long tv_nsec; /* nanoseconds */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct timespec {\n"
" time_t tv_sec; /* seconds */\n"
"};\n"
msgstr ""
"struct timespec {\n"
-" long tv_sec; /* 秒 */\n"
-" long tv_nsec; /* ナノ秒 */\n"
+" time_t tv_sec; /* 秒 */\n"
+" long tv_nsec; /* ナノ秒 */\n"
"};\n"
#. .PP - it is rumored that:
#. Linux follows SUSv2 and sets the bit masks to zero upon a timeout.
#. type: Plain text
#: build/C/man2/select.2:388
-#, fuzzy
-#| msgid ""
-#| "On Linux, B<select>() modifies I<timeout> to reflect the amount of time "
-#| "not slept; most other implementations do not do this. (POSIX.1-2001 "
-#| "permits either behavior.) This causes problems both when Linux code "
-#| "which reads I<timeout> is ported to other operating systems, and when "
-#| "code is ported to Linux that reuses a I<struct timeval> for multiple "
-#| "B<select>()s in a loop without reinitializing it. Consider I<timeout> to "
-#| "be undefined after B<select>() returns."
msgid ""
"On Linux, B<select>() modifies I<timeout> to reflect the amount of time not "
"slept; most other implementations do not do this. (POSIX.1 permits either "
"reuses a I<struct timeval> for multiple B<select>()s in a loop without "
"reinitializing it. Consider I<timeout> to be undefined after B<select>() "
"returns."
-msgstr ""
-"Linux では、 B<select>() は I<timeout> を変更し、残りの停止時間を反映するよ"
-"うになっているが、 他のほとんどの実装ではこのようになっていない "
-"(POSIX.1-2001 はどちらの動作も認めている)。 このため、 I<timeout> を参照して"
-"いる Linux のコードを他のオペレーティングシステムへ 移植する場合、問題が起こ"
-"る。 また、ループの中で I<timeval> 構造体を初期化せずにそのまま再利用して "
-"B<select>() を複数回行なっているコードを Linux へ移植する場合にも、問題が起"
-"こる。 B<select>() から復帰した後は I<timeout> は未定義であると考えるべきで"
-"ある。"
+msgstr "Linux では、 B<select>() は I<timeout> を変更し、残りの停止時間を反映するようになっているが、 他のほとんどの実装ではこのようになっていない (POSIX.1 はどちらの動作も認めている)。 このため、 I<timeout> を参照している Linux のコードを他のオペレーティングシステムへ 移植する場合、問題が起こる。 また、ループの中で I<timeval> 構造体を初期化せずにそのまま再利用して B<select>() を複数回行なっているコードを Linux へ移植する場合にも、問題が起こる。 B<select>() から復帰した後は I<timeout> は未定義であると考えるべきである。"
#. type: Plain text
#: build/C/man2/select.2:400
#. type: Plain text
#: build/C/man2/select.2:415
-#, fuzzy
-#| msgid ""
-#| "An invalid file descriptor was given in one of the sets. (Perhaps a file "
-#| "descriptor that was already closed, or one on which an error has "
-#| "occurred.)"
msgid ""
"An invalid file descriptor was given in one of the sets. (Perhaps a file "
"descriptor that was already closed, or one on which an error has occurred.) "
"However, see BUGS."
-msgstr ""
-"いずれかの集合に無効なファイルディスクリプターが指定された (おそらくは、すで"
-"にクローズされたファイルディスクリプターか、 エラーが発生したファイルディスク"
-"リプターが指定された)。"
+msgstr "いずれかの集合に無効なファイルディスクリプターが指定された (おそらくは、すでにクローズされたファイルディスクリプターか、 エラーが発生したファイルディスクリプターが指定された)。ただし、「バグ」を参照のこと。"
#. type: Plain text
#: build/C/man2/select.2:419
#. type: Plain text
#: build/C/man2/select.2:431
-#, fuzzy
-#| msgid "the value contained within I<timeout> is invalid."
msgid "The value contained within I<timeout> is invalid."
msgstr "I<timeout> に入っている値が不正である。"
#. type: Plain text
#: build/C/man2/select.2:434
-#, fuzzy
-#| msgid "unable to allocate memory for internal tables."
msgid "Unable to allocate memory for internal tables."
msgstr "内部テーブルにメモリーを割り当てることができなかった。"
#. type: Plain text
#: build/C/man2/select.2:451
-#, fuzzy
-#| msgid ""
-#| "B<select>() conforms to POSIX.1-2001 and 4.4BSD (B<select>() first "
-#| "appeared in 4.2BSD). Generally portable to/from non-BSD systems "
-#| "supporting clones of the BSD socket layer (including System\\ V "
-#| "variants). However, note that the System\\ V variant typically sets the "
-#| "timeout variable before exit, but the BSD variant does not."
msgid ""
"B<select>() conforms to POSIX.1-2001, POSIX.1-2008, and 4.4BSD "
"(B<select>() first appeared in 4.2BSD). Generally portable to/from non-BSD "
"systems supporting clones of the BSD socket layer (including System\\ V "
"variants). However, note that the System\\ V variant typically sets the "
"timeout variable before returning, but the BSD variant does not."
-msgstr ""
-"B<select>() は POSIX.1-2001 と 4.4BSD (B<select>() は 4.2BSD で最初に登場し"
-"た) に準拠する。 BSD ソケット層のクローンをサポートしている非 BSD システム "
-"(System\\ V 系も含む) との間でだいたい移植性がある。しかし System\\ V 系では "
-"たいがい timeout 変数を exit の前にセットするが、 BSD 系ではそうでないので注"
-"意すること。"
+msgstr "B<select>() は POSIX.1-2001, POSIX.1-2008, 4.4BSD (B<select>() は 4.2BSD で最初に登場した) に準拠する。 BSD ソケット層のクローンをサポートしている非 BSD システム (System\\ V 系も含む) との間でだいたい移植性がある。しかし System\\ V 系では たいがい timeout 変数を返る前にセットするが、 BSD 系ではそうでないので注意すること。"
#. type: Plain text
#: build/C/man2/select.2:455
-#, fuzzy
-#| msgid "B<pselect>() is defined in POSIX.1g, and in POSIX.1-2001."
msgid ""
"B<pselect>() is defined in POSIX.1g, and in POSIX.1-2001 and POSIX.1-2008."
-msgstr "B<pselect>() は POSIX.1g と POSIX.1-2001 で定義されている。"
+msgstr "B<pselect>() は POSIX.1g および POSIX.1-2001, POSIX.1-2008 で定義されている。"
#. type: Plain text
#: build/C/man2/select.2:472
#. type: SS
#: build/C/man2/select.2:564
-#, fuzzy, no-wrap
-#| msgid "C library/kernel ABI differences"
+#, no-wrap
msgid "C library/kernel differences"
-msgstr "C ライブラリとカーネル ABI の違い"
+msgstr "C ライブラリとカーネルの違い"
#. type: Plain text
#: build/C/man2/select.2:572
#. type: Plain text
#: build/C/man2/select.2:627
-#, fuzzy
-#| msgid ""
-#| "Glibc 2.0 provided a version of B<pselect>() that did not take a "
-#| "I<sigmask> argument."
msgid ""
"Glibc 2.0 provided an incorrect version of B<pselect>() that did not take a "
"I<sigmask> argument."
-msgstr ""
-"glibc 2.0 では、 I<sigmask> 引き数を取らないバージョンの B<pselect>() が提供"
-"されていた。"
+msgstr "glibc 2.0 では、間違ったバージョンの B<pselect>() が提供されていた。このバージョンでは I<sigmask> 引き数を取らなかった。"
#. type: Plain text
#: build/C/man2/select.2:635
#. Maybe the kernel should have returned EIO in such a situation?
#. type: Plain text
#: build/C/man2/select.2:694
-#, fuzzy
-#| msgid ""
-#| "Under Linux, B<select>() may report a socket file descriptor as \"ready "
-#| "for reading\", while nevertheless a subsequent read blocks. This could "
-#| "for example happen when data has arrived but upon examination has wrong "
-#| "checksum and is discarded. There may be other circumstances in which a "
-#| "file descriptor is spuriously reported as ready. Thus it may be safer to "
-#| "use B<O_NONBLOCK> on sockets that should not block."
msgid ""
"On Linux, B<select>() may report a socket file descriptor as \"ready for "
"reading\", while nevertheless a subsequent read blocks. This could for "
#. type: Plain text
#: build/C/man2/select.2:709
-#, fuzzy
-#| msgid ""
-#| "On Linux, B<select>() also modifies I<timeout> if the call is "
-#| "interrupted by a signal handler (i.e., the B<EINTR> error return). This "
-#| "is not permitted by POSIX.1-2001. The Linux B<pselect>() system call "
-#| "has the same behavior, but the glibc wrapper hides this behavior by "
-#| "internally copying the I<timeout> to a local variable and passing that "
-#| "variable to the system call."
msgid ""
"On Linux, B<select>() also modifies I<timeout> if the call is interrupted "
"by a signal handler (i.e., the B<EINTR> error return). This is not "
"behavior, but the glibc wrapper hides this behavior by internally copying "
"the I<timeout> to a local variable and passing that variable to the system "
"call."
-msgstr ""
-"Linux では、 B<select>() がシグナルハンドラーにより割り込まれた場合 (つまり "
-"B<EINTR> エラーが返る場合)、 I<timeout> も変更する。 これは POSIX.1-2001 では"
-"認められていない挙動である。 Linux の B<pselect>() システムコールも同じ挙動"
-"をするが、 glibc のラッパー関数がこの挙動を隠蔽している。 具体的には、glibc "
-"のラッパー関数の内部で、 I<timeout> をローカル変数にコピーし、 このローカル変"
-"数をシステムコールに渡している。"
+msgstr "Linux では、 B<select>() がシグナルハンドラーにより割り込まれた場合 (つまり B<EINTR> エラーが返る場合)、 I<timeout> も変更する。 これは POSIX.1 では認められていない挙動である。 Linux の B<pselect>() システムコールも同じ挙動をするが、 glibc のラッパー関数がこの挙動を隠蔽している。 具体的には、glibc のラッパー関数の内部で、 I<timeout> をローカル変数にコピーし、 このローカル変数をシステムコールに渡している。"
#. type: Plain text
#: build/C/man2/select.2:714
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>net/if.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
+#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>sys/select.hE<gt>\n"
msgstr ""
-"#include E<lt>net/if.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/select.hE<gt>\n"
#. type: Plain text
#: build/C/man2/select.2:721
#. type: Plain text
#: build/C/man2/select.2:731
-#, fuzzy, no-wrap
-#| msgid ""
-#| " timeout.tv_sec = TIMEOUT;\n"
-#| " timeout.tv_nsec = 0;\n"
+#, no-wrap
msgid ""
" tv.tv_sec = 5;\n"
" tv.tv_usec = 0;\n"
msgstr ""
-" timeout.tv_sec = TIMEOUT;\n"
-" timeout.tv_nsec = 0;\n"
+" tv.tv_sec = 5;\n"
+" tv.tv_usec = 0;\n"
#. type: Plain text
#: build/C/man2/select.2:734
#. type: Plain text
#: build/C/man2/select_tut.2:35
-#, fuzzy
-#| msgid ""
-#| "select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I/O "
-#| "multiplexing"
msgid "select, pselect - synchronous I/O multiplexing"
-msgstr "select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - 同期 I/O の多重化"
+msgstr "select, pselect - 同期 I/O の多重化"
#. type: Plain text
#: build/C/man2/select_tut.2:38
-#, fuzzy
-#| msgid "See B<bind>(2)."
msgid "See B<select>(2)"
-msgstr "B<bind>(2) 参照。"
+msgstr "B<select>(2) 参照。"
#. type: Plain text
#: build/C/man2/select_tut.2:47
-#, fuzzy
-#| msgid ""
-#| "B<select>() (or B<pselect>()) is used to efficiently monitor multiple "
-#| "file descriptors, to see if any of them is, or becomes, \"ready\"; that "
-#| "is, to see whether I/O becomes possible, or an \"exceptional condition\" "
-#| "has occurred on any of the descriptors."
msgid ""
"The B<select>() and B<pselect>() system calls are used to efficiently "
"monitor multiple file descriptors, to see if any of them is, or becomes, "
"\"ready\"; that is, to see whether I/O becomes possible, or an \"exceptional "
"condition\" has occurred on any of the file descriptors."
-msgstr ""
-"B<select>() (や B<pselect>()) を使うと、効率的に複数のファイルディスクリプ"
-"ターを監視し、 そのファイルディスクリプターのいずれかが 「ready (準備ができ"
-"た)」状態、つまり I/O (入出力) が可能になっているかや、 ファイルディスクリプ"
-"ターのいずれかが 「例外状態 (exceptional condition)」が発生したか、を調べるこ"
-"とができる。"
+msgstr "システムコール B<select>() や B<pselect>() を使うと、効率的に複数のファイルディスクリプターを監視し、 そのファイルディスクリプターのいずれかが 「ready (準備ができた)」状態、つまり I/O (入出力) が可能になっているかや、 ファイルディスクリプターのいずれかが 「例外状態 (exceptional condition)」が発生したか、を調べることができる。"
#. type: Plain text
#: build/C/man2/select_tut.2:57
"return with I<errno> set to B<EINTR>. This behavior is essential so that "
"signals can be processed in the main loop of the program, otherwise "
"B<select>() would block indefinitely."
-msgstr ""
+msgstr "ファイルディスクリプターが I/O 可能な状態になるのと同時に シグナルも待ちたい場合には、 B<pselect>() が便利である。 シグナルを受信するプログラムは、通常は、 シグナルハンドラーをグローバルなフラグを立てるためだけに使う。 このグローバルなフラグは、 そのイベントをプログラムのメインループで 処理しなければならないことを示す。 シグナルを受けると B<select>() (や B<pselect>()) は I<errno> に B<EINTR> をセットして戻ることになる。 シグナルがプログラムのメインループで処理されるためにはこの動作が不可欠で、 これがないと B<select>() は永遠に停止し続けることになる。"
#. type: Plain text
#: build/C/man2/select_tut.2:102
-#, fuzzy
-#| msgid ""
-#| "B<pselect>() is useful if you are waiting for a signal as well as for "
-#| "file descriptor(s) to become ready for I/O. Programs that receive "
-#| "signals normally use the signal handler only to raise a global flag. The "
-#| "global flag will indicate that the event must be processed in the main "
-#| "loop of the program. A signal will cause the B<select>() (or "
-#| "B<pselect>()) call to return with I<errno> set to B<EINTR>. This "
-#| "behavior is essential so that signals can be processed in the main loop "
-#| "of the program, otherwise B<select>() would block indefinitely. Now, "
-#| "somewhere in the main loop will be a conditional to check the global "
-#| "flag. So we must ask: what if a signal arrives after the conditional, "
-#| "but before the B<select>() call? The answer is that B<select>() would "
-#| "block indefinitely, even though an event is actually pending. This race "
-#| "condition is solved by the B<pselect>() call. This call can be used to "
-#| "set the signal mask to a set of signals that are to be received only "
-#| "within the B<pselect>() call. For instance, let us say that the event "
-#| "in question was the exit of a child process. Before the start of the "
-#| "main loop, we would block B<SIGCHLD> using B<sigprocmask>(2). Our "
-#| "B<pselect>() call would enable B<SIGCHLD> by using an empty signal "
-#| "mask. Our program would look like:"
msgid ""
"Now, somewhere in the main loop will be a conditional to check the global "
"flag. So we must ask: what if a signal arrives after the conditional, but "
"block B<SIGCHLD> using B<sigprocmask>(2). Our B<pselect>() call would "
"enable B<SIGCHLD> by using an empty signal mask. Our program would look "
"like:"
-msgstr ""
-"ファイルディスクリプターが I/O 可能な状態になるのと同時に シグナルも待ちたい"
-"場合には、 B<pselect>() が便利である。 シグナルを受信するプログラムは、通常"
-"は、 シグナルハンドラーをグローバルなフラグを立てるためだけに使う。 このグ"
-"ローバルなフラグは、 そのイベントをプログラムのメインループで 処理しなければ"
-"ならないことを示す。 シグナルを受けると B<select>() (や B<pselect>()) は "
-"I<errno> に B<EINTR> をセットして戻ることになる。 シグナルがプログラムのメイ"
-"ンループで処理されるためにはこの動作が不可欠で、 これがないと B<select>() は"
-"永遠に停止し続けることになる。 さて、メインループのどこかにこのグローバルフラ"
-"グをチェックする 条件文があるとしよう。ここで少し考えてみないといけない。 "
-"「シグナルが条件文の後、しかし B<select>() コールの前に到着したら どうなるの"
-"か?」 答えは「その B<select>() は、たとえ解決待ちのイベントがあったとして"
-"も、 永遠に停止する」である。 この競合状態は B<pselect>() コールによって解決"
-"できる。 このコールを使うと、 B<pselect>() でのみ受信したいシグナルの集合をシ"
-"グナルマスクに設定することができる。 例えば、問題となっているイベントが子プロ"
-"セスの終了の場合を考えよう。 メインループが始まる前に、 B<SIGCHLD> を "
-"B<sigprocmask>(2) でブロックする。 B<pselect>() コールでは B<SIGCHLD> を、"
-"もともとのシグナルマスクを使って有効にするのだ。 このプログラムは次のようにな"
-"る。"
+msgstr "さて、メインループのどこかにこのグローバルフラグをチェックする 条件文があるとしよう。ここで少し考えてみないといけない。 「シグナルが条件文の後、しかし B<select>() コールの前に到着したら どうなるのか?」 答えは「その B<select>() は、たとえ解決待ちのイベントがあったとしても、 永遠に停止する」である。 この競合状態は B<pselect>() コールによって解決できる。 このコールを使うと、 B<pselect>() でのみ受信したいシグナルの集合をシグナルマスクに設定することができる。 例えば、問題となっているイベントが子プロセスの終了の場合を考えよう。 メインループが始まる前に、 B<SIGCHLD> を B<sigprocmask>(2) でブロックする。 B<pselect>() コールでは B<SIGCHLD> を、もともとのシグナルマスクを使って有効にするのだ。 このプログラムは次のようになる。"
#. type: Plain text
#: build/C/man2/select_tut.2:105
#. type: Plain text
#: build/C/man2/select_tut.2:179
-#, fuzzy
-#| msgid ""
-#| "So what is the point of B<select>()? Can't I just read and write to my "
-#| "descriptors whenever I want? The point of B<select>() is that it watches "
-#| "multiple descriptors at the same time and properly puts the process to "
-#| "sleep if there is no activity. UNIX programmers often find themselves in "
-#| "a position where they have to handle I/O from more than one file "
-#| "descriptor where the data flow may be intermittent. If you were to "
-#| "merely create a sequence of B<read>(2) and B<write>(2) calls, you would "
-#| "find that one of your calls may block waiting for data from/to a file "
-#| "descriptor, while another file descriptor is unused though ready for I/"
-#| "O. B<select>() efficiently copes with this situation."
msgid ""
"So what is the point of B<select>()? Can't I just read and write to my file "
"descriptors whenever I want? The point of B<select>() is that it watches "
"your calls may block waiting for data from/to a file descriptor, while "
"another file descriptor is unused though ready for I/O. B<select>() "
"efficiently copes with this situation."
-msgstr ""
-"実際のところ B<select>() の大事な点は何なのか? ディスクリプターは好きなとき"
-"に読み書きできるんじゃないの? B<select>() の重要なところは、複数のディスク"
-"リプターを同時に監視でき、 なんの動きもなければプロセスを適切にスリープ状態に"
-"移行するところにあるのだ。 UNIX プログラマは、 複数のファイルディスクリプター"
-"の入出力を同時に扱わねばならず、 しかもデータの流れは間欠的である、という状況"
-"によく出会う。 単に B<read>(2) や B<write>(2) コールのシーケンスを作るだけ"
-"では、それらのコールのどれかが ファイルディスクリプターからのデータを待ってブ"
-"ロックしており、 別のファイルディスクリプターには I/O が可能なのに使えない、 "
-"ということになってしまうだろう。 B<select>() を使うとこの状況に効果的に対処"
-"できる。"
+msgstr "実際のところ B<select>() の大事な点は何なのか? ファイルディスクリプターは好きなときに読み書きできるんじゃないの? B<select>() の重要なところは、複数のディスクリプターを同時に監視でき、 なんの動きもなければプロセスを適切にスリープ状態に移行するところにあるのだ。 UNIX プログラマは、 複数のファイルディスクリプターの入出力を同時に扱わねばならず、 しかもデータの流れは間欠的である、という状況によく出会う。 単に B<read>(2) や B<write>(2) コールのシーケンスを作るだけでは、それらのコールのどれかが ファイルディスクリプターからのデータを待ってブロックしており、 別のファイルディスクリプターには I/O が可能なのに使えない、 ということになってしまうだろう。 B<select>() を使うとこの状況に効果的に対処できる。"
#. type: SS
#: build/C/man2/select_tut.2:179
#. type: Plain text
#: build/C/man2/select_tut.2:292
-#, fuzzy
-#| msgid ""
-#| "If the functions B<read>(2), B<recv>(2), B<write>(2), and B<send>(2) "
-#| "fail with errors other than those listed in B<7.>, or one of the input "
-#| "functions returns 0, indicating end of file, then you should I<not> pass "
-#| "that descriptor to B<select>() again. In the example below, I close the "
-#| "descriptor immediately, and then set it to -1 to prevent it being "
-#| "included in a set."
msgid ""
"If the functions B<read>(2), B<recv>(2), B<write>(2), and B<send>(2) fail "
"with errors other than those listed in B<7.>, or one of the input functions "
"descriptor to B<select>() again. In the example below, I close the file "
"descriptor immediately, and then set it to -1 to prevent it being included "
"in a set."
-msgstr ""
-"B<read>(2), B<recv>(2), B<write>(2), B<send>(2) が B<7.> に示した以外のエ"
-"ラーで失敗した場合や、 入力系の関数の一つがファイル末尾を表す 0 を返した場合"
-"は、 そのディスクリプターをもう一度 select に渡してはI<ならない>。 下記の例で"
-"は、そのディスクリプターをただちにクローズし、 そこには -1 をセットして、 そ"
-"れが集合に含まれ続けるのを許さないようにしている。"
+msgstr "B<read>(2), B<recv>(2), B<write>(2), B<send>(2) が B<7.> に示した以外のエラーで失敗した場合や、 入力系の関数の一つがファイル末尾を表す 0 を返した場合は、 そのファイルディスクリプターをもう一度 select に渡してはI<ならない>。 下記の例では、そのファイルディスクリプターをただちにクローズし、 そこには -1 をセットして、 それが集合に含まれ続けるのを許さないようにしている。"
#. type: TP
#: build/C/man2/select_tut.2:292
#. type: Plain text
#: build/C/man2/select_tut.2:321
-#, fuzzy
-#| msgid "See B<bind>(2)."
msgid "See B<select>(2)."
-msgstr "B<bind>(2) 参照。"
+msgstr "B<select>(2) 参照。"
#. type: Plain text
#: build/C/man2/select_tut.2:330
#. type: Plain text
#: build/C/man2/select_tut.2:364
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>sys/time.hE<gt>\n"
-#| "#include E<lt>sys/types.hE<gt>\n"
-#| "#include E<lt>string.hE<gt>\n"
-#| "#include E<lt>signal.hE<gt>\n"
-#| "#include E<lt>sys/socket.hE<gt>\n"
-#| "#include E<lt>netinet/in.hE<gt>\n"
-#| "#include E<lt>arpa/inet.hE<gt>\n"
-#| "#include E<lt>errno.hE<gt>\n"
+#, no-wrap
msgid ""
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>sys/time.hE<gt>\n"
-"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/select.hE<gt>\n"
"#include E<lt>string.hE<gt>\n"
"#include E<lt>signal.hE<gt>\n"
"#include E<lt>sys/socket.hE<gt>\n"
#. type: Plain text
#: build/C/man2/select_tut.2:376
-#, fuzzy, no-wrap
-#| msgid ""
-#| "static int\n"
-#| "listen_socket(int listen_port)\n"
-#| "{\n"
-#| " struct sockaddr_in a;\n"
-#| " int s;\n"
-#| " int yes;\n"
+#, no-wrap
msgid ""
"static int\n"
"listen_socket(int listen_port)\n"
"static int\n"
"listen_socket(int listen_port)\n"
"{\n"
-" struct sockaddr_in a;\n"
-" int s;\n"
+" struct sockaddr_in addr;\n"
+" int lfd;\n"
" int yes;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:382
-#, fuzzy, no-wrap
-#| msgid ""
-#| " s = socket(AF_INET, SOCK_STREAM, 0);\n"
-#| " if (s == -1) {\n"
-#| " perror(\"socket\");\n"
-#| " close(s);\n"
-#| " return -1;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" lfd = socket(AF_INET, SOCK_STREAM, 0);\n"
" if (lfd == -1) {\n"
" return -1;\n"
" }\n"
msgstr ""
-" s = socket(AF_INET, SOCK_STREAM, 0);\n"
-" if (s == -1) {\n"
+" lfd = socket(AF_INET, SOCK_STREAM, 0);\n"
+" if (lfd == -1) {\n"
" perror(\"socket\");\n"
-" close(s);\n"
" return -1;\n"
" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:390
-#, fuzzy, no-wrap
-#| msgid ""
-#| " s = socket(AF_INET, SOCK_STREAM, 0);\n"
-#| " if (s == -1) {\n"
-#| " perror(\"socket\");\n"
-#| " close(s);\n"
-#| " return -1;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" yes = 1;\n"
" if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR,\n"
" return -1;\n"
" }\n"
msgstr ""
-" s = socket(AF_INET, SOCK_STREAM, 0);\n"
-" if (s == -1) {\n"
-" perror(\"socket\");\n"
-" close(s);\n"
+" yes = 1;\n"
+" if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR,\n"
+" &yes, sizeof(yes)) == -1) {\n"
+" perror(\"setsockopt\");\n"
+" close(lfd);\n"
" return -1;\n"
" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:399
-#, fuzzy, no-wrap
-#| msgid ""
-#| " sa.sin_family = AF_INET;\n"
-#| " sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-#| " sa.sin_port = htons(1234);\n"
-#| " if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
-#| " perror(\"bind()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" memset(&addr, 0, sizeof(addr));\n"
" addr.sin_port = htons(listen_port);\n"
" return -1;\n"
" }\n"
msgstr ""
-" sa.sin_family = AF_INET;\n"
-" sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-" sa.sin_port = htons(1234);\n"
-" if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
-" perror(\"bind()\");\n"
-" exit(EXIT_FAILURE);\n"
+" memset(&addr, 0, sizeof(addr));\n"
+" addr.sin_port = htons(listen_port);\n"
+" addr.sin_family = AF_INET;\n"
+" if (bind(lfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {\n"
+" perror(\"bind\");\n"
+" close(lfd);\n"
+" return -1;\n"
" }\n"
#. type: Plain text
" return lfd;\n"
"}\n"
msgstr ""
+" printf(\"accepting connections on port %d\\en\", listen_port);\n"
+" listen(lfd, 10);\n"
+" return lfd;\n"
+"}\n"
#. type: Plain text
#: build/C/man2/select_tut.2:410
-#, fuzzy, no-wrap
-#| msgid ""
-#| "static int\n"
-#| "connect_socket(int connect_port, char *address)\n"
-#| "{\n"
-#| " struct sockaddr_in a;\n"
-#| " int s;\n"
+#, no-wrap
msgid ""
"static int\n"
"connect_socket(int connect_port, char *address)\n"
"static int\n"
"connect_socket(int connect_port, char *address)\n"
"{\n"
-" struct sockaddr_in a;\n"
-" int s;\n"
+" struct sockaddr_in addr;\n"
+" int cfd;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:416
-#, fuzzy, no-wrap
-#| msgid ""
-#| " s = socket(AF_INET, SOCK_STREAM, 0);\n"
-#| " if (s == -1) {\n"
-#| " perror(\"socket\");\n"
-#| " close(s);\n"
-#| " return -1;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" cfd = socket(AF_INET, SOCK_STREAM, 0);\n"
" if (cfd == -1) {\n"
" return -1;\n"
" }\n"
msgstr ""
-" s = socket(AF_INET, SOCK_STREAM, 0);\n"
-" if (s == -1) {\n"
+" cfd = socket(AF_INET, SOCK_STREAM, 0);\n"
+" if (cfd == -1) {\n"
" perror(\"socket\");\n"
-" close(s);\n"
" return -1;\n"
" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:420
-#, fuzzy, no-wrap
-#| msgid ""
-#| " memset(&a, 0, sizeof(a));\n"
-#| " a.sin_port = htons(connect_port);\n"
-#| " a.sin_family = AF_INET;\n"
+#, no-wrap
msgid ""
" memset(&addr, 0, sizeof(addr));\n"
" addr.sin_port = htons(connect_port);\n"
" addr.sin_family = AF_INET;\n"
msgstr ""
-" memset(&a, 0, sizeof(a));\n"
-" a.sin_port = htons(connect_port);\n"
-" a.sin_family = AF_INET;\n"
+" memset(&addr, 0, sizeof(addr));\n"
+" addr.sin_port = htons(connect_port);\n"
+" addr.sin_family = AF_INET;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:426
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (!inet_aton(address, (struct in_addr *) &a.sin_addr.s_addr)) {\n"
-#| " perror(\"bad IP address format\");\n"
-#| " close(s);\n"
-#| " return -1;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" if (!inet_aton(address, (struct in_addr *) &addr.sin_addr.s_addr)) {\n"
" fprintf(stderr, \"inet_aton(): bad IP address format\\en\");\n"
" return -1;\n"
" }\n"
msgstr ""
-" if (!inet_aton(address, (struct in_addr *) &a.sin_addr.s_addr)) {\n"
-" perror(\"bad IP address format\");\n"
-" close(s);\n"
+" if (!inet_aton(address, (struct in_addr *) &addr.sin_addr.s_addr)) {\n"
+" fprintf(stderr, \"inet_aton(): bad IP address format\\en\");\n"
+" close(cfd);\n"
" return -1;\n"
" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:435
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (connect(s, (struct sockaddr *) &a, sizeof(a)) == -1) {\n"
-#| " perror(\"connect()\");\n"
-#| " shutdown(s, SHUT_RDWR);\n"
-#| " close(s);\n"
-#| " return -1;\n"
-#| " }\n"
-#| " return s;\n"
-#| "}\n"
+#, no-wrap
msgid ""
" if (connect(cfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {\n"
" perror(\"connect()\");\n"
" return cfd;\n"
"}\n"
msgstr ""
-" if (connect(s, (struct sockaddr *) &a, sizeof(a)) == -1) {\n"
+" if (connect(cfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {\n"
" perror(\"connect()\");\n"
-" shutdown(s, SHUT_RDWR);\n"
-" close(s);\n"
+" shutdown(cfd, SHUT_RDWR);\n"
+" close(cfd);\n"
" return -1;\n"
" }\n"
-" return s;\n"
+" return cfd;\n"
"}\n"
#. type: Plain text
#. type: Plain text
#: build/C/man2/select_tut.2:462
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| " int h;\n"
-#| " int fd1 = -1, fd2 = -1;\n"
-#| " char buf1[BUF_SIZE], buf2[BUF_SIZE];\n"
-#| " int buf1_avail, buf1_written;\n"
-#| " int buf2_avail, buf2_written;\n"
+#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
" int h;\n"
" int fd1 = -1, fd2 = -1;\n"
" char buf1[BUF_SIZE], buf2[BUF_SIZE];\n"
-" int buf1_avail, buf1_written;\n"
-" int buf2_avail, buf2_written;\n"
+" int buf1_avail = 0, buf1_written = 0;\n"
+" int buf2_avail = 0, buf2_written = 0;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:468
#. type: Plain text
#: build/C/man2/select_tut.2:481
-#, fuzzy, no-wrap
-#| msgid ""
-#| " for (;;) {\n"
-#| " int r, nfds = 0;\n"
-#| " fd_set rd, wr, er;\n"
+#, no-wrap
msgid ""
" for (;;) {\n"
" int ready, nfds = 0;\n"
" fd_set readfds, writefds, exceptfds;\n"
msgstr ""
" for (;;) {\n"
-" int r, nfds = 0;\n"
-" fd_set rd, wr, er;\n"
+" int ready, nfds = 0;\n"
+" ssize_t nbytes;\n"
+" fd_set readfds, writefds, exceptfds;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:487
" FD_SET(h, &readfds);\n"
" nfds = max(nfds, h);\n"
msgstr ""
+" FD_ZERO(&readfds);\n"
+" FD_ZERO(&writefds);\n"
+" FD_ZERO(&exceptfds);\n"
+" FD_SET(h, &readfds);\n"
+" nfds = max(nfds, h);\n"
#. type: Plain text
#: build/C/man2/select_tut.2:494
" if (fd2 E<gt> 0 && buf2_avail E<lt> BUF_SIZE)\n"
" FD_SET(fd2, &readfds);\n"
msgstr ""
+" if (fd1 E<gt> 0 && buf1_avail E<lt> BUF_SIZE)\n"
+" FD_SET(fd1, &readfds);\n"
+" /* Note: nfds is updated below, when fd1 is added to\n"
+" exceptfds. */\n"
+" if (fd2 E<gt> 0 && buf2_avail E<lt> BUF_SIZE)\n"
+" FD_SET(fd2, &readfds);\n"
#. type: Plain text
#: build/C/man2/select_tut.2:499
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (fd1 E<lt> 0 && buf1_avail - buf1_written == 0)\n"
-#| " SHUT_FD2;\n"
-#| " if (fd2 E<lt> 0 && buf2_avail - buf2_written == 0)\n"
-#| " SHUT_FD1;\n"
-#| " }\n"
-#| " exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#, no-wrap
msgid ""
" if (fd1 E<gt> 0 && buf2_avail - buf2_written E<gt> 0)\n"
" FD_SET(fd1, &writefds);\n"
" if (fd2 E<gt> 0 && buf1_avail - buf1_written E<gt> 0)\n"
" FD_SET(fd2, &writefds);\n"
msgstr ""
-" if (fd1 E<lt> 0 && buf1_avail - buf1_written == 0)\n"
-" SHUT_FD2;\n"
-" if (fd2 E<lt> 0 && buf2_avail - buf2_written == 0)\n"
-" SHUT_FD1;\n"
-" }\n"
-" exit(EXIT_SUCCESS);\n"
-"}\n"
+" if (fd1 E<gt> 0 && buf2_avail - buf2_written E<gt> 0)\n"
+" FD_SET(fd1, &writefds);\n"
+" if (fd2 E<gt> 0 && buf1_avail - buf1_written E<gt> 0)\n"
+" FD_SET(fd2, &writefds);\n"
#. type: Plain text
#: build/C/man2/select_tut.2:508
" nfds = max(nfds, fd2);\n"
" }\n"
msgstr ""
+" if (fd1 E<gt> 0) {\n"
+" FD_SET(fd1, &exceptfds);\n"
+" nfds = max(nfds, fd1);\n"
+" }\n"
+" if (fd2 E<gt> 0) {\n"
+" FD_SET(fd2, &exceptfds);\n"
+" nfds = max(nfds, fd2);\n"
+" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:510
-#, fuzzy, no-wrap
-#| msgid " r = select(nfds + 1, &rd, &wr, &er, NULL);\n"
+#, no-wrap
msgid " ready = select(nfds + 1, &readfds, &writefds, &exceptfds, NULL);\n"
-msgstr " r = select(nfds + 1, &rd, &wr, &er, NULL);\n"
+msgstr " ready = select(nfds + 1, &readfds, &writefds, &exceptfds, NULL);\n"
#. type: Plain text
#: build/C/man2/select_tut.2:513
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1 && errno == EINTR)\n"
-#| " continue;\n"
+#, no-wrap
msgid ""
" if (ready == -1 && errno == EINTR)\n"
" continue;\n"
msgstr ""
-" if (r == -1 && errno == EINTR)\n"
+" if (ready == -1 && errno == EINTR)\n"
" continue;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:518
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1) {\n"
-#| " perror(\"select()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" if (ready == -1) {\n"
" perror(\"select()\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
-" if (r == -1) {\n"
+" if (ready == -1) {\n"
" perror(\"select()\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:523
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (FD_ISSET(h, &rd)) {\n"
-#| " unsigned int l;\n"
-#| " struct sockaddr_in client_address;\n"
+#, no-wrap
msgid ""
" if (FD_ISSET(h, &readfds)) {\n"
" socklen_t addrlen;\n"
" struct sockaddr_in client_addr;\n"
" int fd;\n"
msgstr ""
-" if (FD_ISSET(h, &rd)) {\n"
-" unsigned int l;\n"
-" struct sockaddr_in client_address;\n"
+" if (FD_ISSET(h, &readfds)) {\n"
+" socklen_t addrlen;\n"
+" struct sockaddr_in client_addr;\n"
+" int fd;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:541
-#, fuzzy, no-wrap
-#| msgid ""
-#| " memset(&client_address, 0, l = sizeof(client_address));\n"
-#| " r = accept(h, (struct sockaddr *) &client_address, &l);\n"
-#| " if (r == -1) {\n"
-#| " perror(\"accept()\");\n"
-#| " } else {\n"
-#| " SHUT_FD1;\n"
-#| " SHUT_FD2;\n"
-#| " buf1_avail = buf1_written = 0;\n"
-#| " buf2_avail = buf2_written = 0;\n"
-#| " fd1 = r;\n"
-#| " fd2 = connect_socket(forward_port, argv[3]);\n"
-#| " if (fd2 == -1)\n"
-#| " SHUT_FD1;\n"
-#| " else\n"
-#| " printf(\"connect from %s\\en\",\n"
-#| " inet_ntoa(client_address.sin_addr));\n"
-#| " }\n"
-#| " }\n"
+#, no-wrap
msgid ""
" addrlen = sizeof(client_addr);\n"
" memset(&client_addr, 0, addrlen);\n"
" printf(\"connect from %s\\en\",\n"
" inet_ntoa(client_addr.sin_addr));\n"
msgstr ""
-" memset(&client_address, 0, l = sizeof(client_address));\n"
-" r = accept(h, (struct sockaddr *) &client_address, &l);\n"
-" if (r == -1) {\n"
+" addrlen = sizeof(client_addr);\n"
+" memset(&client_addr, 0, addrlen);\n"
+" fd = accept(h, (struct sockaddr *) &client_addr, &addrlen);\n"
+" if (fd == -1) {\n"
" perror(\"accept()\");\n"
" } else {\n"
" SHUT_FD1;\n"
" SHUT_FD2;\n"
" buf1_avail = buf1_written = 0;\n"
" buf2_avail = buf2_written = 0;\n"
-" fd1 = r;\n"
+" fd1 = fd;\n"
" fd2 = connect_socket(forward_port, argv[3]);\n"
" if (fd2 == -1)\n"
" SHUT_FD1;\n"
" else\n"
" printf(\"connect from %s\\en\",\n"
-" inet_ntoa(client_address.sin_addr));\n"
-" }\n"
-" }\n"
+" inet_ntoa(client_addr.sin_addr));\n"
#. type: Plain text
#: build/C/man2/select_tut.2:544
" }\n"
" }\n"
msgstr ""
+" continue;\n"
+" }\n"
+" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:550
#. type: Plain text
#: build/C/man2/select_tut.2:553
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (fd1 E<gt> 0)\n"
-#| " if (FD_ISSET(fd1, &er)) {\n"
-#| " char c;\n"
+#, no-wrap
msgid ""
" if (fd1 E<gt> 0 && FD_ISSET(fd1, &exceptfds)) {\n"
" char c;\n"
msgstr ""
-" if (fd1 E<gt> 0)\n"
-" if (FD_ISSET(fd1, &er)) {\n"
-" char c;\n"
+" if (fd1 E<gt> 0 && FD_ISSET(fd1, &exceptfds)) {\n"
+" char c;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:562
-#, fuzzy, no-wrap
-#| msgid ""
-#| " r = recv(fd1, &c, 1, MSG_OOB);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD1;\n"
-#| " else\n"
-#| " send(fd2, &c, 1, MSG_OOB);\n"
-#| " }\n"
-#| " if (fd2 E<gt> 0)\n"
-#| " if (FD_ISSET(fd2, &er)) {\n"
-#| " char c;\n"
+#, no-wrap
msgid ""
" nbytes = recv(fd1, &c, 1, MSG_OOB);\n"
" if (nbytes E<lt> 1)\n"
" if (fd2 E<gt> 0 && FD_ISSET(fd2, &exceptfds)) {\n"
" char c;\n"
msgstr ""
-" r = recv(fd1, &c, 1, MSG_OOB);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD1;\n"
-" else\n"
-" send(fd2, &c, 1, MSG_OOB);\n"
-" }\n"
-" if (fd2 E<gt> 0)\n"
-" if (FD_ISSET(fd2, &er)) {\n"
-" char c;\n"
+" nbytes = recv(fd1, &c, 1, MSG_OOB);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD1;\n"
+" else\n"
+" send(fd2, &c, 1, MSG_OOB);\n"
+" }\n"
+" if (fd2 E<gt> 0 && FD_ISSET(fd2, &exceptfds)) {\n"
+" char c;\n"
#. type: Plain text
#: build/C/man2/select_tut.2:601
-#, fuzzy, no-wrap
-#| msgid ""
-#| " r = recv(fd2, &c, 1, MSG_OOB);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD2;\n"
-#| " else\n"
-#| " send(fd1, &c, 1, MSG_OOB);\n"
-#| " }\n"
-#| " if (fd1 E<gt> 0)\n"
-#| " if (FD_ISSET(fd1, &rd)) {\n"
-#| " r = read(fd1, buf1 + buf1_avail,\n"
-#| " BUF_SIZE - buf1_avail);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD1;\n"
-#| " else\n"
-#| " buf1_avail += r;\n"
-#| " }\n"
-#| " if (fd2 E<gt> 0)\n"
-#| " if (FD_ISSET(fd2, &rd)) {\n"
-#| " r = read(fd2, buf2 + buf2_avail,\n"
-#| " BUF_SIZE - buf2_avail);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD2;\n"
-#| " else\n"
-#| " buf2_avail += r;\n"
-#| " }\n"
-#| " if (fd1 E<gt> 0)\n"
-#| " if (FD_ISSET(fd1, &wr)) {\n"
-#| " r = write(fd1, buf2 + buf2_written,\n"
-#| " buf2_avail - buf2_written);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD1;\n"
-#| " else\n"
-#| " buf2_written += r;\n"
-#| " }\n"
-#| " if (fd2 E<gt> 0)\n"
-#| " if (FD_ISSET(fd2, &wr)) {\n"
-#| " r = write(fd2, buf1 + buf1_written,\n"
-#| " buf1_avail - buf1_written);\n"
-#| " if (r E<lt> 1)\n"
-#| " SHUT_FD2;\n"
-#| " else\n"
-#| " buf1_written += r;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" nbytes = recv(fd2, &c, 1, MSG_OOB);\n"
" if (nbytes E<lt> 1)\n"
" buf1_written += nbytes;\n"
" }\n"
msgstr ""
-" r = recv(fd2, &c, 1, MSG_OOB);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD2;\n"
-" else\n"
-" send(fd1, &c, 1, MSG_OOB);\n"
-" }\n"
-" if (fd1 E<gt> 0)\n"
-" if (FD_ISSET(fd1, &rd)) {\n"
-" r = read(fd1, buf1 + buf1_avail,\n"
-" BUF_SIZE - buf1_avail);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD1;\n"
-" else\n"
-" buf1_avail += r;\n"
-" }\n"
-" if (fd2 E<gt> 0)\n"
-" if (FD_ISSET(fd2, &rd)) {\n"
-" r = read(fd2, buf2 + buf2_avail,\n"
-" BUF_SIZE - buf2_avail);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD2;\n"
-" else\n"
-" buf2_avail += r;\n"
-" }\n"
-" if (fd1 E<gt> 0)\n"
-" if (FD_ISSET(fd1, &wr)) {\n"
-" r = write(fd1, buf2 + buf2_written,\n"
-" buf2_avail - buf2_written);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD1;\n"
-" else\n"
-" buf2_written += r;\n"
-" }\n"
-" if (fd2 E<gt> 0)\n"
-" if (FD_ISSET(fd2, &wr)) {\n"
-" r = write(fd2, buf1 + buf1_written,\n"
-" buf1_avail - buf1_written);\n"
-" if (r E<lt> 1)\n"
-" SHUT_FD2;\n"
-" else\n"
-" buf1_written += r;\n"
-" }\n"
+" nbytes = recv(fd2, &c, 1, MSG_OOB);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD2;\n"
+" else\n"
+" send(fd1, &c, 1, MSG_OOB);\n"
+" }\n"
+" if (fd1 E<gt> 0 && FD_ISSET(fd1, &readfds)) {\n"
+" nbytes = read(fd1, buf1 + buf1_avail,\n"
+" BUF_SIZE - buf1_avail);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD1;\n"
+" else\n"
+" buf1_avail += nbytes;\n"
+" }\n"
+" if (fd2 E<gt> 0 && FD_ISSET(fd2, &readfds)) {\n"
+" nbytes = read(fd2, buf2 + buf2_avail,\n"
+" BUF_SIZE - buf2_avail);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD2;\n"
+" else\n"
+" buf2_avail += nbytes;\n"
+" }\n"
+" if (fd1 E<gt> 0 && FD_ISSET(fd1, &writefds) && buf2_avail E<gt> 0) {\n"
+" nbytes = write(fd1, buf2 + buf2_written,\n"
+" buf2_avail - buf2_written);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD1;\n"
+" else\n"
+" buf2_written += nbytes;\n"
+" }\n"
+" if (fd2 E<gt> 0 && FD_ISSET(fd2, &writefds) && buf1_avail E<gt> 0) {\n"
+" nbytes = write(fd2, buf1 + buf1_written,\n"
+" buf1_avail - buf1_written);\n"
+" if (nbytes E<lt> 1)\n"
+" SHUT_FD2;\n"
+" else\n"
+" buf1_written += nbytes;\n"
+" }\n"
#. type: Plain text
#: build/C/man2/select_tut.2:603
#. This man page was written by Paul Sheer.
#. type: Plain text
#: build/C/man2/select_tut.2:652
-#, fuzzy
-#| msgid ""
-#| "B<accept>(2), B<connect>(2), B<poll>(2), B<read>(2), B<recv>(2), "
-#| "B<restart_syscall>(2), B<send>(2), B<sigprocmask>(2), B<write>(2), "
-#| "B<epoll>(7), B<time>(7)"
msgid ""
"B<accept>(2), B<connect>(2), B<poll>(2), B<read>(2), B<recv>(2), "
"B<select>(2), B<send>(2), B<sigprocmask>(2), B<write>(2), B<epoll>(7)"
-msgstr ""
-"B<accept>(2), B<connect>(2), B<poll>(2), B<read>(2), B<recv>(2), "
-"B<restart_syscall>(2), B<send>(2), B<sigprocmask>(2), B<write>(2), "
-"B<epoll>(7), B<time>(7)"
+msgstr "B<accept>(2), B<connect>(2), B<poll>(2), B<read>(2), B<recv>(2), B<select>(2), B<send>(2), B<sigprocmask>(2), B<write>(2), B<epoll>(7)"
#. type: TH
#: build/C/man2/send.2:40
#. type: Plain text
#: build/C/man2/send.2:180
-#, fuzzy
-#| msgid ""
-#| "Tell the link layer that forward progress happened: you got a successful "
-#| "reply from the other side. If the link layer doesn't get this it will "
-#| "regularly reprobe the neighbor (e.g., via a unicast ARP). Only valid on "
-#| "B<SOCK_DGRAM> and B<SOCK_RAW> sockets and currently implemented only for "
-#| "IPv4 and IPv6. See B<arp>(7) for details."
msgid ""
"Tell the link layer that forward progress happened: you got a successful "
"reply from the other side. If the link layer doesn't get this it will "
#. type: Plain text
#: build/C/man2/send.2:276
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct msghdr {\n"
-#| " void *msg_name; /* optional address */\n"
-#| " socklen_t msg_namelen; /* size of address */\n"
-#| " struct iovec *msg_iov; /* scatter/gather array */\n"
-#| " size_t msg_iovlen; /* # elements in msg_iov */\n"
-#| " void *msg_control; /* ancillary data, see below */\n"
-#| " size_t msg_controllen; /* ancillary data buffer len */\n"
-#| " int msg_flags; /* flags (unused) */\n"
-#| "};\n"
+#, no-wrap
msgid ""
"struct msghdr {\n"
" void *msg_name; /* Optional address */\n"
#. type: Plain text
#: build/C/man2/send.2:431
-#, fuzzy
-#| msgid ""
-#| "4.4BSD, SVr4, POSIX.1-2001. These function calls appeared in 4.2BSD."
msgid "4.4BSD, SVr4, POSIX.1-2001. These interfaces first appeared in 4.2BSD."
-msgstr ""
-"4.4BSD, SVr4, POSIX.1-2001. (これらの関数コールは 4.2BSD で最初に登場した)。"
+msgstr "4.4BSD, SVr4, POSIX.1-2001. (これらのインターフェースは 4.2BSD で最初に登場した)。"
#. type: Plain text
#: build/C/man2/send.2:442
#. type: Plain text
#: build/C/man2/send.2:493
-#, fuzzy
-#| msgid ""
-#| "B<fcntl>(2), B<getsockopt>(2), B<recv>(2), B<select>(2), B<sendfile>(2), "
-#| "B<sendmmsg>(2), B<shutdown>(2), B<socket>(2), B<write>(2), B<cmsg>(3), "
-#| "B<ip>(7), B<socket>(7), B<tcp>(7), B<udp>(7)"
msgid ""
"B<fcntl>(2), B<getsockopt>(2), B<recv>(2), B<select>(2), B<sendfile>(2), "
"B<sendmmsg>(2), B<shutdown>(2), B<socket>(2), B<write>(2), B<cmsg>(3), "
"B<ip>(7), B<ipv6>(7), B<socket>(7), B<tcp>(7), B<udp>(7), B<unix>(7)"
-msgstr ""
-"B<fcntl>(2), B<getsockopt>(2), B<recv>(2), B<select>(2), B<sendfile>(2), "
-"B<sendmmsg>(2), B<shutdown>(2), B<socket>(2), B<write>(2), B<cmsg>(3), "
-"B<ip>(7), B<socket>(7), B<tcp>(7), B<udp>(7)"
+msgstr "B<fcntl>(2), B<getsockopt>(2), B<recv>(2), B<select>(2), B<sendfile>(2), B<sendmmsg>(2), B<shutdown>(2), B<socket>(2), B<write>(2), B<cmsg>(3), B<ip>(7), B<ipv6>(7), B<socket>(7), B<tcp>(7), B<udp>(7), B<unix>(7)"
#. type: TH
#: build/C/man2/sendmmsg.2:28
#. type: Plain text
#: build/C/man2/sendmmsg.2:39
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sendmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
-#| "B< unsigned int >I<flags>B<);>\n"
+#, no-wrap
msgid ""
"B<int sendmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
"B< int >I<flags>B<);>\n"
msgstr ""
"B<int sendmmsg(int >I<sockfd>B<, struct mmsghdr *>I<msgvec>B<, unsigned int >I<vlen>B<,>\n"
-"B< unsigned int >I<flags>B<);>\n"
+"B< int >I<flags>B<);>\n"
#. See commit 228e548e602061b08ee8e8966f567c12aa079682
#. type: Plain text
#. is not an error if less than the requested number of elements are sent.
#. type: Plain text
#: build/C/man2/sendmmsg.2:146
-#, fuzzy
-#| msgid ""
-#| "Errors are as for B<sendmsg>(2). An error is returned only if no "
-#| "datagrams could be sent."
msgid ""
"Errors are as for B<sendmsg>(2). An error is returned only if no datagrams "
"could be sent. See also BUGS."
-msgstr ""
-"エラーは B<sendmsg>(2) と同じである。 エラーが返されるのは、 データグラムが全"
-"く送信できなかった場合のみである。"
+msgstr "エラーは B<sendmsg>(2) と同じである。 エラーが返されるのは、 データグラムが全く送信できなかった場合のみである。「バグ」も参照のこと。"
#. type: Plain text
#: build/C/man2/sendmmsg.2:151
#. type: Plain text
#: build/C/man2/sendmmsg.2:204
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(void)\n"
-#| "{\n"
-#| " int sockfd;\n"
-#| " struct sockaddr_in sa;\n"
-#| " struct mmsghdr msg[2];\n"
-#| " struct iovec msg1[2], msg2;\n"
-#| " int retval;\n"
+#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"main(void)\n"
"{\n"
" int sockfd;\n"
-" struct sockaddr_in sa;\n"
+" struct sockaddr_in addr;\n"
" struct mmsghdr msg[2];\n"
" struct iovec msg1[2], msg2;\n"
" int retval;\n"
#. type: Plain text
#: build/C/man2/sendmmsg.2:218
-#, fuzzy, no-wrap
-#| msgid ""
-#| " sa.sin_family = AF_INET;\n"
-#| " sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-#| " sa.sin_port = htons(1234);\n"
-#| " if (connect(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
-#| " perror(\"connect()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" addr.sin_family = AF_INET;\n"
" addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
-" sa.sin_family = AF_INET;\n"
-" sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
-" sa.sin_port = htons(1234);\n"
-" if (connect(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {\n"
+" addr.sin_family = AF_INET;\n"
+" addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n"
+" addr.sin_port = htons(1234);\n"
+" if (connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) {\n"
" perror(\"connect()\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
#: build/C/man3/sockatmark.3:41
-#, fuzzy
-#| msgid ""
-#| "B<sockatmark>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ "
-#| "E<gt>=\\ 600"
msgid "B<sockatmark>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-msgstr ""
-"B<sockatmark>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
-"\\ 600"
+msgstr "B<sockatmark>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
#. type: Plain text
#: build/C/man3/sockatmark.3:51
#: build/C/man3/sockatmark.3:83
#, no-wrap
msgid "B<sockatmark>()"
-msgstr ""
+msgstr "B<sockatmark>()"
#. type: Plain text
#: build/C/man3/sockatmark.3:87
-#, fuzzy
-#| msgid "POSIX.1-2001."
msgid "POSIX.1-2001, POSIX.1-2008."
-msgstr "POSIX.1-2001."
+msgstr "POSIX.1-2001, POSIX.1-2008."
#. type: Plain text
#: build/C/man3/sockatmark.3:94
#. type: Plain text
#: build/C/man3/sockatmark.3:138
-#, fuzzy, no-wrap
-#| msgid ""
-#| " s = read(sockfd, buf, BUF_LEN) E<lt>= 0);\n"
-#| " if (s == -1)\n"
-#| " perror(\"read\");\n"
-#| " if (s E<lt>= 0)\n"
-#| " break;\n"
-#| " }\n"
+#, no-wrap
msgid ""
" s = read(sockfd, buf, BUF_LEN);\n"
" if (s == -1)\n"
" break;\n"
" }\n"
msgstr ""
-" s = read(sockfd, buf, BUF_LEN) E<lt>= 0);\n"
+" s = read(sockfd, buf, BUF_LEN);\n"
" if (s == -1)\n"
" perror(\"read\");\n"
" if (s E<lt>= 0)\n"
#. type: Plain text
#: build/C/man2/socket.2:65
-#, fuzzy
-#| msgid ""
-#| "The I<domain> argument specifies a communication domain; this selects the "
-#| "protocol family which will be used for communication. These families are "
-#| "defined in I<E<lt>sys/socket.hE<gt>>. The currently understood formats "
-#| "include:"
msgid ""
"The I<domain> argument specifies a communication domain; this selects the "
"protocol family which will be used for communication. These families are "
"defined in I<E<lt>sys/socket.hE<gt>>. The formats currently understood by "
"the Linux kernel include:"
-msgstr ""
-"I<domain> 引数は通信を行なうドメインを指定する; これはどの プロトコルファミ"
-"リー (protocol family) を通信に使用するかを指定する。 これらのファミリーは "
-"I<E<lt>sys/socket.hE<gt>> に定義されている。 現在、理解できるフォーマットは以"
-"下の通り。"
+msgstr "I<domain> 引数は通信を行なうドメインを指定する; これはどの プロトコルファミリー (protocol family) を通信に使用するかを指定する。 これらのファミリーは I<E<lt>sys/socket.hE<gt>> に定義されている。現在カーネルが理解できるフォーマットは以下の通り。"
#. type: tbl table
#: build/C/man2/socket.2:68
#. type: tbl table
#: build/C/man2/socket.2:71
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_UNIX>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_UNIX>"
#. type: SS
#: build/C/man2/socket.2:73 build/C/man7/vsock.7:167
#. type: tbl table
#: build/C/man2/socket.2:78
-#, fuzzy, no-wrap
-#| msgid "B<AF_ALG>"
+#, no-wrap
msgid "B<AF_LOCAL>"
-msgstr "B<AF_ALG>"
+msgstr "B<AF_LOCAL>"
#. type: tbl table
#: build/C/man2/socket.2:81
#. Part of ax25-tools
#. type: tbl table
#: build/C/man2/socket.2:95
-#, fuzzy, no-wrap
-#| msgid "B<x25>(7)"
+#, no-wrap
msgid "B<ax25>(4)"
-msgstr "B<x25>(7)"
+msgstr "B<ax25>(4)"
#. type: TP
#: build/C/man2/socket.2:98 build/C/man7/address_families.7:61
#. type: TP
#: build/C/man2/socket.2:116 build/C/man7/address_families.7:113
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_DECnet>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_DECnet>"
#. type: tbl table
#: build/C/man2/socket.2:118
#. type: TP
#: build/C/man2/socket.2:121 build/C/man7/address_families.7:126
-#, fuzzy, no-wrap
-#| msgid "B<AF_PACKET>"
+#, no-wrap
msgid "B<AF_KEY>"
-msgstr "B<AF_PACKET>"
+msgstr "B<AF_KEY>"
#. type: tbl table
#: build/C/man2/socket.2:123
#. type: tbl table
#: build/C/man2/socket.2:135
-#, fuzzy, no-wrap
-#| msgid "Low level packet interface"
+#, no-wrap
msgid "Low-level packet interface"
msgstr "低レベルのパケットインターフェース"
#. type: TP
#: build/C/man2/socket.2:140 build/C/man7/address_families.7:185
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_RDS>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_RDS>"
#. commit: 639b321b4d8f4e412bfbb2a4a19bfebc1e68ace4
#. type: tbl table
#. rds-tools: https://github.com/oracle/rds-tools/blob/master/rds-rdma.7
#. type: tbl table
#: build/C/man2/socket.2:147
-#, fuzzy, no-wrap
-#| msgid "B<ddp>(7)"
+#, no-wrap
msgid "B<rds>(7)\n"
-msgstr "B<ddp>(7)"
+msgstr "B<rds>(7)\n"
#. type: tbl table
#: build/C/man2/socket.2:149
-#, fuzzy, no-wrap
-#| msgid "B<ddp>(7)"
+#, no-wrap
msgid "B<rds-rdma>(7)"
-msgstr "B<ddp>(7)"
+msgstr "B<rds-rdma>(7)"
#. type: TP
#: build/C/man2/socket.2:152 build/C/man7/address_families.7:209
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_PPPOX>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_PPPOX>"
#. type: tbl table
#: build/C/man2/socket.2:155
#. type: TP
#: build/C/man2/socket.2:158 build/C/man7/address_families.7:222
-#, fuzzy, no-wrap
-#| msgid "B<AF_ALG>"
+#, no-wrap
msgid "B<AF_LLC>"
-msgstr "B<AF_ALG>"
+msgstr "B<AF_LLC>"
#. linux-history commit: 34beb106cde7da233d4df35dd3d6cf4fee937caa
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:164 build/C/man7/address_families.7:245
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_IB>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_IB>"
#. commits: 8d36eb01da5d371f..ce117ffac2e93334
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:170 build/C/man7/address_families.7:249
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_MPLS>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_MPLS>"
#. commits: 0189197f441602acdca3f97750d392a895b778fd
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:176 build/C/man7/address_families.7:256
-#, fuzzy, no-wrap
-#| msgid "B<AF_ALG>"
+#, no-wrap
msgid "B<AF_CAN>"
-msgstr "B<AF_ALG>"
+msgstr "B<AF_CAN>"
#. commits: 8dbde28d9711475a..5423dd67bd0108a1
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:182 build/C/man7/address_families.7:263
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_TIPC>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_TIPC>"
#. commits: b97bf3fd8f6a16966d4f18983b2c40993ff937d4
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:188 build/C/man7/address_families.7:276
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_BLUETOOTH>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_BLUETOOTH>"
#. commits: 8d36eb01da5d371f..ce117ffac2e93334
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:200 build/C/man7/address_families.7:358
-#, fuzzy, no-wrap
-#| msgid "B<AF_ATMPVC>"
+#, no-wrap
msgid "B<AF_VSOCK>"
-msgstr "B<AF_ATMPVC>"
+msgstr "B<AF_VSOCK>"
#. commit: d021c344051af91f42c5ba9fdedc176740cbd238
#. type: tbl table
#. type: tbl table
#: build/C/man2/socket.2:206
-#, fuzzy, no-wrap
-#| msgid "B<packet>(7)"
+#, no-wrap
msgid "B<vsock>(7)"
-msgstr "B<packet>(7)"
+msgstr "B<vsock>(7)"
#. type: TP
#: build/C/man2/socket.2:209 build/C/man7/address_families.7:368
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_KCM>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_KCM>"
#. commit: 03c8efc1ffeb6b82a22c1af8dd908af349563314
#. type: tbl table
#. type: TP
#: build/C/man2/socket.2:215 build/C/man7/address_families.7:400
-#, fuzzy, no-wrap
-#| msgid "B<AF_X25>"
+#, no-wrap
msgid "B<AF_XDP>"
-msgstr "B<AF_X25>"
+msgstr "B<AF_XDP>"
#. commit: c0c77d8fb787cfe0c3fca689c2a30d1dad4eaba7
#. type: tbl table
#. type: Plain text
#: build/C/man2/socket.2:406
-#, fuzzy
-#| msgid ""
-#| "When the network signals an error condition to the protocol module (e.g., "
-#| "using a ICMP message for IP) the pending error flag is set for the "
-#| "socket. The next operation on this socket will return the error code of "
-#| "the pending error. For some protocols it is possible to enable a per-"
-#| "socket error queue to retrieve detailed information about the error; see "
-#| "B<IP_RECVERR> in B<ip>(7)."
msgid ""
"When the network signals an error condition to the protocol module (e.g., "
"using an ICMP message for IP) the pending error flag is set for the socket. "
#. type: Plain text
#: build/C/man2/socket.2:416
-#, fuzzy
-#| msgid ""
-#| "The operation of sockets is controlled by socket level I<options>. These "
-#| "options are defined in I<E<lt>sys/socket.hE<gt>>. The functions "
-#| "B<setsockopt>(2) and B<getsockopt>(2) are used to set and get options, "
-#| "respectively."
msgid ""
"The operation of sockets is controlled by socket level I<options>. These "
"options are defined in I<E<lt>sys/socket.hE<gt>>. The functions "
#. type: Plain text
#: build/C/man2/socket.2:517
-#, fuzzy
-#| msgid ""
-#| "B<accept>(2), B<bind>(2), B<connect>(2), B<fcntl>(2), B<getpeername>(2), "
-#| "B<getsockname>(2), B<getsockopt>(2), B<ioctl>(2), B<listen>(2), "
-#| "B<read>(2), B<recv>(2), B<select>(2), B<send>(2), B<shutdown>(2), "
-#| "B<socketpair>(2), B<write>(2), B<getprotoent>(3), B<ip>(7), B<socket>(7), "
-#| "B<tcp>(7), B<udp>(7), B<unix>(7)"
msgid ""
"B<accept>(2), B<bind>(2), B<close>(2), B<connect>(2), B<fcntl>(2), "
"B<getpeername>(2), B<getsockname>(2), B<getsockopt>(2), B<ioctl>(2), "
"B<shutdown>(2), B<socketpair>(2), B<write>(2), B<getprotoent>(3), "
"B<address_families>(7), B<ip>(7), B<socket>(7), B<tcp>(7), B<udp>(7), "
"B<unix>(7)"
-msgstr ""
-"B<accept>(2), B<bind>(2), B<connect>(2), B<fcntl>(2), B<getpeername>(2), "
-"B<getsockname>(2), B<getsockopt>(2), B<ioctl>(2), B<listen>(2), B<read>(2), "
-"B<recv>(2), B<select>(2), B<send>(2), B<shutdown>(2), B<socketpair>(2), "
-"B<write>(2), B<getprotoent>(3), B<ip>(7), B<socket>(7), B<tcp>(7), "
-"B<udp>(7), B<unix>(7)"
+msgstr "B<accept>(2), B<bind>(2), B<close>(2), B<connect>(2), B<fcntl>(2), B<getpeername>(2), B<getsockname>(2), B<getsockopt>(2), B<ioctl>(2), B<listen>(2), B<read>(2), B<recv>(2), B<select>(2), B<send>(2), B<shutdown>(2), B<socketpair>(2), B<write>(2), B<getprotoent>(3), B<address_families>(7), B<ip>(7), B<socket>(7), B<tcp>(7), B<udp>(7), B<unix>(7)"
#. type: Plain text
#: build/C/man2/socket.2:523
#. type: TH
#: build/C/man7/socket.7:54
-#, fuzzy, no-wrap
-#| msgid "2014-08-19"
+#, no-wrap
msgid "2020-08-13"
-msgstr "2014-08-19"
+msgstr "2020-08-13"
#. type: Plain text
#: build/C/man7/socket.7:57
#. type: tbl table
#: build/C/man7/socket.7:188
-#, fuzzy, no-wrap
-#| msgid "POLLIN|\n"
+#, no-wrap
msgid "POLLIN |\n"
-msgstr "POLLIN|\n"
+msgstr "POLLIN |\n"
#. type: tbl table
#: build/C/man7/socket.7:194
#. type: Plain text
#: build/C/man7/socket.7:427
-#, fuzzy
-#| msgid ""
-#| "Before Linux 3.8, this socket option could be set, but could not "
-#| "retrieved with B<getsockopt>(2). Since Linux 3.8, it is readable. The "
-#| "I<optlen> argument should contain the buffer size available to receive "
-#| "the device name and is recommended to be B<IFNAMSZ> bytes. The real "
-#| "device name length is reported back in the I<optlen> argument."
msgid ""
"Before Linux 3.8, this socket option could be set, but could not retrieved "
"with B<getsockopt>(2). Since Linux 3.8, it is readable. The I<optlen> "
#. type: Plain text
#: build/C/man7/socket.7:451
-#, fuzzy
-#| msgid ""
-#| "Enable socket debugging. Only allowed for processes with the "
-#| "B<CAP_NET_ADMIN> capability or an effective user ID of 0."
msgid ""
"Enable socket debugging. Allowed only for processes with the "
"B<CAP_NET_ADMIN> capability or an effective user ID of 0."
#: build/C/man7/socket.7:451
#, no-wrap
msgid "B<SO_DETACH_FILTER> (since Linux 2.2), B<SO_DETACH_BPF> (since Linux 3.19)"
-msgstr ""
+msgstr "B<SO_DETACH_FILTER> (Linux 2.2 以降), B<SO_DETACH_BPF> (Linux 3.19 以降)"
#. type: Plain text
#: build/C/man7/socket.7:460
"setsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu,\n"
" sizeof(cpu));\n"
msgstr ""
+"int cpu = 1;\n"
+"setsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu,\n"
+" sizeof(cpu));\n"
#
#
#. type: TP
#: build/C/man7/socket.7:571
-#, fuzzy, no-wrap
-#| msgid "B<SO_LINGER>"
+#, no-wrap
msgid "B<SO_LOCK_FILTER>"
-msgstr "B<SO_LINGER>"
+msgstr "B<SO_LOCK_FILTER>"
#. commit d59577b6ffd313d0ab3be39cb1ab47e29bdc9182
#. type: Plain text
#. type: TP
#: build/C/man7/socket.7:633
-#, fuzzy, no-wrap
-#| msgid "B<SO_PASSCRED>"
+#, no-wrap
msgid "B<SO_PASSSEC>"
-msgstr "B<SO_PASSCRED>"
+msgstr "B<SO_PASSSEC>"
#. type: Plain text
#: build/C/man7/socket.7:640
-#, fuzzy
-#| msgid ""
-#| "Enable or disable the receiving of the B<SCM_CREDENTIALS> control "
-#| "message. For more information see B<unix>(7)."
msgid ""
"Enable or disable the receiving of the B<SCM_SECURITY> control message. For "
"more information see B<unix>(7)."
-msgstr ""
-"B<SCM_CREDENTIALS> 制御メッセージの受信を有効/無効にする。詳細は B<unix>(7) "
-"を参照のこと。"
+msgstr "B<SCM_SECURITY> 制御メッセージの受信を有効/無効にする。詳細は B<unix>(7) を参照のこと。"
#. type: TP
#: build/C/man7/socket.7:640
#. type: TP
#: build/C/man7/socket.7:709
-#, fuzzy, no-wrap
-#| msgid "B<SO_PROTOCOL> (since Linux 2.6.32)"
+#, no-wrap
msgid "B<SO_PEERSEC> (since Linux 2.6.2)"
-msgstr "B<SO_PROTOCOL> (Linux 2.6.32 以降)"
+msgstr "B<SO_PEERSEC> (Linux 2.6.2 以降)"
#. type: Plain text
#: build/C/man7/socket.7:716
#. this also sets the IP type-of-service (TOS) field for outgoing packets.
#. type: Plain text
#: build/C/man7/socket.7:729
-#, fuzzy
-#| msgid ""
-#| "Set the protocol-defined priority for all packets to be sent on this "
-#| "socket. Linux uses this value to order the networking queues: packets "
-#| "with a higher priority may be processed first depending on the selected "
-#| "device queueing discipline. For B<ip>(7), this also sets the IP type-of-"
-#| "service (TOS) field for outgoing packets. Setting a priority outside the "
-#| "range 0 to 6 requires the B<CAP_NET_ADMIN> capability."
msgid ""
"Set the protocol-defined priority for all packets to be sent on this "
"socket. Linux uses this value to order the networking queues: packets with "
"a higher priority may be processed first depending on the selected device "
"queueing discipline. Setting a priority outside the range 0 to 6 requires "
"the B<CAP_NET_ADMIN> capability."
-msgstr ""
-"プロトコルで定義された優先度を、このソケットから 送信される全てのパケットに"
-"セットする。 Linux はネットワークキュー内部の 整列にこの値を用いる。高い優先"
-"度を持っているパケットは先に処理される。 ただしそのデバイスのキュー処理のやり"
-"方に依存する。 B<ip>(7) では、外向けパケットの IP type-of-service (TOS) "
-"フィールドにもこの値が設定される。 0 から 6 以外の優先度をセットするには "
-"B<CAP_NET_ADMIN> ケーパビリティが必要である。"
+msgstr "プロトコルで定義された優先度を、このソケットから 送信される全てのパケットにセットする。 Linux はネットワークキュー内部の 整列にこの値を用いる。高い優先度を持っているパケットは先に処理される。 ただしそのデバイスのキュー処理のやり方に依存する。 0 から 6 以外の優先度をセットするには B<CAP_NET_ADMIN> ケーパビリティが必要である。"
#. type: TP
#: build/C/man7/socket.7:729
#. type: TP
#: build/C/man7/socket.7:857
-#, fuzzy, no-wrap
-#| msgid "B<SO_BUSY_POLL> (since Linux 3.11)"
+#, no-wrap
msgid "B<SO_REUSEPORT> (since Linux 3.9)"
-msgstr "B<SO_BUSY_POLL> (Linux 3.11 以降)"
+msgstr "B<SO_REUSEPORT> (Linux 3.9 以降)"
#. type: Plain text
#: build/C/man7/socket.7:872
#. type: TP
#: build/C/man7/socket.7:896
-#, fuzzy, no-wrap
-#| msgid "B<MSG_ERRQUEUE> (since Linux 2.2)"
+#, no-wrap
msgid "B<SO_SELECT_ERR_QUEUE> (since Linux 3.10)"
-msgstr "B<MSG_ERRQUEUE> (Linux 2.2 以降)"
+msgstr "B<SO_SELECT_ERR_QUEUE> (Linux 3.10 以降)"
#. commit 7d4c04fc170087119727119074e72445f2bb192b
#. Author: Keller, Jacob E <jacob.e.keller@intel.com>
#. type: TP
#: build/C/man7/socket.7:977
-#, fuzzy, no-wrap
-#| msgid "B<SO_DOMAIN> (since Linux 2.6.32)"
+#, no-wrap
msgid "B<SO_TIMESTAMPNS> (since Linux 2.6.22)"
-msgstr "B<SO_DOMAIN> (Linux 2.6.32 以降)"
+msgstr "B<SO_TIMESTAMPNS> (Linux 2.6.22 以降)"
#. commit 92f37fd2ee805aa77925c1e64fd56088b46094fc
#. type: Plain text
#. type: Plain text
#: build/C/man7/socket.7:1221
-#, fuzzy
-#| msgid ""
-#| "B<SO_BINDTODEVICE> was introduced in Linux 2.0.30. B<SO_PASSCRED> is new "
-#| "in Linux 2.2. The I</proc> interfaces was introduced in Linux 2.2. "
-#| "B<SO_RCVTIMEO> and B<SO_SNDTIMEO> are supported since Linux 2.3.41. "
-#| "Earlier, timeouts were fixed to a protocol-specific setting, and could "
-#| "not be read or written."
msgid ""
"B<SO_BINDTODEVICE> was introduced in Linux 2.0.30. B<SO_PASSCRED> is new in "
"Linux 2.2. The I</proc> interfaces were introduced in Linux 2.2. "
#. type: Plain text
#: build/C/man7/socket.7:1259
-#, fuzzy
-#| msgid ""
-#| "B<connect>(2), B<getsockopt>(2), B<setsockopt>(2), B<socket>(2), "
-#| "B<capabilities>(7), B<ddp>(7), B<ip>(7), B<packet>(7), B<tcp>(7), "
-#| "B<udp>(7), B<unix>(7)"
msgid ""
"B<wireshark>(1), B<bpf>(2), B<connect>(2), B<getsockopt>(2), "
"B<setsockopt>(2), B<socket>(2), B<pcap>(3), B<address_families>(7), "
"B<capabilities>(7), B<ddp>(7), B<ip>(7), B<ipv6>(7), B<packet>(7), "
"B<tcp>(7), B<udp>(7), B<unix>(7), B<tcpdump>(8)"
-msgstr ""
-"B<connect>(2), B<getsockopt>(2), B<setsockopt>(2), B<socket>(2), "
-"B<capabilities>(7), B<ddp>(7), B<ip>(7), B<packet>(7), B<tcp>(7), B<udp>(7), "
-"B<unix>(7)"
+msgstr "B<wireshark>(1), B<bpf>(2), B<connect>(2), B<getsockopt>(2), B<setsockopt>(2), B<socket>(2), B<pcap>(3), B<address_families>(7), B<capabilities>(7), B<ddp>(7), B<ip>(7), B<ipv6>(7), B<packet>(7), B<tcp>(7), B<udp>(7), B<unix>(7), B<tcpdump>(8)"
#. type: TH
#: build/C/man2/socketcall.2:25
#. type: Plain text
#: build/C/man2/socketcall.2:30
-#, fuzzy
-#| msgid "B<#include E<lt>net/if.hE<gt>>\n"
msgid "B<#include E<lt>linux/net.hE<gt>>"
-msgstr "B<#include E<lt>net/if.hE<gt>>\n"
+msgstr "B<#include E<lt>linux/net.hE<gt>>"
#. type: Plain text
#: build/C/man2/socketcall.2:32
#: build/C/man2/socketcall.2:48
#, no-wrap
msgid "I<call>"
-msgstr ""
+msgstr "I<call>"
#. type: tbl table
#: build/C/man2/socketcall.2:51
-#, fuzzy, no-wrap
-#| msgid "B<SOCK_SEQPACKET>"
+#, no-wrap
msgid "B<SYS_SOCKET>"
-msgstr "B<SOCK_SEQPACKET>"
+msgstr "B<SYS_SOCKET>"
#. type: tbl table
#: build/C/man2/socketcall.2:53
-#, fuzzy, no-wrap
-#| msgid "B<packet>(7)"
+#, no-wrap
msgid "B<socket>(2)"
-msgstr "B<packet>(7)"
+msgstr "B<socket>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:56
-#, fuzzy, no-wrap
-#| msgid "B<SO_BINDTODEVICE>"
+#, no-wrap
msgid "B<SYS_BIND>"
-msgstr "B<SO_BINDTODEVICE>"
+msgstr "B<SYS_BIND>"
#. type: tbl table
#: build/C/man2/socketcall.2:58
-#, fuzzy, no-wrap
-#| msgid "See B<bind>(2)."
+#, no-wrap
msgid "B<bind>(2)"
-msgstr "B<bind>(2) 参照。"
+msgstr "B<bind>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:61
-#, fuzzy, no-wrap
-#| msgid "CONNECT"
+#, no-wrap
msgid "B<SYS_CONNECT>"
-msgstr "CONNECT"
+msgstr "B<SYS_CONNECT>"
#. type: tbl table
#: build/C/man2/socketcall.2:63
#, no-wrap
msgid "B<connect>(2)"
-msgstr ""
+msgstr "B<connect>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:66
-#, fuzzy, no-wrap
-#| msgid "LISTEN"
+#, no-wrap
msgid "B<SYS_LISTEN>"
-msgstr "LISTEN"
+msgstr "B<SYS_LISTEN>"
#. type: tbl table
#: build/C/man2/socketcall.2:68
#, no-wrap
msgid "B<listen>(2)"
-msgstr ""
+msgstr "B<listen>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:71
-#, fuzzy, no-wrap
-#| msgid "B<SO_ACCEPTCONN>"
+#, no-wrap
msgid "B<SYS_ACCEPT>"
-msgstr "B<SO_ACCEPTCONN>"
+msgstr "B<SYS_ACCEPT>"
#. type: tbl table
#: build/C/man2/socketcall.2:73
#, no-wrap
msgid "B<accept>(2)"
-msgstr ""
+msgstr "B<accept>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:76
-#, fuzzy, no-wrap
-#| msgid "GETSOCKNAME"
+#, no-wrap
msgid "B<SYS_GETSOCKNAME>"
-msgstr "GETSOCKNAME"
+msgstr "B<SYS_GETSOCKNAME>"
#. type: tbl table
#: build/C/man2/socketcall.2:78
-#, fuzzy, no-wrap
-#| msgid "B<bind>(2), B<getsockname>(2)"
+#, no-wrap
msgid "B<getsockname>(2)"
-msgstr "B<bind>(2), B<getsockname>(2)"
+msgstr "B<getsockname>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:81
-#, fuzzy, no-wrap
-#| msgid "B<SO_PEERCRED>"
+#, no-wrap
msgid "B<SYS_GETPEERNAME>"
-msgstr "B<SO_PEERCRED>"
+msgstr "B<SYS_GETPEERNAME>"
#. type: tbl table
#: build/C/man2/socketcall.2:83
#, no-wrap
msgid "B<getpeername>(2)"
-msgstr ""
+msgstr "B<getpeername>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:86
-#, fuzzy, no-wrap
-#| msgid "SOCKETPAIR"
+#, no-wrap
msgid "B<SYS_SOCKETPAIR>"
-msgstr "SOCKETPAIR"
+msgstr "B<SYS_SOCKETPAIR>"
#. type: tbl table
#: build/C/man2/socketcall.2:88
-#, fuzzy, no-wrap
-#| msgid "B<packet>(7)"
+#, no-wrap
msgid "B<socketpair>(2)"
-msgstr "B<packet>(7)"
+msgstr "B<socketpair>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:91
#, no-wrap
msgid "B<SYS_SEND>"
-msgstr ""
+msgstr "B<SYS_SEND>"
#. type: tbl table
#: build/C/man2/socketcall.2:93
-#, fuzzy, no-wrap
-#| msgid "See B<bind>(2)."
+#, no-wrap
msgid "B<send>(2)"
-msgstr "B<bind>(2) 参照。"
+msgstr "B<send>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:96
#, no-wrap
msgid "B<SYS_RECV>"
-msgstr ""
+msgstr "B<SYS_RECV>"
#. type: tbl table
#: build/C/man2/socketcall.2:98
-#, fuzzy, no-wrap
-#| msgid "recv()"
+#, no-wrap
msgid "B<recv>(2)"
-msgstr "recv()"
+msgstr "B<recv>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:101
#, no-wrap
msgid "B<SYS_SENDTO>"
-msgstr ""
+msgstr "B<SYS_SENDTO>"
#. type: tbl table
#: build/C/man2/socketcall.2:103
#, no-wrap
msgid "B<sendto>(2)"
-msgstr ""
+msgstr "B<sendto>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:106
#, no-wrap
msgid "B<SYS_RECVFROM>"
-msgstr ""
+msgstr "B<SYS_RECVFROM>"
#. type: tbl table
#: build/C/man2/socketcall.2:108
-#, fuzzy, no-wrap
-#| msgid "recvfrom()"
+#, no-wrap
msgid "B<recvfrom>(2)"
-msgstr "recvfrom()"
+msgstr "B<recvfrom>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:111
#, no-wrap
msgid "B<SYS_SHUTDOWN>"
-msgstr ""
+msgstr "B<SYS_SHUTDOWN>"
#. type: tbl table
#: build/C/man2/socketcall.2:113
#, no-wrap
msgid "B<shutdown>(2)"
-msgstr ""
+msgstr "B<shutdown>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:116
-#, fuzzy, no-wrap
-#| msgid "GETSOCKOPT"
+#, no-wrap
msgid "B<SYS_SETSOCKOPT>"
-msgstr "GETSOCKOPT"
+msgstr "B<SYS_SETSOCKOPT>"
#. type: tbl table
#: build/C/man2/socketcall.2:118
#, no-wrap
msgid "B<setsockopt>(2)"
-msgstr ""
+msgstr "B<setsockopt>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:121
-#, fuzzy, no-wrap
-#| msgid "GETSOCKOPT"
+#, no-wrap
msgid "B<SYS_GETSOCKOPT>"
-msgstr "GETSOCKOPT"
+msgstr "B<SYS_GETSOCKOPT>"
#. type: tbl table
#: build/C/man2/socketcall.2:123
#, no-wrap
msgid "B<getsockopt>(2)"
-msgstr ""
+msgstr "B<getsockopt>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:126
-#, fuzzy, no-wrap
-#| msgid "SENDMMSG"
+#, no-wrap
msgid "B<SYS_SENDMSG>"
-msgstr "SENDMMSG"
+msgstr "B<SYS_SENDMSG>"
#. type: tbl table
#: build/C/man2/socketcall.2:128
-#, fuzzy, no-wrap
-#| msgid "sendmsg()"
+#, no-wrap
msgid "B<sendmsg>(2)"
-msgstr "sendmsg()"
+msgstr "B<sendmsg>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:131
-#, fuzzy, no-wrap
-#| msgid "RECVMMSG"
+#, no-wrap
msgid "B<SYS_RECVMSG>"
-msgstr "RECVMMSG"
+msgstr "B<SYS_RECVMSG>"
#. type: tbl table
#: build/C/man2/socketcall.2:133
-#, fuzzy, no-wrap
-#| msgid "recvmsg()"
+#, no-wrap
msgid "B<recvmsg>(2)"
-msgstr "recvmsg()"
+msgstr "B<recvmsg>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:136
-#, fuzzy, no-wrap
-#| msgid "B<SO_ACCEPTCONN>"
+#, no-wrap
msgid "B<SYS_ACCEPT4>"
-msgstr "B<SO_ACCEPTCONN>"
+msgstr "B<SYS_ACCEPT4>"
#. type: tbl table
#: build/C/man2/socketcall.2:138
#, no-wrap
msgid "B<accept4>(2)"
-msgstr ""
+msgstr "B<accept4>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:141
-#, fuzzy, no-wrap
-#| msgid "RECVMMSG"
+#, no-wrap
msgid "B<SYS_RECVMMSG>"
-msgstr "RECVMMSG"
+msgstr "B<SYS_RECVMMSG>"
#. type: tbl table
#: build/C/man2/socketcall.2:143
-#, fuzzy, no-wrap
-#| msgid "recvmsg()"
+#, no-wrap
msgid "B<recvmmsg>(2)"
-msgstr "recvmsg()"
+msgstr "B<recvmmsg>(2)"
#. type: tbl table
#: build/C/man2/socketcall.2:146
-#, fuzzy, no-wrap
-#| msgid "SENDMMSG"
+#, no-wrap
msgid "B<SYS_SENDMMSG>"
-msgstr "SENDMMSG"
+msgstr "B<SYS_SENDMMSG>"
#. type: tbl table
#: build/C/man2/socketcall.2:148
-#, fuzzy, no-wrap
-#| msgid "sendmsg()"
+#, no-wrap
msgid "B<sendmmsg>(2)"
-msgstr "sendmsg()"
+msgstr "B<sendmmsg>(2)"
#. type: Plain text
#: build/C/man2/socketcall.2:153
#. type: Plain text
#: build/C/man2/socketpair.2:112
-#, fuzzy
-#| msgid ""
-#| "4.4BSD, POSIX.1-2001. The B<socketpair>() function call appeared in "
-#| "4.2BSD. It is generally portable to/from non-BSD systems supporting "
-#| "clones of the BSD socket layer (including System\\ V variants)."
msgid ""
"POSIX.1-2001, POSIX.1-2008, 4.4BSD. B<socketpair>() first appeared in "
"4.2BSD. It is generally portable to/from non-BSD systems supporting clones "
"of the BSD socket layer (including System\\ V variants)."
-msgstr ""
-"4.4BSD, POSIX.1-2001. B<socketpair>() 関数コールは 4.2BSD で現われた。一般"
-"に (System\\ V の変種を含めて) BSD のソケット層のクローンをサポートしてい"
-"る、BSD 以外のシステムと、 互いに移植性がある。"
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.4BSD. B<socketpair>() は 4.2BSD で登場した。一般に (System\\ V の変種を含めて) BSD のソケット層のクローンをサポートしている、BSD 以外のシステムと、 互いに移植性がある。"
#. commit: 70b03759e9ecfae400605fa34f3d7154cccbbba3
#. type: Plain text
#. type: TP
#: build/C/man7/bpf-helpers.7:300
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t send(int >I<sockfd>B<, const void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_skb_store_bytes(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, const void *>I<from>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t send(int >I<sockfd>B<, const void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_skb_store_bytes(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, const void *>I<from>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:310
#. type: TP
#: build/C/man7/bpf-helpers.7:815
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t recvmsg(int >I<sockfd>B<, struct msghdr *>I<msg>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_get_stackid(void *>I<ctx>B<, struct bpf_map *>I<map>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t recvmsg(int >I<sockfd>B<, struct msghdr *>I<msg>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_get_stackid(void *>I<ctx>B<, struct bpf_map *>I<map>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:824
#. type: TP
#: build/C/man7/bpf-helpers.7:988
-#, fuzzy, no-wrap
-#| msgid "B<AF_PACKET>"
+#, no-wrap
msgid "B<PACKET_HOST>"
-msgstr "B<AF_PACKET>"
+msgstr "B<PACKET_HOST>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:991
#. type: TP
#: build/C/man7/bpf-helpers.7:991
-#, fuzzy, no-wrap
-#| msgid "B<SO_BROADCAST>"
+#, no-wrap
msgid "B<PACKET_BROADCAST>"
-msgstr "B<SO_BROADCAST>"
+msgstr "B<PACKET_BROADCAST>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:994
#: build/C/man7/bpf-helpers.7:994
#, no-wrap
msgid "B<PACKET_MULTICAST>"
-msgstr ""
+msgstr "B<PACKET_MULTICAST>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:997
#: build/C/man7/bpf-helpers.7:997
#, no-wrap
msgid "B<PACKET_OTHERHOST>"
-msgstr ""
+msgstr "B<PACKET_OTHERHOST>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1000
#: build/C/man7/bpf-helpers.7:1044
#, no-wrap
msgid "B<u64 bpf_get_current_task(void)>"
-msgstr ""
+msgstr "B<u64 bpf_get_current_task(void)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1050
#: build/C/man7/bpf-helpers.7:1051
#, no-wrap
msgid "B<long bpf_probe_write_user(void *>I<dst>B<, const void *>I<src>B<, u32 >I<len>B<)>"
-msgstr ""
+msgstr "B<long bpf_probe_write_user(void *>I<dst>B<, const void *>I<src>B<, u32 >I<len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1059
#: build/C/man7/bpf-helpers.7:1074
#, no-wrap
msgid "B<long bpf_current_task_under_cgroup(struct bpf_map *>I<map>B<, u32 >I<index>B<)>"
-msgstr ""
+msgstr "B<long bpf_current_task_under_cgroup(struct bpf_map *>I<map>B<, u32 >I<index>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1082
#: build/C/man7/bpf-helpers.7:1094
#, no-wrap
msgid "B<long bpf_skb_change_tail(struct sk_buff *>I<skb>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_change_tail(struct sk_buff *>I<skb>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1102
#: build/C/man7/bpf-helpers.7:1122
#, no-wrap
msgid "B<long bpf_skb_pull_data(struct sk_buff *>I<skb>B<, u32 >I<len>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_pull_data(struct sk_buff *>I<skb>B<, u32 >I<len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1131
#: build/C/man7/bpf-helpers.7:1162
#, no-wrap
msgid "B<s64 bpf_csum_update(struct sk_buff *>I<skb>B<, __wsum >I<csum>B<)>"
-msgstr ""
+msgstr "B<s64 bpf_csum_update(struct sk_buff *>I<skb>B<, __wsum >I<csum>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1173
#. type: TP
#: build/C/man7/bpf-helpers.7:1178
-#, fuzzy, no-wrap
-#| msgid "B<void freeifaddrs(struct ifaddrs *>I<ifa>B<);>\n"
+#, no-wrap
msgid "B<void bpf_set_hash_invalid(struct sk_buff *>I<skb>B<)>"
-msgstr "B<void freeifaddrs(struct ifaddrs *>I<ifa>B<);>\n"
+msgstr "B<void bpf_set_hash_invalid(struct sk_buff *>I<skb>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1188
#: build/C/man7/bpf-helpers.7:1189
#, no-wrap
msgid "B<long bpf_get_numa_node_id(void)>"
-msgstr ""
+msgstr "B<long bpf_get_numa_node_id(void)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1200
#: build/C/man7/bpf-helpers.7:1204
#, no-wrap
msgid "B<long bpf_skb_change_head(struct sk_buff *>I<skb>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_change_head(struct sk_buff *>I<skb>B<, u32 >I<len>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1213
#: build/C/man7/bpf-helpers.7:1229
#, no-wrap
msgid "B<long bpf_xdp_adjust_head(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
-msgstr ""
+msgstr "B<long bpf_xdp_adjust_head(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1238
#: build/C/man7/bpf-helpers.7:1248
#, no-wrap
msgid "B<long bpf_probe_read_str(void *>I<dst>B<, u32 >I<size>B<, const void *>I<unsafe_ptr>B<)>"
-msgstr ""
+msgstr "B<long bpf_probe_read_str(void *>I<dst>B<, u32 >I<size>B<, const void *>I<unsafe_ptr>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1256
#: build/C/man7/bpf-helpers.7:1265
#, no-wrap
msgid "B<u64 bpf_get_socket_cookie(struct sk_buff *>I<skb>B<)>"
-msgstr ""
+msgstr "B<u64 bpf_get_socket_cookie(struct sk_buff *>I<skb>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1277
#: build/C/man7/bpf-helpers.7:1282
#, no-wrap
msgid "B<u64 bpf_get_socket_cookie(struct bpf_sock_addr *>I<ctx>B<)>"
-msgstr ""
+msgstr "B<u64 bpf_get_socket_cookie(struct bpf_sock_addr *>I<ctx>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1289
#: build/C/man7/bpf-helpers.7:1293
#, no-wrap
msgid "B<u64 bpf_get_socket_cookie(struct bpf_sock_ops *>I<ctx>B<)>"
-msgstr ""
+msgstr "B<u64 bpf_get_socket_cookie(struct bpf_sock_ops *>I<ctx>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1300
#: build/C/man7/bpf-helpers.7:1304
#, no-wrap
msgid "B<u32 bpf_get_socket_uid(struct sk_buff *>I<skb>B<)>"
-msgstr ""
+msgstr "B<u32 bpf_get_socket_uid(struct sk_buff *>I<skb>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1314
#: build/C/man7/bpf-helpers.7:1315
#, no-wrap
msgid "B<long bpf_set_hash(struct sk_buff *>I<skb>B<, u32 >I<hash>B<)>"
-msgstr ""
+msgstr "B<long bpf_set_hash(struct sk_buff *>I<skb>B<, u32 >I<hash>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1322
#. type: TP
#: build/C/man7/bpf-helpers.7:1326
-#, fuzzy, no-wrap
-#| msgid "B<int socketpair(int >I<domain>B<, int >I<type>B<, int >I<protocol>B<, int >I<sv>B<[2]);>"
+#, no-wrap
msgid "B<long bpf_setsockopt(void *>I<bpf_socket>B<, int >I<level>B<, int >I<optname>B<, void *>I<optval>B<, int >I<optlen>B<)>"
-msgstr "B<int socketpair(int >I<domain>B<, int >I<type>B<, int >I<protocol>B<, int >I<sv>B<[2]);>"
+msgstr "B<long bpf_setsockopt(void *>I<bpf_socket>B<, int >I<level>B<, int >I<optname>B<, void *>I<optval>B<, int >I<optlen>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1336
#: build/C/man7/bpf-helpers.7:1369
#, no-wrap
msgid "B<long bpf_skb_adjust_room(struct sk_buff *>I<skb>B<, s32 >I<len_diff>B<, u32 >I<mode>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_adjust_room(struct sk_buff *>I<skb>B<, s32 >I<len_diff>B<, u32 >I<mode>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1376
#: build/C/man7/bpf-helpers.7:1425
#, no-wrap
msgid "B<long bpf_redirect_map(struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_redirect_map(struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1436
#: build/C/man7/bpf-helpers.7:1450
#, no-wrap
msgid "B<long bpf_sk_redirect_map(struct sk_buff *>I<skb>B<, struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_sk_redirect_map(struct sk_buff *>I<skb>B<, struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1461
#: build/C/man7/bpf-helpers.7:1465
#, no-wrap
msgid "B<long bpf_sock_map_update(struct bpf_sock_ops *>I<skops>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_sock_map_update(struct bpf_sock_ops *>I<skops>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1473
#: build/C/man7/bpf-helpers.7:1492
#, no-wrap
msgid "B<long bpf_xdp_adjust_meta(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
-msgstr ""
+msgstr "B<long bpf_xdp_adjust_meta(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1502
#: build/C/man7/bpf-helpers.7:1525
#, no-wrap
msgid "B<long bpf_perf_event_read_value(struct bpf_map *>I<map>B<, u64 >I<flags>B<, struct bpf_perf_event_value *>I<buf>B<, u32 >I<buf_size>B<)>"
-msgstr ""
+msgstr "B<long bpf_perf_event_read_value(struct bpf_map *>I<map>B<, u64 >I<flags>B<, struct bpf_perf_event_value *>I<buf>B<, u32 >I<buf_size>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1541
#: build/C/man7/bpf-helpers.7:1567
#, no-wrap
msgid "normalized_counter = counter * t_enabled / t_running\n"
-msgstr ""
+msgstr "normalized_counter = counter * t_enabled / t_running\n"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1578
#: build/C/man7/bpf-helpers.7:1582
#, no-wrap
msgid "B<long bpf_perf_prog_read_value(struct bpf_perf_event_data *>I<ctx>B<, struct bpf_perf_event_value *>I<buf>B<, u32 >I<buf_size>B<)>"
-msgstr ""
+msgstr "B<long bpf_perf_prog_read_value(struct bpf_perf_event_data *>I<ctx>B<, struct bpf_perf_event_value *>I<buf>B<, u32 >I<buf_size>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1593
#. type: TP
#: build/C/man7/bpf-helpers.7:1597
-#, fuzzy, no-wrap
-#| msgid "B<int socketpair(int >I<domain>B<, int >I<type>B<, int >I<protocol>B<, int >I<sv>B<[2]);>"
+#, no-wrap
msgid "B<long bpf_getsockopt(void *>I<bpf_socket>B<, int >I<level>B<, int >I<optname>B<, void *>I<optval>B<, int >I<optlen>B<)>"
-msgstr "B<int socketpair(int >I<domain>B<, int >I<type>B<, int >I<protocol>B<, int >I<sv>B<[2]);>"
+msgstr "B<long bpf_getsockopt(void *>I<bpf_socket>B<, int >I<level>B<, int >I<optname>B<, void *>I<optval>B<, int >I<optlen>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1608
#: build/C/man7/bpf-helpers.7:1633
#, no-wrap
msgid "B<long bpf_override_return(struct pt_regs *>I<regs>B<, u64 >I<rc>B<)>"
-msgstr ""
+msgstr "B<long bpf_override_return(struct pt_regs *>I<regs>B<, u64 >I<rc>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1642
#: build/C/man7/bpf-helpers.7:1662
#, no-wrap
msgid "B<long bpf_sock_ops_cb_flags_set(struct bpf_sock_ops *>I<bpf_sock>B<, int >I<argval>B<)>"
-msgstr ""
+msgstr "B<long bpf_sock_ops_cb_flags_set(struct bpf_sock_ops *>I<bpf_sock>B<, int >I<argval>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1670
#: build/C/man7/bpf-helpers.7:1697
#, no-wrap
msgid "B<bpf_sock_ops_cb_flags_set(bpf_sock,>"
-msgstr ""
+msgstr "B<bpf_sock_ops_cb_flags_set(bpf_sock,>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1700
msgid "B<bpf_sock-E<gt>bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)>"
-msgstr ""
+msgstr "B<bpf_sock-E<gt>bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1704
#: build/C/man7/bpf-helpers.7:1723
#, no-wrap
msgid "B<long bpf_msg_redirect_map(struct sk_msg_buff *>I<msg>B<, struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_msg_redirect_map(struct sk_msg_buff *>I<msg>B<, struct bpf_map *>I<map>B<, u32 >I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1737
#: build/C/man7/bpf-helpers.7:1741
#, no-wrap
msgid "B<long bpf_msg_apply_bytes(struct sk_msg_buff *>I<msg>B<, u32 >I<bytes>B<)>"
-msgstr ""
+msgstr "B<long bpf_msg_apply_bytes(struct sk_msg_buff *>I<msg>B<, u32 >I<bytes>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1748
#: build/C/man7/bpf-helpers.7:1782
#, no-wrap
msgid "B<long bpf_msg_cork_bytes(struct sk_msg_buff *>I<msg>B<, u32 >I<bytes>B<)>"
-msgstr ""
+msgstr "B<long bpf_msg_cork_bytes(struct sk_msg_buff *>I<msg>B<, u32 >I<bytes>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1790
#: build/C/man7/bpf-helpers.7:1804
#, no-wrap
msgid "B<long bpf_msg_pull_data(struct sk_msg_buff *>I<msg>B<, u32 >I<start>B<, u32 >I<end>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_msg_pull_data(struct sk_msg_buff *>I<msg>B<, u32 >I<start>B<, u32 >I<end>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1812
#. type: TP
#: build/C/man7/bpf-helpers.7:1838
-#, fuzzy, no-wrap
-#| msgid "B<int getsockname(int >I<sockfd>B<, struct sockaddr *>I<addr>B<, socklen_t *>I<addrlen>B<);>\n"
+#, no-wrap
msgid "B<long bpf_bind(struct bpf_sock_addr *>I<ctx>B<, struct sockaddr *>I<addr>B<, int >I<addr_len>B<)>"
-msgstr "B<int getsockname(int >I<sockfd>B<, struct sockaddr *>I<addr>B<, socklen_t *>I<addrlen>B<);>\n"
+msgstr "B<long bpf_bind(struct bpf_sock_addr *>I<ctx>B<, struct sockaddr *>I<addr>B<, int >I<addr_len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1848
#: build/C/man7/bpf-helpers.7:1860
#, no-wrap
msgid "B<long bpf_xdp_adjust_tail(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
-msgstr ""
+msgstr "B<long bpf_xdp_adjust_tail(struct xdp_buff *>I<xdp_md>B<, int >I<delta>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1868
#: build/C/man7/bpf-helpers.7:1878
#, no-wrap
msgid "B<long bpf_skb_get_xfrm_state(struct sk_buff *>I<skb>B<, u32 >I<index>B<, struct bpf_xfrm_state *>I<xfrm_state>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_get_xfrm_state(struct sk_buff *>I<skb>B<, u32 >I<index>B<, struct bpf_xfrm_state *>I<xfrm_state>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1885
#. type: TP
#: build/C/man7/bpf-helpers.7:1898
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_get_stack(void *>I<ctx>B<, void *>I<buf>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_get_stack(void *>I<ctx>B<, void *>I<buf>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1908
#: build/C/man7/bpf-helpers.7:1917 build/C/man7/bpf-helpers.7:3569
#, no-wrap
msgid "B<BPF_F_USER_BUILD_ID>"
-msgstr ""
+msgstr "B<BPF_F_USER_BUILD_ID>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1921 build/C/man7/bpf-helpers.7:3573
#: build/C/man7/bpf-helpers.7:1942
#, no-wrap
msgid "B<long bpf_skb_load_bytes_relative(const void *>I<skb>B<, u32 >I<offset>B<, void *>I<to>B<, u32 >I<len>B<, u32 >I<start_header>B<)>"
-msgstr ""
+msgstr "B<long bpf_skb_load_bytes_relative(const void *>I<skb>B<, u32 >I<offset>B<, void *>I<to>B<, u32 >I<len>B<, u32 >I<start_header>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1953
#: build/C/man7/bpf-helpers.7:1954
#, no-wrap
msgid "B<BPF_HDR_START_MAC>"
-msgstr ""
+msgstr "B<BPF_HDR_START_MAC>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1957
#: build/C/man7/bpf-helpers.7:1957
#, no-wrap
msgid "B<BPF_HDR_START_NET>"
-msgstr ""
+msgstr "B<BPF_HDR_START_NET>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1960
#: build/C/man7/bpf-helpers.7:1971
#, no-wrap
msgid "B<long bpf_fib_lookup(void *>I<ctx>B<, struct bpf_fib_lookup *>I<params>B<, int >I<plen>B<, u32 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_fib_lookup(void *>I<ctx>B<, struct bpf_fib_lookup *>I<params>B<, int >I<plen>B<, u32 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1985
#: build/C/man7/bpf-helpers.7:1990
#, no-wrap
msgid "B<BPF_FIB_LOOKUP_DIRECT>"
-msgstr ""
+msgstr "B<BPF_FIB_LOOKUP_DIRECT>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1994
#: build/C/man7/bpf-helpers.7:1994
#, no-wrap
msgid "B<BPF_FIB_LOOKUP_OUTPUT>"
-msgstr ""
+msgstr "B<BPF_FIB_LOOKUP_OUTPUT>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:1998
#: build/C/man7/bpf-helpers.7:2014
#, no-wrap
msgid "B<long bpf_sock_hash_update(struct bpf_sock_ops *>I<skops>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_sock_hash_update(struct bpf_sock_ops *>I<skops>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2022
#: build/C/man7/bpf-helpers.7:2041
#, no-wrap
msgid "B<long bpf_msg_redirect_hash(struct sk_msg_buff *>I<msg>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_msg_redirect_hash(struct sk_msg_buff *>I<msg>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2055
#: build/C/man7/bpf-helpers.7:2059
#, no-wrap
msgid "B<long bpf_sk_redirect_hash(struct sk_buff *>I<skb>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_sk_redirect_hash(struct sk_buff *>I<skb>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2073
#: build/C/man7/bpf-helpers.7:2077
#, no-wrap
msgid "B<long bpf_lwt_push_encap(struct sk_buff *>I<skb>B<, u32 >I<type>B<, void *>I<hdr>B<, u32 >I<len>B<)>"
-msgstr ""
+msgstr "B<long bpf_lwt_push_encap(struct sk_buff *>I<skb>B<, u32 >I<type>B<, void *>I<hdr>B<, u32 >I<len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2086
#: build/C/man7/bpf-helpers.7:2087
#, no-wrap
msgid "B<BPF_LWT_ENCAP_SEG6>"
-msgstr ""
+msgstr "B<BPF_LWT_ENCAP_SEG6>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2092
#: build/C/man7/bpf-helpers.7:2092
#, no-wrap
msgid "B<BPF_LWT_ENCAP_SEG6_INLINE>"
-msgstr ""
+msgstr "B<BPF_LWT_ENCAP_SEG6_INLINE>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2097
#: build/C/man7/bpf-helpers.7:2097
#, no-wrap
msgid "B<BPF_LWT_ENCAP_IP>"
-msgstr ""
+msgstr "B<BPF_LWT_ENCAP_IP>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2106
#: build/C/man7/bpf-helpers.7:2122
#, no-wrap
msgid "B<long bpf_lwt_seg6_store_bytes(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, const void *>I<from>B<, u32 >I<len>B<)>"
-msgstr ""
+msgstr "B<long bpf_lwt_seg6_store_bytes(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, const void *>I<from>B<, u32 >I<len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2131
#: build/C/man7/bpf-helpers.7:2141
#, no-wrap
msgid "B<long bpf_lwt_seg6_adjust_srh(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, s32 >I<delta>B<)>"
-msgstr ""
+msgstr "B<long bpf_lwt_seg6_adjust_srh(struct sk_buff *>I<skb>B<, u32 >I<offset>B<, s32 >I<delta>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2151
#: build/C/man7/bpf-helpers.7:2161
#, no-wrap
msgid "B<long bpf_lwt_seg6_action(struct sk_buff *>I<skb>B<, u32 >I<action>B<, void *>I<param>B<, u32 >I<param_len>B<)>"
-msgstr ""
+msgstr "B<long bpf_lwt_seg6_action(struct sk_buff *>I<skb>B<, u32 >I<action>B<, void *>I<param>B<, u32 >I<param_len>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2170
#: build/C/man7/bpf-helpers.7:2171
#, no-wrap
msgid "B<SEG6_LOCAL_ACTION_END_X>"
-msgstr ""
+msgstr "B<SEG6_LOCAL_ACTION_END_X>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2175
#: build/C/man7/bpf-helpers.7:2175
#, no-wrap
msgid "B<SEG6_LOCAL_ACTION_END_T>"
-msgstr ""
+msgstr "B<SEG6_LOCAL_ACTION_END_T>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2179
#: build/C/man7/bpf-helpers.7:2179
#, no-wrap
msgid "B<SEG6_LOCAL_ACTION_END_B6>"
-msgstr ""
+msgstr "B<SEG6_LOCAL_ACTION_END_B6>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2183
#: build/C/man7/bpf-helpers.7:2183
#, no-wrap
msgid "B<SEG6_LOCAL_ACTION_END_B6_ENCAP>"
-msgstr ""
+msgstr "B<SEG6_LOCAL_ACTION_END_B6_ENCAP>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2188
#: build/C/man7/bpf-helpers.7:2199
#, no-wrap
msgid "B<long bpf_rc_repeat(void *>I<ctx>B<)>"
-msgstr ""
+msgstr "B<long bpf_rc_repeat(void *>I<ctx>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2208
#: build/C/man7/bpf-helpers.7:2222
#, no-wrap
msgid "B<long bpf_rc_keydown(void *>I<ctx>B<, u32 >I<protocol>B<, u64 >I<scancode>B<, u32 >I<toggle>B<)>"
-msgstr ""
+msgstr "B<long bpf_rc_keydown(void *>I<ctx>B<, u32 >I<protocol>B<, u64 >I<scancode>B<, u32 >I<toggle>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2235
#: build/C/man7/bpf-helpers.7:2252
#, no-wrap
msgid "B<u64 bpf_skb_cgroup_id(struct sk_buff *>I<skb>B<)>"
-msgstr ""
+msgstr "B<u64 bpf_skb_cgroup_id(struct sk_buff *>I<skb>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2264
#: build/C/man7/bpf-helpers.7:2272
#, no-wrap
msgid "B<u64 bpf_get_current_cgroup_id(void)>"
-msgstr ""
+msgstr "B<u64 bpf_get_current_cgroup_id(void)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2279
#: build/C/man7/bpf-helpers.7:2280
#, no-wrap
msgid "B<void *bpf_get_local_storage(void *>I<map>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<void *bpf_get_local_storage(void *>I<map>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2290
#: build/C/man7/bpf-helpers.7:2302
#, no-wrap
msgid "B<long bpf_sk_select_reuseport(struct sk_reuseport_md *>I<reuse>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<long bpf_sk_select_reuseport(struct sk_reuseport_md *>I<reuse>B<, struct bpf_map *>I<map>B<, void *>I<key>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2311
#: build/C/man7/bpf-helpers.7:2315
#, no-wrap
msgid "B<u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *>I<skb>B<, int >I<ancestor_level>B<)>"
-msgstr ""
+msgstr "B<u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *>I<skb>B<, int >I<ancestor_level>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2326
#: build/C/man7/bpf-helpers.7:2337
#, no-wrap
msgid "B<struct bpf_sock *bpf_sk_lookup_tcp(void *>I<ctx>B<, struct bpf_sock_tuple *>I<tuple>B<, u32 >I<tuple_size>B<, u64 >I<netns>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<struct bpf_sock *bpf_sk_lookup_tcp(void *>I<ctx>B<, struct bpf_sock_tuple *>I<tuple>B<, u32 >I<tuple_size>B<, u64 >I<netns>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2345 build/C/man7/bpf-helpers.7:2665
#: build/C/man7/bpf-helpers.7:2352 build/C/man7/bpf-helpers.7:2396
#, no-wrap
msgid "B<sizeof(>I<tuple>B<-E<gt>ipv4)>"
-msgstr ""
+msgstr "B<sizeof(>I<tuple>B<-E<gt>ipv4)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2355 build/C/man7/bpf-helpers.7:2399
#: build/C/man7/bpf-helpers.7:2355 build/C/man7/bpf-helpers.7:2399
#, no-wrap
msgid "B<sizeof(>I<tuple>B<-E<gt>ipv6)>"
-msgstr ""
+msgstr "B<sizeof(>I<tuple>B<-E<gt>ipv6)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2358 build/C/man7/bpf-helpers.7:2402
#: build/C/man7/bpf-helpers.7:2381
#, no-wrap
msgid "B<struct bpf_sock *bpf_sk_lookup_udp(void *>I<ctx>B<, struct bpf_sock_tuple *>I<tuple>B<, u32 >I<tuple_size>B<, u64 >I<netns>B<, u64 >I<flags>B<)>"
-msgstr ""
+msgstr "B<struct bpf_sock *bpf_sk_lookup_udp(void *>I<ctx>B<, struct bpf_sock_tuple *>I<tuple>B<, u32 >I<tuple_size>B<, u64 >I<netns>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2389
#. type: TP
#: build/C/man7/bpf-helpers.7:2425
-#, fuzzy, no-wrap
-#| msgid "B<void freeifaddrs(struct ifaddrs *>I<ifa>B<);>\n"
+#, no-wrap
msgid "B<long bpf_sk_release(struct bpf_sock *>I<sock>B<)>"
-msgstr "B<void freeifaddrs(struct ifaddrs *>I<ifa>B<);>\n"
+msgstr "B<long bpf_sk_release(struct bpf_sock *>I<sock>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2433
#. type: TP
#: build/C/man7/bpf-helpers.7:2699
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_sysctl_get_name(struct bpf_sysctl *>I<ctx>B<, char *>I<buf>B<, size_t >I<buf_len>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_sysctl_get_name(struct bpf_sysctl *>I<ctx>B<, char *>I<buf>B<, size_t >I<buf_len>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2706
#. type: TP
#: build/C/man7/bpf-helpers.7:2784
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t send(int >I<sockfd>B<, const void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_strtol(const char *>I<buf>B<, size_t >I<buf_len>B<, u64 >I<flags>B<, long *>I<res>B<)>"
-msgstr "B<ssize_t send(int >I<sockfd>B<, const void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_strtol(const char *>I<buf>B<, size_t >I<buf_len>B<, u64 >I<flags>B<, long *>I<res>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:2792
#. type: TP
#: build/C/man7/bpf-helpers.7:3190
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t recvmsg(int >I<sockfd>B<, struct msghdr *>I<msg>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_sk_assign(struct sk_buff *>I<skb>B<, struct bpf_sock *>I<sk>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t recvmsg(int >I<sockfd>B<, struct msghdr *>I<msg>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_sk_assign(struct sk_buff *>I<skb>B<, struct bpf_sock *>I<sk>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:3198
#. type: TP
#: build/C/man7/bpf-helpers.7:3551
-#, fuzzy, no-wrap
-#| msgid "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+#, no-wrap
msgid "B<long bpf_get_task_stack(struct task_struct *>I<task>B<, void *>I<buf>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
-msgstr "B<ssize_t recv(int >I<sockfd>B<, void *>I<buf>B<, size_t >I<len>B<, int >I<flags>B<);>\n"
+msgstr "B<long bpf_get_task_stack(struct task_struct *>I<task>B<, void *>I<buf>B<, u32 >I<size>B<, u64 >I<flags>B<)>"
#. type: Plain text
#: build/C/man7/bpf-helpers.7:3560
#. Generated by docutils manpage writer.
#. type: Plain text
#: build/C/man7/bpf-helpers.7:3685
-#, fuzzy
-#| msgid ""
-#| "B<bind>(2), B<connect>(2), B<listen>(2), B<select>(2), B<socket>(2), "
-#| "B<socket>(7)"
msgid ""
"B<bpf>(2), B<bpftool>(8), B<cgroups>(7), B<ip>(8), B<perf_event_open>(2), "
"B<sendmsg>(2), B<socket>(7), B<tc-bpf>(8)"
-msgstr ""
-"B<bind>(2), B<connect>(2), B<listen>(2), B<select>(2), B<socket>(2), "
-"B<socket>(7)"
+msgstr "B<bpf>(2), B<bpftool>(8), B<cgroups>(7), B<ip>(8), B<perf_event_open>(2), B<sendmsg>(2), B<socket>(7), B<tc-bpf>(8)"
#. type: TH
#: build/C/man7/address_families.7:26
#. type: TH
#: build/C/man7/address_families.7:26
-#, fuzzy, no-wrap
-#| msgid "2012-10-16"
+#, no-wrap
msgid "2018-10-16"
-msgstr "2012-10-16"
+msgstr "2018-10-16"
#. type: Plain text
#: build/C/man7/address_families.7:29
#. type: Plain text
#: build/C/man7/address_families.7:45
-#, fuzzy
-#| msgid ""
-#| "The I<domain> argument specifies a communication domain; this selects the "
-#| "protocol family which will be used for communication. These families are "
-#| "defined in I<E<lt>sys/socket.hE<gt>>. The currently understood formats "
-#| "include:"
msgid ""
"The I<domain> argument of the B<socket>(2) specifies a communication "
"domain; this selects the protocol family which will be used for "
"communication. These families are defined in I<E<lt>sys/socket.hE<gt>>. "
"The formats currently understood by the Linux kernel include:"
-msgstr ""
-"I<domain> 引数は通信を行なうドメインを指定する; これはどの プロトコルファミ"
-"リー (protocol family) を通信に使用するかを指定する。 これらのファミリーは "
-"I<E<lt>sys/socket.hE<gt>> に定義されている。 現在、理解できるフォーマットは以"
-"下の通り。"
+msgstr "B<socket>(2) の I<domain> 引数は通信を行なうドメインを指定する; これはどの プロトコルファミリー (protocol family) を通信に使用するかを指定する。 これらのファミリーは I<E<lt>sys/socket.hE<gt>> に定義されている。 現在カーネルが理解できるフォーマットは以下の通り。"
#. type: TP
#: build/C/man7/address_families.7:45
#. type: Plain text
#: build/C/man7/address_families.7:64
-#, fuzzy
-#| msgid "IPX - Novell protocols"
msgid "IPX - Novell protocols."
msgstr "IPX - Novell プロトコル"
#. type: TP
#: build/C/man7/address_families.7:69
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_NETROM>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_NETROM>"
#. Part of ax25-tools package
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:84
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_BRIDGE>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_BRIDGE>"
#. type: Plain text
#: build/C/man7/address_families.7:90
#. type: TP
#: build/C/man7/address_families.7:107
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_ROSE>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_ROSE>"
#. type: Plain text
#: build/C/man7/address_families.7:113
#. type: TP
#: build/C/man7/address_families.7:119
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_NETBEUI>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_NETBEUI>"
#. type: Plain text
#: build/C/man7/address_families.7:122
#. type: TP
#: build/C/man7/address_families.7:122
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_SECURITY>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_SECURITY>"
#. type: Plain text
#: build/C/man7/address_families.7:126
#. type: TP
#: build/C/man7/address_families.7:168
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_ECONET>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_ECONET>"
#. commit: 349f29d841dbae854bd7367be7c250401f974f47
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:177
-#, fuzzy, no-wrap
-#| msgid "B<AF_ATMPVC>"
+#, no-wrap
msgid "B<AF_ATMSVC>"
-msgstr "B<AF_ATMPVC>"
+msgstr "B<AF_ATMSVC>"
#. type: Plain text
#: build/C/man7/address_families.7:185
#. type: TP
#: build/C/man7/address_families.7:201
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_IRDA>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_IRDA>"
#. commits: 1ca163afb6fd569b, d64c2a76123f0300
#. irda-utils: https://sourceforge.net/p/irda/code/HEAD/tree/tags/IRDAUTILS_0_9_18/irda-utils/man/irda.7.gz?format=raw
#. type: TP
#: build/C/man7/address_families.7:216
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_WANPIPE>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_WANPIPE>"
#. commits: ce0ecd594d78710422599918a608e96dd1ee6024
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:290
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_IUCV>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_IUCV>"
#. commit: eac3731bd04c7131478722a3c148b78774553116
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:304
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_RXRPC>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_RXRPC>"
#. commit: 17926a79320afa9b95df6b977b40cca6d8713cea
#. http://people.redhat.com/~dhowells/rxrpc/
#. type: TP
#: build/C/man7/address_families.7:317
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_ISDN>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_ISDN>"
#. commit: 1b2b03f8e514e4f68e293846ba511a948b80243c
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:326
-#, fuzzy, no-wrap
-#| msgid "B<AF_INET>"
+#, no-wrap
msgid "B<AF_PHONET>"
-msgstr "B<AF_INET>"
+msgstr "B<AF_PHONET>"
#. commit: 4b07b3f69a8471cdc142c51461a331226fef248a
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:333
-#, fuzzy, no-wrap
-#| msgid "B<AF_X25>"
+#, no-wrap
msgid "B<AF_IEEE802154>"
-msgstr "B<AF_X25>"
+msgstr "B<AF_IEEE802154>"
#. commit: 9ec7671603573ede31207eb5b0b3e1aa211b2854
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:341
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_CAIF>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_CAIF>"
#. commit: 529d6dad5bc69de14cdd24831e2a14264e93daa4
#. https://lwn.net/Articles/371017/
#. type: TP
#: build/C/man7/address_families.7:375
-#, fuzzy, no-wrap
-#| msgid "B<AF_IPX>"
+#, no-wrap
msgid "B<AF_QIPCRTR>"
-msgstr "B<AF_IPX>"
+msgstr "B<AF_QIPCRTR>"
#. commit: bdabad3e363d825ddf9679dd431cca0b2c30f881
#. type: Plain text
#. type: TP
#: build/C/man7/address_families.7:379
-#, fuzzy, no-wrap
-#| msgid "B<AF_ATMPVC>"
+#, no-wrap
msgid "B<AF_SMC>"
-msgstr "B<AF_ATMPVC>"
+msgstr "B<AF_SMC>"
#. commit: f3a3e248f3f7cd9a4bed334022704d7e7fc781bf
#. type: Plain text
#. type: Plain text
#: build/C/man7/address_families.7:410
-#, fuzzy
-#| msgid "B<bind>(2), B<getsockname>(2)"
msgid "B<socket>(2), B<socket>(7)"
-msgstr "B<bind>(2), B<getsockname>(2)"
+msgstr "B<socket>(2), B<socket>(7)"
#. type: TH
#: build/C/man7/sock_diag.7:24
-#, fuzzy, no-wrap
-#| msgid "B<SOCK_DGRAM>"
+#, no-wrap
msgid "SOCK_DIAG"
-msgstr "B<SOCK_DGRAM>"
+msgstr "SOCK_DIAG"
#. type: Plain text
#: build/C/man7/sock_diag.7:27
#. type: Plain text
#: build/C/man7/sock_diag.7:33
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>sys/socket.hE<gt>\n"
-#| "#include E<lt>sys/un.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>string.hE<gt>\n"
+#, no-wrap
msgid ""
"B<#include E<lt>sys/socket.hE<gt>>\n"
"B<#include E<lt>linux/sock_diag.hE<gt>>\n"
"B<#include E<lt>linux/unix_diag.hE<gt>> /* for UNIX domain sockets */\n"
"B<#include E<lt>linux/inet_diag.hE<gt>> /* for IPv4 and IPv6 sockets */\n"
msgstr ""
-"#include E<lt>sys/socket.hE<gt>\n"
-"#include E<lt>sys/un.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>string.hE<gt>\n"
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>linux/sock_diag.hE<gt>>\n"
+"B<#include E<lt>linux/unix_diag.hE<gt>> /* for UNIX domain sockets */\n"
+"B<#include E<lt>linux/inet_diag.hE<gt>> /* for IPv4 and IPv6 sockets */\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:35
#. type: Plain text
#: build/C/man7/sock_diag.7:80
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct sockaddr {\n"
-#| " sa_family_t sa_family;\n"
-#| " char sa_data[14];\n"
-#| "}\n"
+#, no-wrap
msgid ""
"struct sock_diag_req {\n"
" __u8 sdiag_family;\n"
" __u8 sdiag_protocol;\n"
"};\n"
msgstr ""
-"struct sockaddr {\n"
-" sa_family_t sa_family;\n"
-" char sa_data[14];\n"
-"}\n"
+"struct sock_diag_req {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+"};\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:84 build/C/man7/sock_diag.7:146
#: build/C/man7/sock_diag.7:375
#, no-wrap
msgid "I<sdiag_family>"
-msgstr ""
+msgstr "I<sdiag_family>"
#. type: Plain text
#: build/C/man7/sock_diag.7:90
#: build/C/man7/sock_diag.7:382
#, no-wrap
msgid "I<sdiag_protocol>"
-msgstr ""
+msgstr "I<sdiag_protocol>"
#. type: Plain text
#: build/C/man7/sock_diag.7:101
" __u32 udiag_cookie[2];\n"
"};\n"
msgstr ""
+"struct unix_diag_req {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+" __u16 pad;\n"
+" __u32 udiag_states;\n"
+" __u32 udiag_ino;\n"
+" __u32 udiag_show;\n"
+" __u32 udiag_cookie[2];\n"
+"};\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:150
#: build/C/man7/sock_diag.7:454
#, no-wrap
msgid "I<pad>"
-msgstr ""
+msgstr "I<pad>"
#. type: Plain text
#: build/C/man7/sock_diag.7:157
#: build/C/man7/sock_diag.7:157
#, no-wrap
msgid "I<udiag_states>"
-msgstr ""
+msgstr "I<udiag_states>"
#. type: Plain text
#: build/C/man7/sock_diag.7:163
#. type: Plain text
#: build/C/man7/sock_diag.7:167
msgid "1 E<lt>E<lt> B<TCP_ESTABLISHED>"
-msgstr ""
+msgstr "1 E<lt>E<lt> B<TCP_ESTABLISHED>"
#. type: Plain text
#: build/C/man7/sock_diag.7:170
msgid "1 E<lt>E<lt> B<TCP_LISTEN>"
-msgstr ""
+msgstr "1 E<lt>E<lt> B<TCP_LISTEN>"
#. type: TP
#: build/C/man7/sock_diag.7:171 build/C/man7/sock_diag.7:330
#, no-wrap
msgid "I<udiag_ino>"
-msgstr ""
+msgstr "I<udiag_ino>"
#. type: Plain text
#: build/C/man7/sock_diag.7:175
#: build/C/man7/sock_diag.7:175
#, no-wrap
msgid "I<udiag_show>"
-msgstr ""
+msgstr "I<udiag_show>"
#. type: Plain text
#: build/C/man7/sock_diag.7:180
#: build/C/man7/sock_diag.7:181
#, no-wrap
msgid "B<UDIAG_SHOW_NAME>"
-msgstr ""
+msgstr "B<UDIAG_SHOW_NAME>"
#. type: Plain text
#: build/C/man7/sock_diag.7:189
#: build/C/man7/sock_diag.7:189
#, no-wrap
msgid "B<UDIAG_SHOW_VFS>"
-msgstr ""
+msgstr "B<UDIAG_SHOW_VFS>"
#. type: Plain text
#: build/C/man7/sock_diag.7:195
" __u32 udiag_vfs_ino;\n"
"};\n"
msgstr ""
+"struct unix_diag_vfs {\n"
+" __u32 udiag_vfs_dev;\n"
+" __u32 udiag_vfs_ino;\n"
+"};\n"
#. type: TP
#: build/C/man7/sock_diag.7:207
#, no-wrap
msgid "I<udiag_vfs_dev>"
-msgstr ""
+msgstr "I<udiag_vfs_dev>"
#. type: Plain text
#: build/C/man7/sock_diag.7:210
#: build/C/man7/sock_diag.7:210
#, no-wrap
msgid "I<udiag_vfs_ino>"
-msgstr ""
+msgstr "I<udiag_vfs_ino>"
#. type: Plain text
#: build/C/man7/sock_diag.7:213
#. type: TP
#: build/C/man7/sock_diag.7:214
-#, fuzzy, no-wrap
-#| msgid "B<SO_PEERCRED>"
+#, no-wrap
msgid "B<UDIAG_SHOW_PEER>"
-msgstr "B<SO_PEERCRED>"
+msgstr "B<UDIAG_SHOW_PEER>"
#. type: Plain text
#: build/C/man7/sock_diag.7:221
#: build/C/man7/sock_diag.7:232
#, no-wrap
msgid "B<UDIAG_SHOW_RQLEN>"
-msgstr ""
+msgstr "B<UDIAG_SHOW_RQLEN>"
#. type: Plain text
#: build/C/man7/sock_diag.7:238
" __u32 udiag_wqueue;\n"
"};\n"
msgstr ""
+"struct unix_diag_rqlen {\n"
+" __u32 udiag_rqueue;\n"
+" __u32 udiag_wqueue;\n"
+"};\n"
#. type: TP
#: build/C/man7/sock_diag.7:250
#, no-wrap
msgid "I<udiag_rqueue>"
-msgstr ""
+msgstr "I<udiag_rqueue>"
#. type: Plain text
#: build/C/man7/sock_diag.7:257
#: build/C/man7/sock_diag.7:260
#, no-wrap
msgid "I<udiag_wqueue>"
-msgstr ""
+msgstr "I<udiag_wqueue>"
#. type: Plain text
#: build/C/man7/sock_diag.7:265
#: build/C/man7/sock_diag.7:269
#, no-wrap
msgid "B<UDIAG_SHOW_MEMINFO>"
-msgstr ""
+msgstr "B<UDIAG_SHOW_MEMINFO>"
#. type: Plain text
#: build/C/man7/sock_diag.7:275
#: build/C/man7/sock_diag.7:277
#, no-wrap
msgid "B<UNIX_DIAG_SHUTDOWN>"
-msgstr ""
+msgstr "B<UNIX_DIAG_SHUTDOWN>"
#. type: Plain text
#: build/C/man7/sock_diag.7:283
#: build/C/man7/sock_diag.7:284 build/C/man7/sock_diag.7:333
#, no-wrap
msgid "I<udiag_cookie>"
-msgstr ""
+msgstr "I<udiag_cookie>"
#. type: Plain text
#: build/C/man7/sock_diag.7:291
" __u32 udiag_cookie[2];\n"
"};\n"
msgstr ""
+"struct unix_diag_msg {\n"
+" __u8 udiag_family;\n"
+" __u8 udiag_type;\n"
+" __u8 udiag_state;\n"
+" __u8 pad;\n"
+" __u32 udiag_ino;\n"
+" __u32 udiag_cookie[2];\n"
+"};\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:308 build/C/man7/sock_diag.7:517
#: build/C/man7/sock_diag.7:310
#, no-wrap
msgid "I<udiag_family>"
-msgstr ""
+msgstr "I<udiag_family>"
#. type: Plain text
#: build/C/man7/sock_diag.7:314
#: build/C/man7/sock_diag.7:314
#, no-wrap
msgid "I<udiag_type>"
-msgstr ""
+msgstr "I<udiag_type>"
#. type: Plain text
#: build/C/man7/sock_diag.7:321
#: build/C/man7/sock_diag.7:321
#, no-wrap
msgid "I<udiag_state>"
-msgstr ""
+msgstr "I<udiag_state>"
#. type: Plain text
#: build/C/man7/sock_diag.7:327
" struct inet_diag_sockid id;\n"
"};\n"
msgstr ""
+"struct inet_diag_req_v2 {\n"
+" __u8 sdiag_family;\n"
+" __u8 sdiag_protocol;\n"
+" __u8 idiag_ext;\n"
+" __u8 pad;\n"
+" __u32 idiag_states;\n"
+" struct inet_diag_sockid id;\n"
+"};\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:358
" __u32 idiag_cookie[2];\n"
"};\n"
msgstr ""
+"struct inet_diag_sockid {\n"
+" __be16 idiag_sport;\n"
+" __be16 idiag_dport;\n"
+" __be32 idiag_src[4];\n"
+" __be32 idiag_dst[4];\n"
+" __u32 idiag_if;\n"
+" __u32 idiag_cookie[2];\n"
+"};\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:375
#: build/C/man7/sock_diag.7:389
#, no-wrap
msgid "I<idiag_ext>"
-msgstr ""
+msgstr "I<idiag_ext>"
#. type: Plain text
#: build/C/man7/sock_diag.7:394
#: build/C/man7/sock_diag.7:395
#, no-wrap
msgid "B<INET_DIAG_TOS>"
-msgstr ""
+msgstr "B<INET_DIAG_TOS>"
#. type: Plain text
#: build/C/man7/sock_diag.7:399
#: build/C/man7/sock_diag.7:399
#, no-wrap
msgid "B<INET_DIAG_TCLASS>"
-msgstr ""
+msgstr "B<INET_DIAG_TCLASS>"
#. type: Plain text
#: build/C/man7/sock_diag.7:408
#: build/C/man7/sock_diag.7:408
#, no-wrap
msgid "B<INET_DIAG_MEMINFO>"
-msgstr ""
+msgstr "B<INET_DIAG_MEMINFO>"
#. type: Plain text
#: build/C/man7/sock_diag.7:412
" __u32 idiag_tmem;\n"
"};\n"
msgstr ""
+"struct inet_diag_meminfo {\n"
+" __u32 idiag_rmem;\n"
+" __u32 idiag_wmem;\n"
+" __u32 idiag_fmem;\n"
+" __u32 idiag_tmem;\n"
+"};\n"
#. type: TP
#: build/C/man7/sock_diag.7:426
#, no-wrap
msgid "I<idiag_rmem>"
-msgstr ""
+msgstr "I<idiag_rmem>"
#. type: Plain text
#: build/C/man7/sock_diag.7:429
#: build/C/man7/sock_diag.7:429
#, no-wrap
msgid "I<idiag_wmem>"
-msgstr ""
+msgstr "I<idiag_wmem>"
#. type: Plain text
#: build/C/man7/sock_diag.7:432
#: build/C/man7/sock_diag.7:432
#, no-wrap
msgid "I<idiag_fmem>"
-msgstr ""
+msgstr "I<idiag_fmem>"
#. type: Plain text
#: build/C/man7/sock_diag.7:435 build/C/man7/sock_diag.7:611
#: build/C/man7/sock_diag.7:435
#, no-wrap
msgid "I<idiag_tmem>"
-msgstr ""
+msgstr "I<idiag_tmem>"
#. type: Plain text
#: build/C/man7/sock_diag.7:438 build/C/man7/sock_diag.7:604
#: build/C/man7/sock_diag.7:439
#, no-wrap
msgid "B<INET_DIAG_SKMEMINFO>"
-msgstr ""
+msgstr "B<INET_DIAG_SKMEMINFO>"
#. type: Plain text
#: build/C/man7/sock_diag.7:443
#: build/C/man7/sock_diag.7:443
#, no-wrap
msgid "B<INET_DIAG_INFO>"
-msgstr ""
+msgstr "B<INET_DIAG_INFO>"
#. type: Plain text
#: build/C/man7/sock_diag.7:448
#: build/C/man7/sock_diag.7:448
#, no-wrap
msgid "B<INET_DIAG_CONG>"
-msgstr ""
+msgstr "B<INET_DIAG_CONG>"
#. type: Plain text
#: build/C/man7/sock_diag.7:453
#: build/C/man7/sock_diag.7:457
#, no-wrap
msgid "I<idiag_states>"
-msgstr ""
+msgstr "I<idiag_states>"
#. type: Plain text
#: build/C/man7/sock_diag.7:462
#: build/C/man7/sock_diag.7:462
#, no-wrap
msgid "I<id>"
-msgstr ""
+msgstr "I<id>"
#. type: Plain text
#: build/C/man7/sock_diag.7:469
#: build/C/man7/sock_diag.7:473
#, no-wrap
msgid "I<idiag_sport>"
-msgstr ""
+msgstr "I<idiag_sport>"
#. type: Plain text
#: build/C/man7/sock_diag.7:476
#: build/C/man7/sock_diag.7:476
#, no-wrap
msgid "I<idiag_dport>"
-msgstr ""
+msgstr "I<idiag_dport>"
#. type: Plain text
#: build/C/man7/sock_diag.7:479
#: build/C/man7/sock_diag.7:479
#, no-wrap
msgid "I<idiag_src>"
-msgstr ""
+msgstr "I<idiag_src>"
#. type: Plain text
#: build/C/man7/sock_diag.7:482
#: build/C/man7/sock_diag.7:482
#, no-wrap
msgid "I<idiag_dst>"
-msgstr ""
+msgstr "I<idiag_dst>"
#. type: Plain text
#: build/C/man7/sock_diag.7:485
-#, fuzzy
-#| msgid "The socket is already bound to an address."
msgid "The destination address."
-msgstr "ソケットがすでにアドレスに結びつけ (bind) られている。"
+msgstr ""
#. type: TP
#: build/C/man7/sock_diag.7:485
#, no-wrap
msgid "I<idiag_if>"
-msgstr ""
+msgstr "I<idiag_if>"
#. type: Plain text
#: build/C/man7/sock_diag.7:488
#: build/C/man7/sock_diag.7:488
#, no-wrap
msgid "I<idiag_cookie>"
-msgstr ""
+msgstr "I<idiag_cookie>"
#. type: Plain text
#: build/C/man7/sock_diag.7:494
" __u8 idiag_timer;\n"
" __u8 idiag_retrans;\n"
msgstr ""
+"struct inet_diag_msg {\n"
+" __u8 idiag_family;\n"
+" __u8 idiag_state;\n"
+" __u8 idiag_timer;\n"
+" __u8 idiag_retrans;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:506
#, no-wrap
msgid " struct inet_diag_sockid id;\n"
-msgstr ""
+msgstr " struct inet_diag_sockid id;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:513
" __u32 idiag_inode;\n"
"};\n"
msgstr ""
+" __u32 idiag_expires;\n"
+" __u32 idiag_rqueue;\n"
+" __u32 idiag_wqueue;\n"
+" __u32 idiag_uid;\n"
+" __u32 idiag_inode;\n"
+"};\n"
#. type: TP
#: build/C/man7/sock_diag.7:519
#, no-wrap
msgid "I<idiag_family>"
-msgstr ""
+msgstr "I<idiag_family>"
#. type: Plain text
#: build/C/man7/sock_diag.7:523
#: build/C/man7/sock_diag.7:523
#, no-wrap
msgid "I<idiag_state>"
-msgstr ""
+msgstr "I<idiag_state>"
#. type: Plain text
#: build/C/man7/sock_diag.7:527
#: build/C/man7/sock_diag.7:527
#, no-wrap
msgid "I<idiag_timer>"
-msgstr ""
+msgstr "I<idiag_timer>"
#. type: Plain text
#: build/C/man7/sock_diag.7:532
#: build/C/man7/sock_diag.7:535
#, no-wrap
msgid "B<0>"
-msgstr ""
+msgstr "B<0>"
#. type: Plain text
#: build/C/man7/sock_diag.7:538
#: build/C/man7/sock_diag.7:538
#, no-wrap
msgid "B<1>"
-msgstr ""
+msgstr "B<1>"
#. type: Plain text
#: build/C/man7/sock_diag.7:541
#: build/C/man7/sock_diag.7:541
#, no-wrap
msgid "B<2>"
-msgstr ""
+msgstr "B<2>"
#. type: Plain text
#: build/C/man7/sock_diag.7:544
#: build/C/man7/sock_diag.7:544
#, no-wrap
msgid "B<3>"
-msgstr ""
+msgstr "B<3>"
#. type: Plain text
#: build/C/man7/sock_diag.7:547
#: build/C/man7/sock_diag.7:547
#, no-wrap
msgid "B<4>"
-msgstr ""
+msgstr "B<4>"
#. type: Plain text
#: build/C/man7/sock_diag.7:550
#: build/C/man7/sock_diag.7:554
#, no-wrap
msgid "I<idiag_retrans>"
-msgstr ""
+msgstr "I<idiag_retrans>"
#. type: Plain text
#: build/C/man7/sock_diag.7:562
#: build/C/man7/sock_diag.7:562
#, no-wrap
msgid "I<idiag_expires>"
-msgstr ""
+msgstr "I<idiag_expires>"
#. type: Plain text
#: build/C/man7/sock_diag.7:567
#: build/C/man7/sock_diag.7:567
#, no-wrap
msgid "I<idiag_rqueue>"
-msgstr ""
+msgstr "I<idiag_rqueue>"
#. type: Plain text
#: build/C/man7/sock_diag.7:571
#: build/C/man7/sock_diag.7:574
#, no-wrap
msgid "I<idiag_wqueue>"
-msgstr ""
+msgstr "I<idiag_wqueue>"
#. type: Plain text
#: build/C/man7/sock_diag.7:578
#: build/C/man7/sock_diag.7:581
#, no-wrap
msgid "I<idiag_uid>"
-msgstr ""
+msgstr "I<idiag_uid>"
#. type: Plain text
#: build/C/man7/sock_diag.7:584
#: build/C/man7/sock_diag.7:584
#, no-wrap
msgid "I<idiag_inode>"
-msgstr ""
+msgstr "I<idiag_inode>"
#. type: SS
#: build/C/man7/sock_diag.7:588
-#, fuzzy, no-wrap
-#| msgid "Socket options"
+#, no-wrap
msgid "Socket memory information"
-msgstr "ソケットオプション"
+msgstr ""
#. type: Plain text
#: build/C/man7/sock_diag.7:594
#: build/C/man7/sock_diag.7:594
#, no-wrap
msgid "B<SK_MEMINFO_RMEM_ALLOC>"
-msgstr ""
+msgstr "B<SK_MEMINFO_RMEM_ALLOC>"
#. type: Plain text
#: build/C/man7/sock_diag.7:597
#. type: TP
#: build/C/man7/sock_diag.7:597
-#, fuzzy, no-wrap
-#| msgid "B<SO_RCVBUF>"
+#, no-wrap
msgid "B<SK_MEMINFO_RCVBUF>"
-msgstr "B<SO_RCVBUF>"
+msgstr "B<SK_MEMINFO_RCVBUF>"
#. type: Plain text
#: build/C/man7/sock_diag.7:601
#: build/C/man7/sock_diag.7:601
#, no-wrap
msgid "B<SK_MEMINFO_WMEM_ALLOC>"
-msgstr ""
+msgstr "B<SK_MEMINFO_WMEM_ALLOC>"
#. type: TP
#: build/C/man7/sock_diag.7:604
-#, fuzzy, no-wrap
-#| msgid "B<SO_SNDBUF>"
+#, no-wrap
msgid "B<SK_MEMINFO_SNDBUF>"
-msgstr "B<SO_SNDBUF>"
+msgstr "B<SK_MEMINFO_SNDBUF>"
#. type: Plain text
#: build/C/man7/sock_diag.7:608
#: build/C/man7/sock_diag.7:608
#, no-wrap
msgid "B<SK_MEMINFO_FWD_ALLOC>"
-msgstr ""
+msgstr "B<SK_MEMINFO_FWD_ALLOC>"
#. type: TP
#: build/C/man7/sock_diag.7:611
#, no-wrap
msgid "B<SK_MEMINFO_WMEM_QUEUED>"
-msgstr ""
+msgstr "B<SK_MEMINFO_WMEM_QUEUED>"
#. type: Plain text
#: build/C/man7/sock_diag.7:614
#. type: TP
#: build/C/man7/sock_diag.7:614
-#, fuzzy, no-wrap
-#| msgid "B<ENOMEM>"
+#, no-wrap
msgid "B<SK_MEMINFO_OPTMEM>"
-msgstr "B<ENOMEM>"
+msgstr "B<SK_MEMINFO_OPTMEM>"
#. type: Plain text
#: build/C/man7/sock_diag.7:618
#: build/C/man7/sock_diag.7:618
#, no-wrap
msgid "B<SK_MEMINFO_BACKLOG>"
-msgstr ""
+msgstr "B<SK_MEMINFO_BACKLOG>"
#. type: Plain text
#: build/C/man7/sock_diag.7:621
#. type: Plain text
#: build/C/man7/sock_diag.7:655
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>sys/time.hE<gt>\n"
-#| "#include E<lt>sys/types.hE<gt>\n"
-#| "#include E<lt>string.hE<gt>\n"
-#| "#include E<lt>signal.hE<gt>\n"
-#| "#include E<lt>sys/socket.hE<gt>\n"
-#| "#include E<lt>netinet/in.hE<gt>\n"
-#| "#include E<lt>arpa/inet.hE<gt>\n"
-#| "#include E<lt>errno.hE<gt>\n"
+#, no-wrap
msgid ""
"#include E<lt>errno.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>linux/sock_diag.hE<gt>\n"
"#include E<lt>linux/unix_diag.hE<gt>\n"
msgstr ""
-"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>sys/time.hE<gt>\n"
-"#include E<lt>sys/types.hE<gt>\n"
"#include E<lt>string.hE<gt>\n"
-"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
"#include E<lt>sys/socket.hE<gt>\n"
-"#include E<lt>netinet/in.hE<gt>\n"
-"#include E<lt>arpa/inet.hE<gt>\n"
-"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>linux/netlink.hE<gt>\n"
+"#include E<lt>linux/rtnetlink.hE<gt>\n"
+"#include E<lt>linux/sock_diag.hE<gt>\n"
+"#include E<lt>linux/unix_diag.hE<gt>\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:688
" .msg_iovlen = 1\n"
" };\n"
msgstr ""
+"static int\n"
+"send_query(int fd)\n"
+"{\n"
+" struct sockaddr_nl nladdr = {\n"
+" .nl_family = AF_NETLINK\n"
+" };\n"
+" struct\n"
+" {\n"
+" struct nlmsghdr nlh;\n"
+" struct unix_diag_req udr;\n"
+" } req = {\n"
+" .nlh = {\n"
+" .nlmsg_len = sizeof(req),\n"
+" .nlmsg_type = SOCK_DIAG_BY_FAMILY,\n"
+" .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP\n"
+" },\n"
+" .udr = {\n"
+" .sdiag_family = AF_UNIX,\n"
+" .udiag_states = -1,\n"
+" .udiag_show = UDIAG_SHOW_NAME | UDIAG_SHOW_PEER\n"
+" }\n"
+" };\n"
+" struct iovec iov = {\n"
+" .iov_base = &req,\n"
+" .iov_len = sizeof(req)\n"
+" };\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:693
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (fd1 E<gt> 0)\n"
-#| " if (FD_ISSET(fd1, &er)) {\n"
-#| " char c;\n"
+#, no-wrap
msgid ""
" for (;;) {\n"
" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n"
" if (errno == EINTR)\n"
" continue;\n"
msgstr ""
-" if (fd1 E<gt> 0)\n"
-" if (FD_ISSET(fd1, &er)) {\n"
-" char c;\n"
+" for (;;) {\n"
+" if (sendmsg(fd, &msg, 0) E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:697
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1) {\n"
-#| " perror(\"select()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" perror(\"sendmsg\");\n"
" return -1;\n"
" }\n"
msgstr ""
-" if (r == -1) {\n"
-" perror(\"select()\");\n"
-" exit(EXIT_FAILURE);\n"
+" perror(\"sendmsg\");\n"
+" return -1;\n"
" }\n"
#. type: Plain text
" }\n"
"}\n"
msgstr ""
+" return 0;\n"
+" }\n"
+"}\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:713
" return -1;\n"
" }\n"
msgstr ""
+"static int\n"
+"print_diag(const struct unix_diag_msg *diag, unsigned int len)\n"
+"{\n"
+" if (len E<lt> NLMSG_LENGTH(sizeof(*diag))) {\n"
+" fputs(\"short response\\en\", stderr);\n"
+" return -1;\n"
+" }\n"
+" if (diag-E<gt>udiag_family != AF_UNIX) {\n"
+" fprintf(stderr, \"unexpected family %u\\en\", diag-E<gt>udiag_family);\n"
+" return -1;\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:718
" size_t path_len = 0;\n"
" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n"
msgstr ""
+" unsigned int rta_len = len - NLMSG_LENGTH(sizeof(*diag));\n"
+" unsigned int peer = 0;\n"
+" size_t path_len = 0;\n"
+" char path[sizeof(((struct sockaddr_un *) 0)-E<gt>sun_path) + 1];\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:731
" }\n"
" break;\n"
msgstr ""
+" for (struct rtattr *attr = (struct rtattr *) (diag + 1);\n"
+" RTA_OK(attr, rta_len); attr = RTA_NEXT(attr, rta_len)) {\n"
+" switch (attr-E<gt>rta_type) {\n"
+" case UNIX_DIAG_NAME:\n"
+" if (!path_len) {\n"
+" path_len = RTA_PAYLOAD(attr);\n"
+" if (path_len E<gt> sizeof(path) - 1)\n"
+" path_len = sizeof(path) - 1;\n"
+" memcpy(path, RTA_DATA(attr), path_len);\n"
+" path[path_len] = \\(aq\\e0\\(aq;\n"
+" }\n"
+" break;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:738
" }\n"
" }\n"
msgstr ""
+" case UNIX_DIAG_PEER:\n"
+" if (RTA_PAYLOAD(attr) E<gt>= sizeof(peer))\n"
+" peer = *(unsigned int *) RTA_DATA(attr);\n"
+" break;\n"
+" }\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:740
#, no-wrap
msgid " printf(\"inode=%u\", diag-E<gt>udiag_ino);\n"
-msgstr ""
+msgstr " printf(\"inode=%u\", diag-E<gt>udiag_ino);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:743
" if (peer)\n"
" printf(\", peer=%u\", peer);\n"
msgstr ""
+" if (peer)\n"
+" printf(\", peer=%u\", peer);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:747
" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n"
" *path ? path : path + 1);\n"
msgstr ""
+" if (path_len)\n"
+" printf(\", name=%s%s\", *path ? \"\" : \"@\",\n"
+" *path ? path : path + 1);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:751
" return 0;\n"
"}\n"
msgstr ""
+" putchar(\\(aq\\en\\(aq);\n"
+" return 0;\n"
+"}\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:764
" };\n"
" int flags = 0;\n"
msgstr ""
+"static int\n"
+"receive_responses(int fd)\n"
+"{\n"
+" long buf[8192 / sizeof(long)];\n"
+" struct sockaddr_nl nladdr = {\n"
+" .nl_family = AF_NETLINK\n"
+" };\n"
+" struct iovec iov = {\n"
+" .iov_base = buf,\n"
+" .iov_len = sizeof(buf)\n"
+" };\n"
+" int flags = 0;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:772
" .msg_iovlen = 1\n"
" };\n"
msgstr ""
+" for (;;) {\n"
+" struct msghdr msg = {\n"
+" .msg_name = &nladdr,\n"
+" .msg_namelen = sizeof(nladdr),\n"
+" .msg_iov = &iov,\n"
+" .msg_iovlen = 1\n"
+" };\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:774
#, no-wrap
msgid " ssize_t ret = recvmsg(fd, &msg, flags);\n"
-msgstr ""
+msgstr " ssize_t ret = recvmsg(fd, &msg, flags);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:778
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1 && errno == EINTR)\n"
-#| " continue;\n"
+#, no-wrap
msgid ""
" if (ret E<lt> 0) {\n"
" if (errno == EINTR)\n"
" continue;\n"
msgstr ""
-" if (r == -1 && errno == EINTR)\n"
-" continue;\n"
+" if (ret E<lt> 0) {\n"
+" if (errno == EINTR)\n"
+" continue;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:784
" if (ret == 0)\n"
" return 0;\n"
msgstr ""
+" perror(\"recvmsg\");\n"
+" return -1;\n"
+" }\n"
+" if (ret == 0)\n"
+" return 0;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:786
#, no-wrap
msgid " const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n"
-msgstr ""
+msgstr " const struct nlmsghdr *h = (struct nlmsghdr *) buf;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:791
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1) {\n"
-#| " perror(\"select()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" if (!NLMSG_OK(h, ret)) {\n"
" fputs(\"!NLMSG_OK\\en\", stderr);\n"
" return -1;\n"
" }\n"
msgstr ""
-" if (r == -1) {\n"
-" perror(\"select()\");\n"
-" exit(EXIT_FAILURE);\n"
+" if (!NLMSG_OK(h, ret)) {\n"
+" fputs(\"!NLMSG_OK\\en\", stderr);\n"
+" return -1;\n"
" }\n"
#. type: Plain text
" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n"
" return 0;\n"
msgstr ""
+" for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {\n"
+" if (h-E<gt>nlmsg_type == NLMSG_DONE)\n"
+" return 0;\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:798
" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n"
" const struct nlmsgerr *err = NLMSG_DATA(h);\n"
msgstr ""
+" if (h-E<gt>nlmsg_type == NLMSG_ERROR) {\n"
+" const struct nlmsgerr *err = NLMSG_DATA(h);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:805
" perror(\"NLMSG_ERROR\");\n"
" }\n"
msgstr ""
+" if (h-E<gt>nlmsg_len E<lt> NLMSG_LENGTH(sizeof(*err))) {\n"
+" fputs(\"NLMSG_ERROR\\en\", stderr);\n"
+" } else {\n"
+" errno = -err-E<gt>error;\n"
+" perror(\"NLMSG_ERROR\");\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:808
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (atmark)\n"
-#| " break;\n"
+#, no-wrap
msgid ""
" return -1;\n"
" }\n"
msgstr ""
-" if (atmark)\n"
-" break;\n"
+" return -1;\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:814
" return -1;\n"
" }\n"
msgstr ""
+" if (h-E<gt>nlmsg_type != SOCK_DIAG_BY_FAMILY) {\n"
+" fprintf(stderr, \"unexpected nlmsg_type %u\\en\",\n"
+" (unsigned) h-E<gt>nlmsg_type);\n"
+" return -1;\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:820
" }\n"
"}\n"
msgstr ""
+" if (print_diag(NLMSG_DATA(h), h-E<gt>nlmsg_len))\n"
+" return -1;\n"
+" }\n"
+" }\n"
+"}\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:825
"{\n"
" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n"
msgstr ""
+"int\n"
+"main(void)\n"
+"{\n"
+" int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:830
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (r == -1) {\n"
-#| " perror(\"select()\");\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" if (fd E<lt> 0) {\n"
" perror(\"socket\");\n"
" return 1;\n"
" }\n"
msgstr ""
-" if (r == -1) {\n"
-" perror(\"select()\");\n"
-" exit(EXIT_FAILURE);\n"
-" }\n"
+" if (fd E<lt> 0) {\n"
+" perror(\"socket\");\n"
+" return 1;\n"
+" }\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:832
#, no-wrap
msgid " int ret = send_query(fd) || receive_responses(fd);\n"
-msgstr ""
+msgstr " int ret = send_query(fd) || receive_responses(fd);\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:836
" return ret;\n"
"}\n"
msgstr ""
+" close(fd);\n"
+" return ret;\n"
+"}\n"
#. type: Plain text
#: build/C/man7/sock_diag.7:842
-#, fuzzy
-#| msgid "B<fcntl>(2), B<recv>(2), B<send>(2), B<tcp>(7)"
msgid "B<netlink>(3), B<rtnetlink>(3), B<netlink>(7), B<tcp>(7)"
-msgstr "B<fcntl>(2), B<recv>(2), B<send>(2), B<tcp>(7)"
+msgstr "B<netlink>(3), B<rtnetlink>(3), B<netlink>(7), B<tcp>(7)"
#. type: TH
#: build/C/man7/vsock.7:25
-#, fuzzy, no-wrap
-#| msgid "SOCKET"
+#, no-wrap
msgid "VSOCK"
-msgstr "SOCKET"
+msgstr "VSOCK"
#. type: TH
#: build/C/man7/vsock.7:25
-#, fuzzy, no-wrap
-#| msgid "2015-02-01"
+#, no-wrap
msgid "2020-02-09"
-msgstr "2015-02-01"
+msgstr "2020-02-09"
#. type: Plain text
#: build/C/man7/vsock.7:28
#. type: Plain text
#: build/C/man7/vsock.7:32
-#, fuzzy
-#| msgid "B<#include E<lt>sys/socket.hE<gt>>"
msgid "B<#include E<lt>linux/vm_sockets.hE<gt>>"
-msgstr "B<#include E<lt>sys/socket.hE<gt>>"
+msgstr "B<#include E<lt>linux/vm_sockets.hE<gt>>"
#. type: Plain text
#: build/C/man7/vsock.7:34
msgid "I<stream_socket>B< = socket(AF_VSOCK, SOCK_STREAM, 0);>"
-msgstr ""
+msgstr "I<stream_socket>B< = socket(AF_VSOCK, SOCK_STREAM, 0);>"
#. type: Plain text
#: build/C/man7/vsock.7:36
msgid "I<datagram_socket>B< = socket(AF_VSOCK, SOCK_DGRAM, 0);>"
-msgstr ""
+msgstr "I<datagram_socket>B< = socket(AF_VSOCK, SOCK_DGRAM, 0);>"
#. type: Plain text
#: build/C/man7/vsock.7:42
#: build/C/man7/vsock.7:60
#, no-wrap
msgid "socket(AF_VSOCK, socket_type, 0);\n"
-msgstr ""
+msgstr "socket(AF_VSOCK, socket_type, 0);\n"
#. type: Plain text
#: build/C/man7/vsock.7:67
#. type: TP
#: build/C/man7/vsock.7:222
-#, fuzzy, no-wrap
-#| msgid "B<EPROTONOSUPPORT>"
+#, no-wrap
msgid "B<ESOCKTNOSUPPORT>"
-msgstr "B<EPROTONOSUPPORT>"
+msgstr "B<ESOCKTNOSUPPORT>"
#. type: Plain text
#: build/C/man7/vsock.7:231
#. type: Plain text
#: build/C/man7/vsock.7:249
-#, fuzzy
-#| msgid ""
-#| "B<bind>(2), B<connect>(2), B<listen>(2), B<select>(2), B<socket>(2), "
-#| "B<socket>(7)"
msgid ""
"B<bind>(2), B<connect>(2), B<listen>(2), B<recv>(2), B<send>(2), "
"B<socket>(2), B<capabilities>(7)"
-msgstr ""
-"B<bind>(2), B<connect>(2), B<listen>(2), B<select>(2), B<socket>(2), "
-"B<socket>(7)"
+msgstr "B<bind>(2), B<connect>(2), B<listen>(2), B<recv>(2), B<send>(2), B<socket>(2), B<capabilities>(7)"
#~ msgid "The descriptor is invalid."
#~ msgstr "ディスクリプターが不正。"