OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man2 / send.2
index 8a59205..b361d3d 100644 (file)
 .\" Modified Oct 2003 by aeb
 .\" Modified 2004-07-01 by mtk
 .\"
-.\" Japanese Version Copyright (c) 1996 HANATAKA Shinya all rights reserved.
-.\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 1999-08-15, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2000-01-13, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2001-01-30, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-03-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2005-12-26, Akihiro MOTOKI
-.\" Updated 2006-04-15, Akihiro MOTOKI, LDP v2.29
-.\" Updated 2008-04-13, Akihiro MOTOKI, LDP v3.20
+.\"*******************************************************************
 .\"
-.\"WORD:       socket                  ソケット
-.\"WORD:       message                 メッセージ
-.\"WORD:       protocol                プロトコル
-.\"WORD:       nonblocking I/O         非停止 I/O
-.\"WORD:       block                   停止(block)
-.\"WORD:       out-of-band             帯域外
-.\"WORD:       descriptor              ディスクリプタ
-.\"WORD:       parameter               パラメータ
-.\"WORD:       queue                   キュー
-.\"WORD:       buffer                  バッファ
-.\"WORD:       routing                 ルーティング
-.\"WORD:       congestion              輻輳
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH SEND 2 2011-10-01 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH SEND 2 2012\-02\-27 Linux "Linux Programmer's Manual"
 .SH 名前
 send, sendto, sendmsg \- ソケットへメッセージを送る
 .SH 書式
 .nf
-.B #include <sys/types.h>
-.B #include <sys/socket.h>
+\fB#include <sys/types.h>\fP
+\fB#include <sys/socket.h>\fP
 .sp
-.BI "ssize_t send(int " sockfd ", const void *" buf ", size_t " len \
-", int " flags );
+\fBssize_t send(int \fP\fIsockfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB);\fP
 
-.BI "ssize_t sendto(int " sockfd ", const void *" buf ", size_t " len \
-", int " flags ,
-.BI "               const struct sockaddr *" dest_addr ", socklen_t " addrlen );
+\fBssize_t sendto(int \fP\fIsockfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB,\fP
+\fB               const struct sockaddr *\fP\fIdest_addr\fP\fB, socklen_t \fP\fIaddrlen\fP\fB);\fP
 
-.BI "ssize_t sendmsg(int " sockfd ", const struct msghdr *" msg \
-", int " flags );
+\fBssize_t sendmsg(int \fP\fIsockfd\fP\fB, const struct msghdr *\fP\fImsg\fP\fB, int \fP\fIflags\fP\fB);\fP
 .fi
 .SH 説明
-システムコール
-.BR send (),
-.BR sendto (),
-.BR sendmsg ()
-は、もう一方のソケットへメッセージを転送するのに使用される。
+システムコール \fBsend\fP(), \fBsendto\fP(), \fBsendmsg\fP()  は、もう一方のソケットへメッセージを転送するのに使用される。
 .PP
-.BR send ()
-は、ソケットが
-.I "接続された (connected)"
-状態にある場合にのみ使用できる
-(つまり、どの相手に送信するかは既知である)。
-.BR send ()
-と
-.BR write (2)
-の違いは、引き数に
-.I flags
-があるかどうかだけである。
-引き数
-.I flags
-にフラグが指定されない場合、
-.BR send ()
-は
-.BR write (2)
-と等価である。
+\fBsend\fP()  は、ソケットが \fI接続された (connected)\fP 状態にある場合にのみ使用できる
+(つまり、どの相手に送信するかは既知である)。 \fBsend\fP()  と \fBwrite\fP(2)  の違いは、引き数に \fIflags\fP
+があるかどうかだけである。 引き数 \fIflags\fP にフラグが指定されない場合、 \fBsend\fP()  は \fBwrite\fP(2)  と等価である。
 また、
 
     send(sockfd, buf, len, flags);
 
-は
+は以下と等価である。
 
     sendto(sockfd, buf, len, flags, NULL, 0);
-
-と等価である。
 .PP
-引き数
-.I sockfd
-は、データを送信するパケットのファイル・ディスクリプタである。
+引き数 \fIsockfd\fP は、データを送信するパケットのファイル・ディスクリプタである。
 .PP
