.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
.\"
-.TH RECV 2 2014\-02\-11 Linux "Linux Programmer's Manual"
+.TH RECV 2 2014\-08\-19 Linux "Linux Programmer's Manual"
.SH 名前
recv, recvfrom, recvmsg \- ソケットからメッセージを受け取る
.SH 書式
\fBssize_t recvmsg(int \fP\fIsockfd\fP\fB, struct msghdr *\fP\fImsg\fP\fB, int \fP\fIflags\fP\fB);\fP
.fi
.SH 説明
-The \fBrecv\fP(), \fBrecvfrom\fP(), and \fBrecvmsg\fP() calls are used to receive
-messages from a socket. They may be used to receive data on both
-connectionless and connection\-oriented sockets. This page first describes
-common features of all three system calls, and then describes the
-differences between the calls.
+\fBrecv\fP(), \fBrecvfrom\fP(), \fBrecvmsg\fP() コールは、 ソケットからメッセージを受け取るのに使用される。
+これらはコネクションレス型のソケットにも接続指向 (connection\-oriened) 型のソケットにも使用できる。 このページでは、まずこれら 3
+つのシステムコールすべてに共通の機能について説明し、 システムコール間の違いについて説明する。
.PP
-これらの三つのシステムコールはいずれも、成功した場合にはメッセージの長さを返す。 メッセージが長過ぎて指定されたバッファに入り切らなかった場合には、
+ã\81\93ã\82\8cã\82\89ã\81®ä¸\89ã\81¤ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ã\81\84ã\81\9aã\82\8cã\82\82ã\80\81æ\88\90å\8a\9fã\81\97ã\81\9få ´å\90\88ã\81«ã\81¯ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81®é\95·ã\81\95ã\82\92è¿\94ã\81\99ã\80\82 ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\81\8cé\95·é\81\8eã\81\8eã\81¦æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«å\85¥ã\82\8aå\88\87ã\82\89ã\81ªã\81\8bã\81£ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81
メッセージを受信したソケットの種類によっては余分のバイトが捨てられる かもしれない。
.PP
ソケットに受け取るメッセージが存在しなかった場合、 受信用のコールはメッセージが到着するまで待つ。 ただし、ソケットが非停止 (nonblocking)
.PP
アプリケーションは \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)
を使って、ソケットにさらにデータが到着しているかを判定することができる。
-.SS "The flags argument"
+.SS フラグ引き数
\fIflags\fP 引き数には、以下の値を 1つ以上、ビット単位の論理和 を取ったものを指定する:
.TP
\fBMSG_CMSG_CLOEXEC\fP (\fBrecvmsg\fP() のみ; Linux 2.6.23)
-(\fBunix\fP(7) で説明されている) \fBSCM_RIGHTS\fP 操作を使って UNIX ドメインのファイルディスクリプタ経由で受信した
-ファイルディスクリプタについて close\-on\-exec フラグをセットする。 このフラグは、 \fBopen\fP(2) の \fBO_CLOEXEC\fP
+(\fBunix\fP(7) で説明されている) \fBSCM_RIGHTS\fP 操作を使って UNIX ドメインのファイルディスクリプター経由で受信した
+ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«ã\81¤ã\81\84ã\81¦ close\-on\-exec ã\83\95ã\83©ã\82°ã\82\92ã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\81¯ã\80\81 \fBopen\fP(2) ã\81® \fBO_CLOEXEC\fP
フラグと同じ理由で有用である。
.TP
\fBMSG_DONTWAIT\fP (Linux 2.2 以降)
\fBMSG_ERRQUEUE\fP (Linux 2.2 以降)
このフラグを指定すると、 キューに入れられたエラーをソケットのエラーキューから取りだせるようになる。 このエラーは補助メッセージに組み込まれて渡され、
この補助メッセージの種別はプロトコルに依存する (IPv4 の場合は \fBIP_RECVERR\fP)。
-ã\83¦ã\83¼ã\82¶ã\81¯å\8d\81å\88\86ã\81ªã\82µã\82¤ã\82ºã\81®ã\83\90ã\83\83ã\83\95ã\82¡を用意しなければならない。 補助メッセージに関するより詳細な情報は \fBcmsg\fP(3) および \fBip\fP(7)
+ã\83¦ã\83¼ã\82¶ã\83¼ã\81¯å\8d\81å\88\86ã\81ªã\82µã\82¤ã\82ºã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼を用意しなければならない。 補助メッセージに関するより詳細な情報は \fBcmsg\fP(3) および \fBip\fP(7)
を参照のこと。 エラーの原因となったオリジナルパケットのペイロードは、 \fImsg_iovec\fP 経由で通常のデータとして渡される。
エラーを起こしたデータグラムのオリジナルの宛先アドレスは、 \fImsg_name\fP 経由で参照できる。
.IP
(これは \fIcmsghdr\fP の \fIcmsg_len\fP メンバーでチェックできる)。
受信エラーの場合は \fBMSG_ERRQUIE\fP が \fImsghdr\fP にセットされる。
エラーが渡された後には、キューに入っている次のエラーに基いて、
-å\87¦ç\90\86å¾\85ã\81¡ã\81®ã\82½ã\82±ã\83\83ã\83\88ã\83»ã\82¨ã\83©ã\83¼ã\81\8cå\86\8dç\94\9fæ\88\90ã\81\95ã\82\8cã\80\81次ã\81®ã\82½ã\82±ã\83\83ã\83\88æ\93\8dä½\9cã\81®é\9a\9bã\81«æ¸¡ã\81\95ã\82\8cã\82\8bã\80\82
+処理待ちのソケットエラーが再生成され、次のソケット操作の際に渡される。
このエラーは \fIsock_extended_err\fP 構造体で提供される:
.in +4n
.in
.IP
\fIee_errno\fP にはキューに入れられたエラーの \fIerrno\fP が入っている。 \fIee_origin\fP
-ã\81«ã\81¯ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´æ\89\80ã\81®ã\82ªã\83ªã\82¸ã\83³ã\83»ã\82³ã\83¼ã\83\89 (origin code) ã\81\8cå\85¥ã\81£ã\81¦ã\81\84ã\82\8bã\80\82 ä»\96ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ã\83\97ã\83ã\83\88ã\82³ã\83«ä¾\9då\98ã\81§ã\81\82ã\82\8bã\80\82
+にはエラーが発生した場所のオリジンコード (origin code) が入っている。 他のフィールドはプロトコル依存である。
\fBSO_EE_OFFENDER\fP マクロは、この補助的なメッセージを引き数に取って、
-ã\82¨ã\83©ã\83¼ã\81®ç\99ºç\94\9fã\81\97ã\81\9fã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\82¢ã\83\89ã\83¬ã\82¹ã\81\8cä¸\8dæ\98\8eã\81®å ´å\90\88ã\81«ã\81¯ã\80\81 \fIsockaddr\fP ã\81® \fIsa_family\fP
-メンバーが \fBAF_UNSPEC\fP になっている。 \fIsockaddr\fP の他のフィールドは不定である。
+ã\82¨ã\83©ã\83¼ã\81®ç\99ºç\94\9fã\81\97ã\81\9fã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88ã\81®ã\82¢ã\83\89ã\83¬ã\82¹ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¢ã\83\89ã\83¬ã\82¹ã\81\8cä¸\8dæ\98\8eã\81®å ´å\90\88ã\81«ã\81¯ã\80\81 \fIsockaddr\fP ã\81®
+\fIsa_family\fP メンバーが \fBAF_UNSPEC\fP になっている。 \fIsockaddr\fP の他のフィールドは不定である。
エラーの発生したパケットのペイロードは通常のデータとして渡される。
.IP
ローカルなエラーの場合はアドレスは渡されない
(これは \fIcmsghdr\fP の \fIcmsg_len\fP メンバーでチェックできる)。
受信エラーの場合は \fBMSG_ERRQUIE\fP が \fImsghdr\fP にセットされる。
エラーが渡された後には、キューに入っている次のエラーに基いて、
-å\87¦ç\90\86å¾\85ã\81¡ã\81®ã\82½ã\82±ã\83\83ã\83\88ã\83»ã\82¨ã\83©ã\83¼ã\81\8cå\86\8dç\94\9fæ\88\90ã\81\95ã\82\8cã\80\81次ã\81®ã\82½ã\82±ã\83\83ã\83\88æ\93\8dä½\9cã\81®é\9a\9bã\81«æ¸¡ã\81\95ã\82\8cã\82\8bã\80\82
+処理待ちのソケットエラーが再生成され、次のソケット操作の際に渡される。
.TP
\fBMSG_OOB\fP
-ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\81¯ã\80\81é\80\9a常ã\81®ã\83\87ã\83¼ã\82¿ã\83»ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81§ã\81¯å\8f\97ä¿¡ã\81§ã\81\8dã\81ªã\81\84 帯å\9f\9få¤\96 (out\-of\-band) ã\83\87ã\83¼ã\82¿ã\81®å\8f\97ä¿¡ã\82\92è¦\81æ±\82ã\81\99ã\82\8bã\80\82 ã\83\97ã\83ã\83\88ã\82³ã\83«ã\81«ã\82\88ã\81£ã\81¦ã\81¯ã\80\81
-é\80\9a常ã\81®ã\83\87ã\83¼ã\82¿ã\83»ã\82ã\83¥ã\83¼ã\81®å\85\88é ã\81«é\80\9fé\81\94ã\83\87ã\83¼ã\82¿ã\82\92ç½®ã\81\8fã\82\82ã\81®ã\81\8cã\81\82ã\82\8bã\81\8cã\80\81 ã\81\9dã\81®ã\82\88ã\81\86ã\81ªã\83\97ã\83ã\83\88ã\82³ã\83«ã\81§ã\81¯ã\81\93ã\81®ã\83\95ã\83©ã\82°ã\81¯ä½¿ç\94¨ã\81§ã\81\8dã\81ªã\81\84ã\80\82
+このフラグは、通常のデータストリームでは受信できない 帯域外 (out\-of\-band) データの受信を要求する。 プロトコルによっては、
+通常のデータキューの先頭に速達データを置くものがあるが、 そのようなプロトコルではこのフラグは使用できない。
.TP
\fBMSG_PEEK\fP
このフラグを指定すると、 受信キューの最初のデータを返すとき、キューからデータを削除しない。
\fBMSG_TRUNC\fP (Linux 2.2 以降)
raw ソケット (\fBAF_PACKET\fP)、 Internet datagram ソケット (Linux 2.4.27/2.6.8 以降)、
netlink (Linux 2.6.22 以降) ソケット、 UNIX datagram ソケット (Linux 3.4 以降)
-の場合、パケットやデータグラムの長さが渡したバッファよりも長かった場合にも、 パケットやデータグラムの実際の長さを返す。
+ã\81®å ´å\90\88ã\80\81ã\83\91ã\82±ã\83\83ã\83\88ã\82\84ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\81®é\95·ã\81\95ã\81\8c渡ã\81\97ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\88ã\82\8aã\82\82é\95·ã\81\8bã\81£ã\81\9få ´å\90\88ã\81«ã\82\82ã\80\81 ã\83\91ã\82±ã\83\83ã\83\88ã\82\84ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\81®å®\9fé\9a\9bã\81®é\95·ã\81\95ã\82\92è¿\94ã\81\99ã\80\82
Internet ストリームソケットでの利用については \fBtcp\fP(7) を参照。
.TP
このフラグは、要求した量いっぱいのデータが到着するまで、 操作を停止 (block) するよう要求する。 但し、シグナルを受信したり、エラーや切断
(disconnect) が発生したり、 次に受信されるデータが異なる型だったりした場合には、 要求した量よりデータが少なくても返ることがある。
.SS recvfrom()
-\fBrecvfrom\fP() places the received message into the buffer \fIbuf\fP. The
-caller must specify the size of the buffer in \fIlen\fP.
+\fBrecvfrom\fP() は受信したメッセージをバッファー \fIbuf\fP に格納する。 呼び出し元はバッファーサイズを \fIlen\fP
+で指定しなければならない。
.\" (Note: for datagram sockets in both the UNIX and Internet domains,
.\" .I src_addr
.\" filled in for stream sockets in the Internet domain.)
.\" [The above notes on AF_UNIX and AF_INET sockets apply as at
.\" Kernel 2.4.18. (MTK, 22 Jul 02)]
-If \fIsrc_addr\fP is not NULL, and the underlying protocol provides the source
-address of the message, that source address is placed in the buffer pointed
-to by \fIsrc_addr\fP. In this case, \fIaddrlen\fP is a value\-result argument.
-Before the call, it should be initialized to the size of the buffer
-associated with \fIsrc_addr\fP. Upon return, \fIaddrlen\fP is updated to contain
-the actual size of the source address. The returned address is truncated if
-the buffer provided is too small; in this case, \fIaddrlen\fP will return a
-value greater than was supplied to the call.
+\fIsrc_addr\fP が NULL 以外で、下層のプロトコルからメッセージの送信元アドレスが分かる場合、 この送信元アドレスが \fIsrc_addr\fP
+が指すバッファーに格納される。 この場合、 \fIaddrlen\fP は入出力両用の引き数となる。 呼び出し前に、呼び出し元は \fIsrc_addr\fP
+に割り当てたバッファーの大きさで初期化しておくべきである。 返ってくる時には、 \fIaddrlen\fP
+は送信元アドレスの実際の大きさに変更される。渡されたバッファーが小さ過ぎる場合には、返されるアドレスの末尾は 切り詰められる。この場合には、
+\fIaddrlen\fP では、呼び出し時に渡された値よりも大きな値が返される。
.\"
-If the caller is not interested in the source address, \fIsrc_addr\fP should be
-specified as NULL and \fIaddrlen\fP should be specified as 0.
+呼び出し元が送信元アドレスを必要としない場合は、 \fIsrc_addr\fP と \fIaddrlen\fP には NULL を指定すべきである。
.SS recv()
\fBrecv\fP() コールは通常 \fI接続済みの (connected)\fP ソケットに対してのみ使用される (\fBconnect\fP(2)
参照)。次の呼び出しと等価である。
struct iovec *msg_iov; /* scatter/gather 配列 */
size_t msg_iovlen; /* msg_iov の要素数 */
void *msg_control; /* 補助データ (後述) */
- size_t msg_controllen; /* 補助データバッファ長 */
+ size_t msg_controllen; /* 補助データバッファー長 */
int msg_flags; /* 受信メッセージのフラグ */
};
.fi
.in
.PP
-\fImsg_name\fP と \fImsg_namelen\fP は、ソケットが接続されていない場合に送信元のアドレスを指定する。 名前が必要ない場合には
-\fImsg_name\fP に NULL ポインタを指定する。 \fImsg_iov\fP と \fImsg_iovlen\fP フィールドは \fBreadv\fP(2)
-に記述されているような分解/結合用のベクトル (scatter\-gather locations) を指定する。 \fImsg_control\fP
-フィールドは \fImsg_controllen\fP の長さを持ち、他のプロトコル制御メッセージや 種々の補助データのためのバッファへのポインタである。
-\fBrecvmsg\fP() を呼ぶ際には、 \fImsg_controllen\fP に \fImsg_control\fP
-のバッファの長さを入れておく必要がある。 コールが成功して返った場合、制御メッセージ列の長さが入っている。
+フィールド \fImsg_name\fP は、 ソケットが接続されていない場合に送信元アドレスを返すのに使用されるバッファーを指す。
+このバッファーは呼び出し元が確保する。 呼び出し元は呼び出し前に \fImsg_namelen\fP にこのバッファーの大きさを設定しなければならない。
+呼び出しが成功した場合、呼び出しから返って来た際には \fImsg_namelen\fP には返されるアドレスの長さが入っている。
+アプリケーションが送信元アドレスを知る必要がない場合には、 \fImsg_name\fP に NULL を指定することができる。
+
+\fImsg_iov\fP と \fImsg_iovlen\fP フィールドは scatter\-gather 用の場所を指定する。 \fBreadv\fP(2)
+に説明がある。
+
+\fImsg_control\fP フィールドは \fImsg_controllen\fP の長さを持ち、他のプロトコル制御メッセージや
+種々の補助データのためのバッファーへのポインターである。 \fBrecvmsg\fP() を呼ぶ際には、 \fImsg_controllen\fP に
+\fImsg_control\fP のバッファーの長さを入れておく必要がある。 コールが成功して返った場合、制御メッセージ列の長さが入っている。
.PP
メッセージの形式は以下の通り:
.in +4n
補助データは、 \fBcmsg\fP(3) に定義されたマクロ経由でのみアクセスすべきである。
.PP
例をあげると、 Linux はこの補助データのメカニズムを、 UNIX ドメインソケット上での拡張エラーや IP オプション、
-ã\83\95ã\82¡ã\82¤ã\83«ã\83»ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿の受け渡しに利用している。
+ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼の受け渡しに利用している。
.PP
\fImsghdr\fP の \fImsg_flags\fP フィールドは \fBrecvmsg\fP()
からのリターン時に設定される。ここにはいくつかのフラグが入る。
\fBSOCK_SEQPACKET\fP 型のソケットで使用される)。
.TP
\fBMSG_TRUNC\fP
-データグラムが与えられたバッファより大きかったために、 データグラムのはみ出した部分が捨てられたことを示す。
+ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\81\8cä¸\8eã\81\88ã\82\89ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\88ã\82\8a大ã\81\8dã\81\8bã\81£ã\81\9fã\81\9fã\82\81ã\81«ã\80\81 ã\83\87ã\83¼ã\82¿ã\82°ã\83©ã\83 ã\81®ã\81¯ã\81¿å\87ºã\81\97ã\81\9fé\83¨å\88\86ã\81\8cæ\8d¨ã\81¦ã\82\89ã\82\8cã\81\9fã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82
.TP
\fBMSG_CTRUNC\fP
-補助データのためのバッファが不足したために、 制御データの一部が捨てられたことを示す。
+è£\9cå\8a©ã\83\87ã\83¼ã\82¿ã\81®ã\81\9fã\82\81ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81\8cä¸\8d足ã\81\97ã\81\9fã\81\9fã\82\81ã\81«ã\80\81 å\88¶å¾¡ã\83\87ã\83¼ã\82¿ã\81®ä¸\80é\83¨ã\81\8cæ\8d¨ã\81¦ã\82\89ã\82\8cã\81\9fã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82
.TP
\fBMSG_OOB\fP
速達データや帯域外データを受信したことを示す。
.TP
\fBMSG_ERRQUEUE\fP
-ã\83\87ã\83¼ã\82¿ã\81¯å\8f\97ä¿¡ã\81\97ã\81ªã\81\8bã\81£ã\81\9fã\81\8c ã\82½ã\82±ã\83\83ã\83\88ã\81®ã\82¨ã\83©ã\83¼ã\83»ã\82ã\83¥ã\83¼ã\81\8bã\82\89æ\8b¡å¼µã\82¨ã\83©ã\83¼ã\82\92å\8f\97ä¿¡ã\81\97ã\81\9fã\81\93ã\81¨ã\82\92示ã\81\99ã\80\82
+データは受信しなかったが ソケットのエラーキューから拡張エラーを受信したことを示す。
.SH 返り値
これらのコールは受信したバイト数を返す。 エラーの場合は \-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
ストリームソケットの接続相手が正しくシャットダウンを実行した場合は、
返り値は 0 (昔ながらの "end\-of\-file" の戻り値) となる。
-Datagram sockets in various domains (e.g., the UNIX and Internet domains)
-permit zero\-length datagrams. When such a datagram is received, the return
-value is 0.
+いくつかのドメインのデータグラムソケット (UNIX ドメインやインターネットドメインなど) では、長さ 0 のデータグラムが送信できる。
+このようなデータグラムを受信した場合、 返り値は 0 となる。
-The value 0 may also be returned if the requested number of bytes to receive
-from a stream socket was 0.
+ストリームソケットに対する受信要求バイト数が 0 だった場合も、 値 0 が返される。
.SH エラー
-ã\81\93ã\82\8cã\82\89ã\81¯ã\82½ã\82±ã\83\83ã\83\88層ã\81§ç\99ºç\94\9fã\81\99ã\82\8bä¸\80è\88¬ç\9a\84ã\81ªã\82¨ã\83©ã\83¼ã\81§ã\81\82ã\82\8bã\80\82 ä»\96ã\81®ã\82¨ã\83©ã\83¼ã\81\8cä¸\8b層ã\81®ã\83\97ã\83ã\83\88ã\82³ã\83«ã\83»ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81§ç\94\9fæ\88\90ã\81\95ã\82\8cã\80\81 è¿\94ã\81\95ã\82\8cã\82\8bã\81\8bã\82\82ã\81\97ã\82\8cã\81ªã\81\84ã\80\82
+これらはソケット層で発生する一般的なエラーである。 他のエラーが下層のプロトコルモジュールで生成され、 返されるかもしれない。
それらのマニュアルを参照すること。
.TP
\fBEAGAIN\fP または \fBEWOULDBLOCK\fP
つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。
.TP
\fBEBADF\fP
-引き数 \fIsockfd\fP が不正なディスクリプタである。
+å¼\95ã\81\8dæ\95° \fIsockfd\fP ã\81\8cä¸\8dæ£ã\81ªã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81\82ã\82\8bã\80\82
.TP
\fBECONNREFUSED\fP
リモートのホストでネットワーク接続が拒否された (よくある理由としては、要求したサービスが起動されていないなどがある)。
.TP
\fBEFAULT\fP
-å\8f\97ä¿¡ã\83\90ã\83\83ã\83\95ã\82¡ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿がプロセスのアドレス空間外を指している。
+å\8f\97ä¿¡ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼がプロセスのアドレス空間外を指している。
.TP
\fBEINTR\fP
データを受信する前に、シグナルが配送されて割り込まれた。 \fBsignal\fP(7) 参照。
不正な引き数が渡された。
.TP
\fBENOMEM\fP
-\fBrecvmsg\fP() のためのメモリが確保できなかった。
+\fBrecvmsg\fP() ã\81®ã\81\9fã\82\81ã\81®ã\83¡ã\83¢ã\83ªã\83¼ã\81\8c確ä¿\9dã\81§ã\81\8dã\81ªã\81\8bã\81£ã\81\9fã\80\82
.TP
\fBENOTCONN\fP
ソケットに接続指向プロトコルが割り当てられており、 まだ接続されていない (\fBconnect\fP(2) と \fBaccept\fP(2)
.LP
POSIX.1\-2001 では、 \fBMSG_OOB\fP, \fBMSG_PEEK\fP, \fBMSG_WAITALL\fP フラグだけが記載されている。
.SH 注意
-上記のプロトタイプは glibc2 にしたがっている。 Single UNIX Specification でも同様だが、 返り値の型が
-\fIssize_t\fP となっている (一方で 4.x BSD や libc4 や libc5 は全て \fIint\fP を使用している)。 \fIflags\fP
-引き数は 4.x BSD では \fIint\fP だが、libc4 と libc5 では \fIunsigned int\fP である。 \fIlen\fP 引き数は
-4.x BSD では \fIint\fP だが、 libc4 と libc5 では \fIsize_t\fP である。 \fIaddrlen\fP 引き数は 4.x
-BSD, libc4, libc5 では \fIint\ *\fP である。 現在の \fIsocklen_t\ *\fP は POSIX で発案された。
-\fBaccept\fP(2) も参照すること。
+\fIsocklen_t\fP 型は POSIX で発案された。 \fBaccept\fP(2) も参照。
.\" glibc bug raised 12 Mar 2006
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448
\fBfcntl\fP(2), \fBgetsockopt\fP(2), \fBread\fP(2), \fBrecvmmsg\fP(2), \fBselect\fP(2),
\fBshutdown\fP(2), \fBsocket\fP(2), \fBcmsg\fP(3), \fBsockatmark\fP(3), \fBsocket\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。