OSDN Git Service

(split) LDP: Translate the following pages
[linuxjm/LDP_man-pages.git] / po4a / socket / po / ja.po
index 5d288d5..88f2e14 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2013-04-30 20:30+0900\n"
-"PO-Revision-Date: 2013-05-06 17:25+0900\n"
+"PO-Revision-Date: 2013-05-18 02:27+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -1791,7 +1791,7 @@ msgstr "GNU"
 #. type: Plain text
 #: build/C/man3/getifaddrs.3:39
 msgid "getifaddrs, freeifaddrs - get interface addresses"
-msgstr ""
+msgstr "getifaddrs, freeifaddrs - インターフェースのアドレスを取得する"
 
 #. type: Plain text
 #: build/C/man3/getifaddrs.3:43
@@ -1938,7 +1938,7 @@ msgid ""
 "B<getifaddrs>()  may fail and set I<errno> for any of the errors specified "
 "for B<socket>(2), B<bind>(2), B<getsockname>(2), B<recvmsg>(2), B<sendto>"
 "(2), B<malloc>(3), or B<realloc>(3)."
-msgstr ""
+msgstr "B<getifaddrs>()  may fail and set I<errno> for any of the errors specified for B<socket>(2), B<bind>(2), B<getsockname>(2), B<recvmsg>(2), B<sendto>(2), B<malloc>(3), or B<realloc>(3)."
 
 #. type: Plain text
 #: build/C/man3/getifaddrs.3:170
@@ -2018,7 +2018,7 @@ msgstr ""
 #: build/C/man2/recvmmsg.2:206
 #, no-wrap
 msgid "Program source"
-msgstr ""
+msgstr "プログラムのソース"
 
 #. type: Plain text
 #: build/C/man3/getifaddrs.3:240
@@ -2468,7 +2468,7 @@ msgstr ""
 #: build/C/man3/if_nameindex.3:26
 #, no-wrap
 msgid "IF_NAMEINDEX"
-msgstr ""
+msgstr "IF_NAMEINDEX"
 
 #. type: TH
 #: build/C/man3/if_nameindex.3:26
@@ -2480,7 +2480,7 @@ msgstr "2012-11-21"
 #: build/C/man3/if_nameindex.3:29
 msgid ""
 "if_nameindex, if_freenameindex - get network interface names and indexes"
-msgstr ""
+msgstr "if_nameindex, if_freenameindex - ネットワークインターフェースの名前とインデックスを取得する"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:32 build/C/man3/if_nametoindex.3:32
@@ -2495,6 +2495,8 @@ msgid ""
 "B<struct if_nameindex *if_nameindex(void);>\n"
 "B<void if_freenameindex(struct if_nameindex *>I<ptr>B<);>\n"
 msgstr ""
+"B<struct if_nameindex *if_nameindex(void);>\n"
+"B<void if_freenameindex(struct if_nameindex *>I<ptr>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:46
@@ -2503,7 +2505,7 @@ msgid ""
 "structures, each containing information about one of the network interfaces "
 "on the local system.  The I<if_nameindex> structure contains at least the "
 "following entries:"
-msgstr ""
+msgstr "B<if_nameindex>() 関数は I<if_nameindex> 構造体の配列を返す。 各構造体にはローカルシステムのネットワークインターフェースのいずれかの情報が入る。 I<if_nameindex> 構造体には少なくとも以下のフィールドがある。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:51
@@ -2512,6 +2514,8 @@ 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;  /* NULL 終端された名前 (\"eth0\" など) */\n"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:65
@@ -2519,14 +2523,14 @@ 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."
-msgstr ""
+msgstr "I<if_index> フィールドにはインターフェースのインデックスが入る。 I<ifa_name> フィールドは NULL 終端されたインターフェース名を指す。 配列の最後は、 I<if_index> が 0 で I<ifa_name> が NULL のエントリで示される。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:71
 msgid ""
 "The data structure returned by B<if_nameindex>()  is dynamically allocated "
 "and should be freed using B<if_freenameindex>()  when no longer needed."