-.BR sendto ()
-は、接続型 (connection-mode) のソケット
-.RB ( SOCK_STREAM ,
-.BR SOCK_SEQPACKET )
-で
-使用された場合、引き数
-.I dest_addr
-と
-.I addrlen
-は無視される (各々の引き数が NULL と 0 でない場合は
-.B EISCONN
-エラーも返される)。
-また、ソケットが実際には接続されていなかった時には
-.B ENOTCONN
-エラーが返される。
-接続型のソケット以外で使用された場合は、接続先のアドレスは
-.I dest_addr
-で与えられ、そのサイズは
-.I addrlen
-で指定される。
-.BR sendmsg ()
-では、接続先のアドレスは
-.I msg.msg_name
-で与えられ、そのサイズは
-.I msg.msg_namelen
-で指定される。
+\fBsendto\fP()  は、接続型 (connection\-mode) のソケット (\fBSOCK_STREAM\fP,
+\fBSOCK_SEQPACKET\fP)  で 使用された場合、引き数 \fIdest_addr\fP と \fIaddrlen\fP は無視される (各々の引き数が
+NULL と 0 でない場合は \fBEISCONN\fP エラーも返される)。 また、ソケットが実際には接続されていなかった時には \fBENOTCONN\fP
+エラーが返される。 接続型のソケット以外で使用された場合は、接続先のアドレスは \fIdest_addr\fP で与えられ、そのサイズは \fIaddrlen\fP
+で指定される。 \fBsendmsg\fP()  では、接続先のアドレスは \fImsg.msg_name\fP で与えられ、そのサイズは
+\fImsg.msg_namelen\fP で指定される。
 .PP
-.BR send ()
-と
-.BR sendto ()
-では、メッセージは
-.I buf
-に格納されており、その長さは
-.I len
-であると解釈される。
-.BR sendmsg ()
-では、メッセージは
-配列
-.I msg.msg_iov
-の各要素が指す位置に格納されている。
-.BR sendmsg ()
+\fBsend\fP()  と \fBsendto\fP()  では、メッセージは \fIbuf\fP に格納されており、その長さは \fIlen\fP であると解釈される。
+\fBsendmsg\fP()  では、メッセージは 配列 \fImsg.msg_iov\fP の各要素が指す位置に格納されている。 \fBsendmsg\fP()
 では、補助データ (制御情報とも呼ばれる) を送信することもできる。
 .PP
-メッセージ長が長過ぎるために、そのソケットが使用するプロトコルでは、
-メッセージをソケットに渡されたままの形で送信することができない場合、
-.B EMSGSIZE
-エラーが返され、そのメッセージは転送されない。
+メッセージ長が長過ぎるために、そのソケットが使用するプロトコルでは、 メッセージをソケットに渡されたままの形で送信することができない場合、
+\fBEMSGSIZE\fP エラーが返され、そのメッセージは転送されない。
 .PP
-.BR send ()
-では、配送の失敗の通知は明示的に行われる。
-ローカル側でエラーが検出された場合は、返り値 \-1 として通知される。
+\fBsend\fP()  では、配送の失敗の通知は明示的に行われる。 ローカル側でエラーが検出された場合は、返り値 \-1 として通知される。
 .PP
-メッセージがソケットの送信バッファに入れることができない場合、
-.BR send ()
-は通常は停止 (block) する (ソケットが非停止 (nonblocking) I/O モード
-でない場合)。非停止モードの場合にはエラー
-.B EAGAIN
-か
-.B EWOULDBLOCK
-で失敗する。
-いつデータをさらに送信できるようになるかを知るために、
-.BR select (2)
-コールを使用することができる。
+メッセージがソケットの送信バッファに入れることができない場合、 \fBsend\fP()  は通常は停止 (block) する (ソケットが非停止
+(nonblocking) I/O モード でない場合)。非停止モードの場合にはエラー \fBEAGAIN\fP か \fBEWOULDBLOCK\fP
+で失敗する。 いつデータをさらに送信できるようになるかを知るために、 \fBselect\fP(2)  コールを使用することができる。
 .PP
-.I flags
-引き数は、以下のフラグの (0 個以上の) ビット単位の論理和を
-とったものを指定する。
-.\" FIXME ? MSG_PROXY について記載すること
-.\" (MSG_PROXY は 2.3.15 でなくなった)
-.TP
-.BR MSG_CONFIRM " (Linux 2.3.15 以降)"
-転送処理に進展があった、つまり相手側から成功の応答を受けたことをリンク層に
-知らせる。リンク層がこの通知を受け取らなかった場合には、通常どおり
-(ユニキャスト ARP を使うなどの方法で) 近傍 (neighbor) の再検索を行う。
-.B SOCK_DGRAM
-と
-.B SOCK_RAW
-のソケットに対してのみ有効で、現在のところ IPv4 と IPv6 のみ実装されている。
-詳しくは
-.BR arp (7)
-参照のこと。
-.TP
-.B MSG_DONTROUTE
-パケットを送り出すのにゲートウェイを使用せず、
-直接接続されているネットワーク上のホストだけに送る。
-通常、このフラグは診断 (diagnostic) やルーティング・プログラムに
-よってのみ使用される。このフラグは、経路制御が行われるプロトコルファミリー
+.\" FIXME ? document MSG_PROXY (which went away in 2.3.15)
+\fIflags\fP 引き数は、以下のフラグの (0 個以上の) ビット単位の論理和を とったものを指定する。
+.TP 
+\fBMSG_CONFIRM\fP (Linux 2.3.15 以降)
+転送処理に進展があった、つまり相手側から成功の応答を受けたことをリンク層に 知らせる。リンク層がこの通知を受け取らなかった場合には、通常どおり
+(ユニキャスト ARP を使うなどの方法で) 近傍 (neighbor) の再検索を行う。 \fBSOCK_DGRAM\fP と \fBSOCK_RAW\fP
+のソケットに対してのみ有効で、現在のところ IPv4 と IPv6 のみ実装されている。 詳しくは \fBarp\fP(7)  参照のこと。
+.TP 
+\fBMSG_DONTROUTE\fP
+パケットを送り出すのにゲートウェイを使用せず、 直接接続されているネットワーク上のホストだけに送る。 通常、このフラグは診断 (diagnostic)
+やルーティング・プログラムに よってのみ使用される。このフラグは、経路制御が行われるプロトコルファミリー
 に対してのみ定義されている。パケットソケットには定義されていない。
-.TP
-.B MSG_DONTWAIT
-非停止 (nonblocking) 操作を有効にする。操作が停止されるような場合には
-.B EAGAIN
-か
-.B EWOULDBLOCK
-を返すようにする
-.RB ( fcntl (2)
-の
-.B F_SETFL
-で
-.B O_NONBLOCK
-フラグを指定することによっても有効にできる)。
-.TP
-.BR MSG_EOR " (Linux 2.2 以降)"
-レコードの終了を指示する
-.RB ( SOCK_SEQPACKET
-のようにこの概念に対応しているソケット種別のときに有効)。
-.TP
-.BR MSG_MORE " (Linux 2.4.4 以降)"
-呼び出し元にさらに送るデータがあることを示す。
-このフラグは TCP ソケットとともに使用され、
-.B TCP_CORK
-ソケットオプションと同じ効果が得られる
-.RB ( tcp (7)
-を参照)。
-.B TCP_CORK
-との違いは、このフラグを使うと呼び出し単位で
+.TP 
+\fBMSG_DONTWAIT\fP (Linux 2.2 以降)
+非停止 (nonblocking) 操作を有効にする。操作が停止されるような場合には \fBEAGAIN\fP か \fBEWOULDBLOCK\fP
+を返すようにする (\fBfcntl\fP(2)  の \fBF_SETFL\fP で \fBO_NONBLOCK\fP フラグを指定することによっても有効にできる)。
+.TP 
+\fBMSG_EOR\fP (Linux 2.2 以降)
+レコードの終了を指示する (\fBSOCK_SEQPACKET\fP のようにこの概念に対応しているソケット種別のときに有効)。
+.TP 
+\fBMSG_MORE\fP (Linux 2.4.4 以降)
+呼び出し元にさらに送るデータがあることを示す。 このフラグは TCP ソケットとともに使用され、 \fBTCP_CORK\fP
+ソケットオプションと同じ効果が得られる (\fBtcp\fP(7)  を参照)。 \fBTCP_CORK\fP との違いは、このフラグを使うと呼び出し単位で
 この機能を有効にできる点である。
 
 Linux 2.6 以降では、このフラグは UDP ソケットでもサポートされており、