-msgstr ""
+msgstr "B<if_nameindex>() が返すデータ構造体は動的に確保される。 必要なくなった際には B<if_freenameindex>() で解放すべきである。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:78
@@ -2538,7 +2542,7 @@ msgstr "成功した場合には B<if_nameindex>() は配列へのポインタ
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:83
 msgid "B<if_nameindex>()  may fail and set I<errno> if:"
-msgstr ""
+msgstr "B<if_nameindex>() が失敗した場合には以下の I<errno> が設定される。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:86
@@ -2551,7 +2555,7 @@ msgid ""
 "B<if_nameindex>()  may also fail for any of the errors specified for "
 "B<socket>(2), B<bind>(2), B<ioctl>(2), B<getsockname>(2), B<recvmsg>(2), "
 "B<sendto>(2), or B<malloc>(3)."
-msgstr ""
+msgstr "B<if_nameindex>() は、 B<socket>(2), B<bind>(2), B<ioctl>(2), B<getsockname>(2), B<recvmsg>(2), B<sendto>(2), B<malloc>(3) に対して規定されているエラーのいずれかで失敗する場合がある。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:104
@@ -2560,7 +2564,7 @@ msgid ""
 "glibc 2.3.4, the implementation supported only interfaces with IPv4 "
 "addresses.  Support of interfaces that don't have IPv4 addresses is "
 "available only on kernels that support netlink."
-msgstr ""
+msgstr "B<if_nameindex>() 関数は glibc 2.1 で初めて登場したが、 glibc 2.3.4 より前のバージョンの実装では IPv4 アドレスを持つインターフェースのみをサポートしていた。 IPv4 アドレスを持たないインターフェースがサポートされているのは、 netlink をサポートするカーネルにおいてのみである。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:106 build/C/man3/if_nametoindex.3:87
@@ -2577,7 +2581,7 @@ msgstr "この関数は BSDi 初めて登場した。"
 msgid ""
 "The program below demonstrates the use of the functions described on this "
 "page.  An example of the output this program might produce is the following:"
-msgstr ""
+msgstr "以下のプログラムはこのページで説明した関数の使い方を示している。このプログラムが生成する出力は以下のようになる。"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:118
@@ -2588,6 +2592,10 @@ msgid ""
 "2: wlan0\n"
 "3: em1>\n"
 msgstr ""
+"$ B<./a.out>I<\n"
+"1: lo\n"
+"2: wlan0\n"
+"3: em1>\n"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:126
@@ -2640,12 +2648,14 @@ msgid ""
 "    for (i = if_ni; ! (i-E<gt>if_index == 0 && i-E<gt>if_name == NULL); i++)\n"
 "        printf(\"%u: %s\\en\", i-E<gt>if_index, i-E<gt>if_name);\n"
 msgstr ""
+"    for (i = if_ni; ! (i-E<gt>if_index == 0 && i-E<gt>if_name == NULL); i++)\n"
+"        printf(\"%u: %s\\en\", i-E<gt>if_index, i-E<gt>if_name);\n"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:142
 #, no-wrap
 msgid "    if_freenameindex(if_ni);\n"
-msgstr ""
+msgstr "    if_freenameindex(if_ni);\n"
 
 #. type: Plain text
 #: build/C/man3/if_nameindex.3:145 build/C/man2/select.2:573
@@ -2683,26 +2693,26 @@ msgstr "2012-12-14"
 msgid ""
 "if_nametoindex, if_indextoname - mappings between network interface names "
 "and indexes"
-msgstr ""
+msgstr "if_nametoindex, if_indextoname - ネットワークインターフェースの名前とインデックスのマッピングを行う"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:34
 #, no-wrap
 msgid "B<unsigned int if_nametoindex(const char *>I<ifname>B<);>\n"
-msgstr ""
+msgstr "B<unsigned int if_nametoindex(const char *>I<ifname>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:36
 #, no-wrap
 msgid "B<char *if_indextoname(unsigned int ifindex, char *>I<ifname>B<);>\n"
-msgstr ""
+msgstr "B<char *if_indextoname(unsigned int ifindex, char *>I<ifname>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:43
 msgid ""
 "The B<if_nametoindex>()  function returns the index of the network interface "
 "corresponding to the name I<ifname>."