-このフラグ付きで送信された全てのデータを一つのデータグラムにまとめて
-送信することを、カーネルに知らせる。まとめられたデータグラムは、
-このフラグを指定せずにこのシステムコールが実行された際に初めて送信される
-.RB ( udp (7)
-に記載されているソケットオプション
-.B UDP_CORK
-も参照)。
-.TP
-.BR MSG_NOSIGNAL " (Linux 2.2 以降)"
-ストリーム指向のソケットで相手側が接続を切断した時に、エラーとして
-.B SIGPIPE
-を送信しないように要求する。この場合でも
-.B EPIPE
+このフラグ付きで送信された全てのデータを一つのデータグラムにまとめて 送信することを、カーネルに知らせる。まとめられたデータグラムは、
+このフラグを指定せずにこのシステムコールが実行された際に初めて送信される (\fBudp\fP(7)  に記載されているソケットオプション
+\fBUDP_CORK\fP も参照)。
+.TP 
+\fBMSG_NOSIGNAL\fP (Linux 2.2 以降)
+ストリーム指向のソケットで相手側が接続を切断した時に、エラーとして \fBSIGPIPE\fP を送信しないように要求する。この場合でも \fBEPIPE\fP
 は返される。
-.TP
-.B MSG_OOB
-.I "帯域外 (out-of-band)"
-データをサポートするソケット (例えば
-.BR SOCK_STREAM )
-で
-.I 帯域外
-データを送る。下位プロトコルも
-.I 帯域外
-データをサポートしている必要がある。
+.TP 
+\fBMSG_OOB\fP
+\fI帯域外 (out\-of\-band)\fP データをサポートするソケット (例えば \fBSOCK_STREAM\fP)  で \fI帯域外\fP
+データを送る。下位プロトコルも \fI帯域外\fP データをサポートしている必要がある。
 .PP
-.I msghdr
-構造体の内容は以下の通り。
-各フィールドの正確な記述については
-.BR recv (2)
-と以下の説明を参照すること。
+\fImsghdr\fP 構造体の内容は以下の通り。 各フィールドの正確な記述については \fBrecv\fP(2)  と以下の説明を参照すること。
 .in +4n
 .nf
 
@@ -272,179 +138,107 @@ struct msghdr {
     socklen_t     msg_namelen;    /* アドレスのサイズ */
     struct iovec *msg_iov;        /* scatter/gather 配列 */
     size_t        msg_iovlen;     /* msg_iov の要素数 */
-    void         *msg_control;    /* 補助データ(後述) */
+    void         *msg_control;    /* 補助データ (後述) */
     size_t        msg_controllen; /* 補助データバッファ長 */
     int           msg_flags;      /* 受信メッセージのフラグ */
 };
 .fi
 .in
 .PP
-.I msg_control
-と
-.I msg_controllen
-メンバーを使用して制御情報を送信することができる。
-カーネルが処理できる制御バッファのソケットあたりの最大長は、
-.I /proc/sys/net/core/optmem_max
-の値に制限されている。
-.BR socket (7)
-を参照。
 .\" Still to be documented:
 .\"  Send file descriptors and user credentials using the
 .\"  msg_control* fields.
 .\"  The flags returned in msg_flags.
+\fImsg_control\fP と \fImsg_controllen\fP メンバーを使用して制御情報を送信することができる。
+カーネルが処理できる制御バッファのソケットあたりの最大長は、 \fI/proc/sys/net/core/optmem_max\fP の値に制限されている。
+\fBsocket\fP(7)  を参照。
 .SH 返り値
-成功した場合、これらのシステムコールは送信されたバイト数を返す。
-エラーの場合、 \-1 を返し、
-.I errno
-を適切に設定にする。
+成功した場合、これらのシステムコールは送信されたバイト数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP を適切に設定にする。
 .SH エラー
-これらはソケット層で発生する一般的なエラーである。これ以外に、下層の
-プロトコル・モジュールで生成されたエラーが返されるかもしれない。
+これらはソケット層で発生する一般的なエラーである。これ以外に、下層の プロトコル・モジュールで生成されたエラーが返されるかもしれない。
 これらについては、それぞれのマニュアルを参照すること。
-.TP
-.B EACCES
-(UNIX ドメインソケットはパス名で識別される。)
-ソケット・ファイルへの書き込み許可がなかったか、パス名へ
-到達するまでのディレクトリのいずれかに対する検索許可がなかった。
-.RB ( path_resolution (7)
-も参照のこと)
-.TP
-.BR EAGAIN " または " EWOULDBLOCK
+.TP 
+\fBEACCES\fP
+(UNIX ドメインソケットはパス名で識別される。)  ソケット・ファイルへの書き込み許可がなかったか、パス名へ
+到達するまでのディレクトリのいずれかに対する検索許可がなかった。 (\fBpath_resolution\fP(7)  も参照のこと)
+.TP 
+\fBEAGAIN\fP または \fBEWOULDBLOCK\fP
 .\" Actually EAGAIN on Linux