-msgstr ""
+msgstr "B<if_nametoindex>() 関数は、 名前が I<ifname> のネットワークインターフェースのインデックスを返す。"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:54
@@ -2711,7 +2721,7 @@ msgid ""
 "corresponding to the interface index I<ifindex>.  The name is placed in the "
 "buffer pointed to by I<ifname>.  The buffer must allow for the storage of at "
 "least B<IF_NAMESIZE> bytes."
-msgstr ""
+msgstr "B<if_indextoname>() 関数は、 インターフェースのインデックスが I<ifindex> に対応するネットワークインターフェースの名前を返す。 名前は I<ifname> が指すバッファに格納される。 バッファは少なくとも B<IF_NAMESIZE> バイトの領域が必要である。"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:61
@@ -2730,7 +2740,7 @@ msgstr "成功した場合には B<if_indextoname>() は I<ifname> を返す。
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:74
 msgid "B<if_indextoname>()  may fail and set I<errno> if:"
-msgstr ""
+msgstr "B<if_indextoname>() は以下の I<errno> で失敗する場合がある。"
 
 #. type: TP
 #: build/C/man3/if_nametoindex.3:74
@@ -2741,19 +2751,19 @@ msgstr "B<ENXIO>"
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:77
 msgid "No interface found for the index."
-msgstr ""
+msgstr "インデックスに対応するインターフェースがない。"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:85
 msgid ""
 "B<if_nametoindex>()  and B<if_indextoname>()  may also fail for any of the "
 "errors specified for B<socket>(2)  or B<ioctl>(2)."
-msgstr ""
+msgstr "B<if_nametoindex>() と B<if_indextoname>() は、 B<socket>(2) と B<ioctl>(2) に対して規定されているエラーのいずれかで失敗する場合がある。"
 
 #. type: Plain text
 #: build/C/man3/if_nametoindex.3:93
 msgid "B<getifaddrs>(3), B<if_nameindex>(3), B<ifconfig>(8)"
-msgstr ""
+msgstr "B<getifaddrs>(3), B<if_nameindex>(3), B<ifconfig>(8)"
 
 #. type: TH
 #: build/C/man2/listen.2:45
@@ -3678,7 +3688,7 @@ msgstr "2012-12-24"
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:34
 msgid "recvmmsg - receive multiple messages on a socket"
-msgstr ""
+msgstr "recvmmsg - 複数のメッセージをソケットから受信する"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:38 build/C/man2/sendmmsg.2:35
@@ -3710,26 +3720,26 @@ msgid ""
 "call.  (This has performance benefits for some applications.)  A further "
 "extension over B<recvmsg>(2)  is support for a timeout on the receive "
 "operation."
-msgstr ""
+msgstr "B<recvmmsg>() システムコールは B<recvmsg>(2) の拡張で、 このシステムコールを使うと一度の呼び出しでソケットから複数のメッセージを受信することができる (アプリケーションによっては性能上のメリットがある)。 他に B<recvmsg>(2) から拡張されている点としては、受信操作におけるタイムアウトのサポートがある。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:59
 msgid ""
 "The I<sockfd> argument is the file descriptor of the socket to receive data "
 "from."
-msgstr ""
+msgstr "I<sockfd> 引き数は、データを受信するソケットのファイルディスクリプタである。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:67 build/C/man2/sendmmsg.2:62
 msgid ""
 "The I<msgvec> argument is a pointer to an array of I<mmsghdr> structures.  "
 "The size of this array is specified in I<vlen>."
-msgstr ""
+msgstr "I<msgvec> 引き数は I<mmsghdr> 構造体の配列である。 この配列の大きさは I<vlen> で指定する。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:73 build/C/man2/sendmmsg.2:68
 msgid "The I<mmsghdr> structure is defined in I<E<lt>sys/socket.hE<gt>> as:"
-msgstr ""
+msgstr "I<mmsghdr> 構造体は I<E<lt>sys/socket.hE<gt>> で次のように定義されている。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:80
@@ -3741,8 +3751,8 @@ msgid ""
 "};\n"
 msgstr ""
 "struct mmsghdr {\n"
-"    struct msghdr msg_hdr;  /* Message header */\n"
-"    unsigned int  msg_len;  /* Number of received bytes for header */\n"
+"    struct msghdr msg_hdr;  /* メッセージヘッダ */\n"
+"    unsigned int  msg_len;  /* このヘッダで受信されたバイト数 */\n"
 "};\n"
 
 #. type: Plain text
@@ -3752,14 +3762,14 @@ msgid ""
 "(2).  The I<msg_len> field is the number of bytes returned for the message "
 "in the entry.  This field has the same value as the return value of a single "
 "B<recvmsg>(2)  on the header."
-msgstr ""
+msgstr "I<msg_hdr> フィールドは、 B<recvmsg>(2) で説明されている I<msghdr> 構造体である。 I<msg_len> フィールドは、 このエントリで返されるメッセージのバイト数で、 このヘッダに対して B<recvmsg>(2) を呼び出した場合の返り値と同じ値が入る。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:102
 msgid ""
 "The I<flags> argument contains flags ORed together.  The flags are the same "
 "as documented for B<recvmsg>(2), with the following addition:"
-msgstr ""
+msgstr "I<flags> 引き数には複数のフラグを論理和 (OR) で指定できる。 フラグは、 B<recvmsg>(2) で説明されているものに加えて、以下が使用できる。"
 
 #. type: TP
 #: build/C/man2/recvmmsg.2:102
@@ -3770,7 +3780,7 @@ msgstr "B<MSG_WAITFORONE> (Linux 2.6.34 以降)"
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:107
 msgid "Turns on B<MSG_DONTWAIT> after the first message has been received."
-msgstr ""
+msgstr "最初のメッセージを受信後に B<MSG_DONTWAIT> を有効にする。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:123
@@ -3781,7 +3791,7 @@ msgid ""
 "granularity, and kernel scheduling delays mean that the blocking interval "
 "may overrun by a small amount.)  If I<timeout> is I<NULL> then the operation "
 "blocks indefinitely."
-msgstr ""
+msgstr "I<timeout> 引き数は I<struct timespec> (B<clock_gettime>(2) 参照) へのポインタで、 この構造体で受信操作のタイムアウト (秒とナノ秒) を指定する (待ち時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある)。 I<timeout>が I<NULL> の場合、 受信操作は無期限に停止 (block) する。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:134
@@ -3790,7 +3800,7 @@ msgid ""
 "received or until the timeout expires.  A nonblocking call reads as many "
 "messages as are available (up to the limit specified by I<vlen>)  and "
 "returns immediately."
-msgstr ""
+msgstr "停止 (blocking) モードの B<recvmmsg>() の呼び出しは、 I<vlen> 個のメッセージを受信するか、タイムアウトが満了するまで停止する。 非停止 (nonblocking) モードの呼び出しでは、 読み出し可能なメッセージ (最大で I<vlen> 個) を読み出し、 すぐに返る。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:149
@@ -3800,7 +3810,7 @@ msgid ""
 "size of the received message; the subfields of I<msg_hdr> are updated as "
 "described in B<recvmsg>(2).  The return value of the call indicates the "
 "number of elements of I<msgvec> that have been updated."
-msgstr ""
+msgstr "B<recvmmsg>() が返った際には、 I<msgvec> のうちデータが受信された要素には、受信したそれぞれのメッセージの情報が格納されている。 また、 I<msg_len> には受信したメッセージの大きさが入り、 I<msg_hdr> の各フィールドは B<recvmsg>(2) に書かれている通りに更新される。 呼び出しの返り値は、更新された I<msgvec> の要素数である。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:157
@@ -3808,18 +3818,18 @@ msgid ""
 "On success, B<recvmmsg>()  returns the number of messages received in "
 "I<msgvec>; on error, -1 is returned, and I<errno> is set to indicate the "
 "error."
-msgstr ""
+msgstr "成功すると、 B<recvmmsg>() は I<msgvec> に受信されたメッセージ数を返す。 エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:161
 msgid ""
 "Errors are as for B<recvmsg>(2).  In addition, the following error can occur:"
-msgstr ""
+msgstr "エラーは B<recvmsg>(2) と同じである。 これに加えて、以下のエラーが起こる場合がある。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:165
 msgid "I<timeout> is invalid."