-ソケットが非停止に設定されており、
-要求された操作が停止した。
-POSIX.1-2001 は、この場合にどちらのエラーを返すことも認めており、
-これら 2 つの定数が同じ値を持つことも求めていない。
-したがって、移植性が必要なアプリケーションでは、両方の可能性を
-確認すべきである。
-.TP
-.B EBADF
+ソケットが非停止に設定されており、 要求された操作が停止した。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら
+2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。
+.TP 
+\fBEBADF\fP
 無効なディスクリプターが指定された。
-.TP
-.B ECONNRESET
+.TP 
+\fBECONNRESET\fP
 接続が接続相手によりリセットされた。
-.TP
-.B EDESTADDRREQ
-ソケットが接続型 (connection-mode) ではなく、
-かつ送信先のアドレスが設定されていない。
-.TP
-.B EFAULT
+.TP 
+\fBEDESTADDRREQ\fP
+ソケットが接続型 (connection\-mode) ではなく、 かつ送信先のアドレスが設定されていない。
+.TP 
+\fBEFAULT\fP
 ユーザー空間として不正なアドレスがパラメーターとして指定された。
-.TP
-.B EINTR
-データが送信される前に、シグナルが発生した。
-.BR signal (7)
-参照。
-.TP
-.B EINVAL
+.TP 
+\fBEINTR\fP
+データが送信される前に、シグナルが発生した。 \fBsignal\fP(7)  参照。
+.TP 
+\fBEINVAL\fP
 不正な引き数が渡された。
-.TP
-.B EISCONN
-接続型ソケットの接続がすでに確立していたが、受信者が指定されていた。
-(現在のところ、この状況では、このエラーが返されるか、
+.TP 
+\fBEISCONN\fP
+接続型ソケットの接続がすでに確立していたが、受信者が指定されていた。 (現在のところ、この状況では、このエラーが返されるか、
 受信者の指定が無視されるか、のいずれかとなる)
-.TP
-.B EMSGSIZE
-そのソケット種別
-.\" (例えば SOCK_DGRAM)
-ではソケットに渡されたままの形でメッセージを送信する必要があるが、
-メッセージが大き過ぎるため送信することができない。
-.TP
-.B ENOBUFS
-ネットワーク・インターフェースの出力キューが一杯である。
-一般的には、一時的な輻輳 (congestion) のためにインターフェースが
-送信を止めていることを意味する。
-(通常、Linux ではこのようなことは起こらない。デバイスのキューが
+.TP 
+\fBEMSGSIZE\fP
+.\" (e.g., SOCK_DGRAM )
+そのソケット種別 ではソケットに渡されたままの形でメッセージを送信する必要があるが、 メッセージが大き過ぎるため送信することができない。
+.TP 
+\fBENOBUFS\fP
+ネットワーク・インターフェースの出力キューが一杯である。 一般的には、一時的な輻輳 (congestion) のためにインターフェースが
+送信を止めていることを意味する。 (通常、Linux ではこのようなことは起こらない。デバイスのキューが
 オーバーフローした場合にはパケットは黙って捨てられる)
-.TP
-.B ENOMEM
+.TP 
+\fBENOMEM\fP
 メモリが足りない。
-.TP
-.B ENOTCONN
+.TP 
+\fBENOTCONN\fP
 ソケットが接続されておらず、接続先も指定されていない。
-.TP
-.B ENOTSOCK
-引き数
-.I sockfd
-がソケットでない。
-.TP
-.B EOPNOTSUPP
-引き数
-.I flags
-のいくつかのビットが、そのソケット種別では不適切なものである。
-.TP
-.B EPIPE
-接続指向のソケットでローカル側が閉じられている。
-この場合、
-.B MSG_NOSIGNAL
-が設定されていなければ、プロセスには
-.B SIGPIPE
+.TP 
+\fBENOTSOCK\fP
+引き数 \fIsockfd\fP はソケットではない。
+.TP 
+\fBEOPNOTSUPP\fP
+引き数 \fIflags\fP のいくつかのビットが、そのソケット種別では不適切なものである。
+.TP 
+\fBEPIPE\fP
+接続指向のソケットでローカル側が閉じられている。 この場合、 \fBMSG_NOSIGNAL\fP が設定されていなければ、プロセスには \fBSIGPIPE\fP
 も同時に送られる。
 .SH 準拠
-4.4BSD, SVr4, POSIX.1-2001.
-(これらの関数コールは 4.2BSD で最初に登場した)。
-
-POSIX.1-2001 には、
-.B MSG_OOB
-と
-.B MSG_EOR
-フラグだけが記載されている。
-POSIX.1-2008 では
-.B MSG_NOSIGNAL
-が規格に追加されている。
-.B MSG_CONFIRM
-フラグは Linux での拡張である。
+4.4BSD, SVr4, POSIX.1\-2001.  (これらの関数コールは 4.2BSD で最初に登場した)。
+.LP
+POSIX.1\-2001 には、 \fBMSG_OOB\fP と \fBMSG_EOR\fP フラグだけが記載されている。 POSIX.1\-2008 では
+\fBMSG_NOSIGNAL\fP が規格に追加されている。 \fBMSG_CONFIRM\fP フラグは Linux での拡張である。
 .SH 注意
-上記のプロトタイプは Single UNIX Specification に従っている。
-glibc2 も同様である。
-.I flags
-引き数は 4.x BSD では \fIint\fP であり、
-libc4 と libc5 では \fIunsigned int\fP である。
-.I len
-引き数は 4.x BSD と libc4 では \fIint\fP であり、
-libc5 では \fIsize_t\fP である。
-.I addrlen
-引き数は 4.x BSD と libc4 と libc5 では \fIint\fP である。
-.BR accept (2)
-も参照すること。
+上記のプロトタイプは Single UNIX Specification に従っている。 glibc2 も同様である。 \fIflags\fP 引き数は
+4.x BSD では \fIint\fP であり、 libc4 と libc5 では \fIunsigned int\fP である。 \fIlen\fP 引き数は 4.x
+BSD と libc4 では \fIint\fP であり、 libc5 では \fIsize_t\fP である。 \fIaddrlen\fP 引き数は 4.x BSD と
+libc4 と libc5 では \fIint\fP である。 \fBaccept\fP(2)  も参照すること。
 
-POSIX.1-2001 では、構造体
-.I msghdr
-のフィールド
-.I msg_controllen
-は
-.I socklen_t
-型であるべきだとされているが、
-現在の glibc では
-.I size_t
-型である。
 .\" glibc bug raised 12 Mar 2006
 .\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448
 .\" The problem is an underlying kernel issue: the size of the
 .\" __kernel_size_t type used to type this field varies
 .\" across architectures, but socklen_t is always 32 bits.
+POSIX.1\-2001 では、構造体 \fImsghdr\fP のフィールド \fImsg_controllen\fP は \fIsocklen_t\fP
+型であるべきだとされているが、 現在の glibc では \fIsize_t\fP 型である。
+
+\fBsendmmsg\fP(2)  には、一度の呼び出しでの複数のデータグラムの送信に使用できる
+Linux 固有の システムコールに関する情報が書かれている。
 .SH バグ
-Linux は
-.B ENOTCONN
-を返す状況で
-.B EPIPE
-を返すことがある。
+Linux は \fBENOTCONN\fP を返す状況で \fBEPIPE\fP を返すことがある。
 .SH 例
-.BR sendto ()
-の利用例が
-.BR getaddrinfo (3)
-に記載されている。
+\fBsendto\fP()  の利用例が \fBgetaddrinfo\fP(3)  に記載されている。
 .SH 関連項目
-.BR fcntl (2),
-.BR getsockopt (2),
-.BR recv (2),
-.BR select (2),
-.BR sendfile (2),
-.BR shutdown (2),
-.BR socket (2),
-.BR write (2),
-.BR cmsg (3),
-.BR ip (7),
-.BR socket (7),
-.BR tcp (7),
-.BR udp (7)
+\fBfcntl\fP(2), \fBgetsockopt\fP(2), \fBrecv\fP(2), \fBselect\fP(2), \fBsendfile\fP(2),
+\fBsendmmsg\fP(2), \fBshutdown\fP(2), \fBsocket\fP(2), \fBwrite\fP(2), \fBcmsg\fP(3),
+\fBip\fP(7), \fBsocket\fP(7), \fBtcp\fP(7), \fBudp\fP(7)