-msgstr ""
+msgstr "I<timeout> が無効である。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:170
@@ -3831,7 +3841,7 @@ msgstr "B<recvmmsg>() システムコールは Linux 2.6.33 で追加された
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:173
 msgid "B<recvmmsg>()  is Linux-specific."
-msgstr ""
+msgstr "B<recvmmsg>() は Linux 固有である。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:181
@@ -3839,14 +3849,14 @@ msgid ""
 "The following program uses B<recvmmsg>()  to receive multiple messages on a "
 "socket and stores them in multiple buffers.  The call returns if all buffers "
 "are filled or if the timeout specified has expired."
-msgstr ""
+msgstr "以下のプログラムは、 B<recvmmsg>() を使って複数のメッセージをソケットから受信し、それらを複数のバッファに格納する。 呼び出しは、すべてのバッファにメッセージが格納されるか、 指定したタイムアウト時間が経過すると返る。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:184
 msgid ""
 "The following snippet periodically generates UDP datagrams containing a "
 "random number:"
-msgstr ""
+msgstr "以下のコマンドは、 ランダムな数字が入った UDP データグラムを定期的に生成する。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:189
@@ -3855,13 +3865,15 @@ 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<sleep 0.25; done>\n"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:194
 msgid ""
 "These datagrams are read by the example application, which can give the "
 "following output:"
-msgstr ""
+msgstr "生成されたデータグラムをサンプルアプリケーションが読み出し、以下のような出力が得られる。"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:204
@@ -3875,6 +3887,13 @@ msgid ""
 "4 13514\n"
 "5 28421\n"
 msgstr ""
+"$B< ./a.out>\n"
+"5 messages received\n"
+"1 11782\n"
+"2 11345\n"
+"3 304\n"
+"4 13514\n"
+"5 28421\n"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:215
@@ -3911,6 +3930,18 @@ msgid ""
 "    char bufs[VLEN][BUFSIZE+1];\n"
 "    struct timespec timeout;\n"
 msgstr ""
+"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"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:234 build/C/man2/sendmmsg.2:201
@@ -3960,6 +3991,13 @@ msgid ""
 "        msgs[i].msg_hdr.msg_iovlen = 1;\n"
 "    }\n"
 msgstr ""
+"    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"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:253
@@ -3999,6 +4037,13 @@ msgid ""
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 msgstr ""
+"    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"
 
 #. type: Plain text
 #: build/C/man2/recvmmsg.2:275
@@ -6907,7 +6952,7 @@ msgstr "2012-12-16"
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:31
 msgid "sendmmsg - send multiple messages on a socket"
-msgstr ""
+msgstr "sendmmsg - 複数のメッセージをソケットへ送信する"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:39
@@ -6926,14 +6971,14 @@ msgid ""
 "The B<sendmmsg>()  system call is an extension of B<sendmsg>(2)  that allows "
 "the caller to transmit multiple messages on a socket using a single system "
 "call.  (This has performance benefits for some applications.)"
-msgstr ""
+msgstr "B<sendmmsg>() システムコールは B<sendmsg>(2) の拡張で、 このシステムコールを使うと一度の呼び出しでソケットに複数のメッセージを送信できる (アプリケーションによっては性能上のメリットがある)。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:54
 msgid ""
 "The I<sockfd> argument is the file descriptor of the socket on which data is "
 "to be transmitted."
-msgstr ""
+msgstr "I<sockfd> 引き数は、 データを送信するソケットのファイルディスクリプタである。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:75
@@ -6944,6 +6989,10 @@ msgid ""
 "    unsigned int  msg_len;  /* Number of bytes transmitted */\n"
 "};\n"
 msgstr ""
+"struct mmsghdr {\n"
+"    struct msghdr msg_hdr;  /* メッセージヘッダ */\n"
+"    unsigned int  msg_len;  /* 送信されたバイト数 */\n"
+"};\n"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:91
@@ -6952,14 +7001,14 @@ msgid ""
 "(2).  The I<msg_len> field is used to return the number of bytes sent from "
 "the message in I<msg_hdr> (i.e., the same as the return value from a single "
 "B<sendmsg>(2)  call)."
-msgstr ""
+msgstr "I<msg_hdr> フィールドは、 B<sendmsg>(2) で説明されている I<msghdr> 構造体である。 I<msg_len> フィールドは I<msg_hdr> から送信されたメッセージのバイト数を返すのに使用される。 この値は B<sendmsg>(2) をこのヘッダに対して呼び出した場合の返り値と同じである。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:97
 msgid ""
 "The I<flags> argument contains flags ORed together.  The flags are the same "
 "as for B<sendmsg>(2)."
-msgstr ""
+msgstr "I<flags> 引き数には複数のフラグを論理和 (OR) で指定できる。フラグは B<sendmsg>(2) と同じである。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:107
@@ -6967,7 +7016,7 @@ msgid ""
 "A blocking B<sendmmsg>()  call blocks until I<vlen> messages have been "
 "sent.  A nonblocking call sends as many messages as possible (up to the "
 "limit specified by I<vlen>)  and returns immediately."
-msgstr ""
+msgstr "停止 (blocking) モードの B<sendmmsg>() の呼び出しは、 I<vlen> 個のメッセージが送信されるまで停止する。 非停止 (nonblocking) モードの呼び出しでは、 送信できるだけのメッセージ (最大で I<vlen> 個) を送信し、 すぐに返る。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:119
@@ -6976,7 +7025,7 @@ msgid ""
 "of I<msgvec> are updated to contain the number of bytes transmitted from the "
 "corresponding I<msg_hdr>.  The return value of the call indicates the number "
 "of elements of I<msgvec> that have been updated."
-msgstr ""
+msgstr "B<sendmmsg>() が返った際には、 I<msgvec> の送信が行われた要素の I<msg_len> フィールドは、対応する I<msg_hdr> から送信されたバイト数が入っている。 呼び出しの返り値は、更新された I<msgvec> の要素数である。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:129
@@ -6984,12 +7033,12 @@ msgid ""
 "On success, B<sendmmsg>()  returns the number of messages sent from "
 "I<msgvec>; if this is less than I<vlen>, the caller can retry with a further "
 "B<sendmmsg>()  call to send the remaining messages."
-msgstr ""
+msgstr "成功すると、 B<sendmmsg>() は I<msgvec> から送信されたメッセージ数を返す。 返り値が I<vlen> よりも小さい場合、 呼び出した側では再度 B<sendmmsg> を呼び出して残りのメッセージを送信することができる。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:133
 msgid "On error, -1 is returned, and I<errno> is set to indicate the error."
-msgstr ""
+msgstr "エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
 
 #
 #.  commit 728ffb86f10873aaf4abd26dde691ee40ae731fe
@@ -7004,19 +7053,19 @@ msgstr ""
 msgid ""
 "Errors are as for B<sendmsg>(2).  An error is returned only if no datagrams "
 "could be sent."
-msgstr ""
+msgstr "エラーは B<sendmsg>(2) と同じである。 エラーが返されるのは、 データグラムが全く送信できなかった場合のみである。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:150
 msgid ""
 "The B<sendmmsg>()  system call was added in Linux 3.0.  Support in glibc was "
 "added in version 2.14."
-msgstr ""
+msgstr "B<sendmmsg>() システムコールは Linux 3.0 で追加された。 glibc でのサポートはバージョン 2.14 で追加された。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:153
 msgid "B<sendmmsg>()  is Linux-specific."
-msgstr ""
+msgstr "B<sendmmsg>() は Linux 固有である。"
 
 #
 #
@@ -7030,7 +7079,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:168
 msgid "The value specified in I<vlen> is capped to B<UIO_MAXIOV> (1024)."
-msgstr ""
+msgstr "I<vlen> に指定できる値の最大値は B<UIO_MAXIOV> (1024) である。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:177
@@ -7038,7 +7087,7 @@ msgid ""
 "The example below uses B<sendmmsg>()  to send I<onetwo> and I<three> in two "
 "distinct UDP datagrams using one system call.  The contents of the first "
 "datagram originates from a pair of buffers."
-msgstr ""
+msgstr "以下の例では、 B<sendmmsg>() を使って、 一度のシステムコールで、 I<onetwo> と I<three> を二つの別々の UDP データグラムで送信する。 一つ目のデータグラムの内容は、二つのバッファから取得される。"
 
 #. type: Plain text
 #: build/C/man2/sendmmsg.2:186