FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目 | 歴史 | バグ
SEND(2)                FreeBSD システムコールマニュアル                SEND(2)

名称
     send, sendto, sendmsg, sendmmsg -- ソケットから (複数の) メッセージを送信
     する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <sys/types.h>
     #include <sys/socket.h>

     ssize_t
     send(int s, const void *msg, size_t len, int flags);

     ssize_t
     sendto(int s, const void *msg, size_t len, int flags,
         const struct sockaddr *to, socklen_t tolen);

     ssize_t
     sendmsg(int s, const struct msghdr *msg, int flags);

     ssize_t
     sendmmsg(int s, struct mmsghdr * restrict msgvec, size_t vlen,
         int flags);

解説
     send() と sendmmsg() 関数と sendto() と sendmsg() システムコールは、
     (sendmmsg() 呼び出しで) 1 つ以上のメッセージを別のソケットに送信するため
     に使用されます。send() 関数は、ソケットが、接続された状態であるときだけ使
     用されますが、一方 sendto(), sendmsg() と sendmmsg() は、いつでも使用され
     ます。

     ターゲットのアドレスは、そのサイズを指定している tolento によって与え
     られます。メッセージの長さは、len によって与えられます。メッセージが基本
     的なプロトコルを通して不可分に渡すには、長すぎるなら、エラー EMSGSIZE
     が、返され、メッセージは、送信されません。

     sendmmsg() 関数は、呼び出しで複数のメッセージを送信します。それらは、ベク
     トルサイズを指定している vlen とともに msgvec ベクトルによって与えられま
     す。各メッセージごとに送信されるオクテットの数は、転送の後にベクトルの各
     処理された要素の msg_len フィールドに置かれます。

     send() において、配信の失敗は、示されません。ローカルに検出されたエラー
     は、-1 の返り値によって示されます。

     メッセージの空間が、送信されるメッセージを保持するソケットで利用可能では
     ないなら、send() は、ソケットが非ブロッキング I/O モードに置かれていない
     なら、通常ブロックします。select(2) システムコールは、より多くのデータを
     いつ送信することが可能であるかを決定するために使用されます。

     flags 引数は、次の 1 つ以上を含みます:

     #define MSG_OOB         0x00001 /* 帯域外データを処理します */
     #define MSG_DONTROUTE   0x00004 /* 経路制御をバイパスし,
                                        インタフェースを直接使用します */
     #define MSG_EOR         0x00008 /* レコードを終了するデータ */
     #define MSG_EOF         0x00100 /* トランザクションを終了するデータ */
     #define MSG_NOSIGNAL    0x20000 /* EOF で SIGPIPE を発生しません */

     フラグ MSG_OOB は、この観念をサポートするソケット (例えば、SOCK_STREAM)
     で ``帯域外'' のデータを送信するために使用されます。基本的なプロトコル
     は、``帯域外'' のデータもサポートしなければなりません。MSG_EOR は、概念を
     サポートするプロトコルのためのレコードマークを示すために使用されます。
     MSG_EOF は、ソケットの送信側がシャットダウンされることを要求し、適切な指
     示が指定されたデータの終わりで送信されることを要求します。このフラグは、
     PF_INET プロトコルファミリの SOCK_STREAM ソケットのためだけに実装されてい
     ます。MSG_DONTROUTE は、通常、診断または経路制御プログラムによってのみ使
     用されます。MSG_NOSIGNAL は、クローズされるソケットに書き込むとき、
     SIGPIPE の発生を防止するために使用されます。

     msghdr 構造体と mmsghdr 構造体の説明については、recv(2) を参照してくださ
     い。

戻り値
     send(), sendto() と sendmsg() 呼び出しは、送信されるオクテットの数を返し
     ます。sendmmsg() 呼び出しは、送信されたメッセージの数を返します。エラーが
     起こったなら、-1 の値が、返されます。

エラー
     send() と sendmmsg() 関数と sendto() と sendmsg() システムコールは、次の
     場合に失敗します:

     [EBADF]            無効の記述子が、指定されました。

     [EACCES]           宛先アドレスが、ブロードキャスト (同報通信) アドレスで
                        あり、SO_BROADCAST が、ソケットで設定されませんでし
                        た。

     [ENOTSOCK]         引数 s が、ソケットではありません。

     [EFAULT]           無効のユーザ空間のアドレスが、引数のために指定されまし
                        た。

     [EMSGSIZE]         ソケットが、メッセージが不可分に送信されることを必要と
                        し、送信されるメッセージのサイズが、これで不可能にされ
                        ています。

     [EAGAIN]           ソケットが、非ブロッキングとマークされ、要求された操作
                        は、ブロックするでしょう。

     [ENOBUFS]          システムが、内部のバッファを割り付けることができません
                        でした。バッファが利用可能になるとき、操作が、成功する
                        かもしれません。

     [ENOBUFS]          ネットワークインタフェースのための出力キューが、満杯で
                        した。これは、一般的に、インタフェースが、送信すること
                        を停止しますが、一時的な輻輳によって起こされることを示
                        します。

     [EHOSTUNREACH]     リモートのホストが、到達不能でした。

     [EISCONN]          宛先アドレスが、指定され、ソケットが、すでに接続されて
                        います。

     [ECONNREFUSED]     ソケットが、送信された最後のメッセージから ICMP 宛先到
                        達不能のメッセージを受信しました。これは、通常、受信者
                        が、リモートのポートで listen (接続を受け付け) してい
                        ないことを意味します。

     [EHOSTDOWN]        リモートのホストが、ダウンしていました。

     [ENETDOWN]         リモートのネットワークが、ダウンしていました。

     [EADDRNOTAVAIL]    SOCK_RAW ソケットを使用しているプロセスが、jail 化され
                        ていて、IP ヘッダで指定された送信元アドレスが、jail と
                        バインドされた IP アドレスと一致しませんでした。

     [EPIPE]            ソケットが、これ以上データを送信することができません
                        (SBS_CANTSENDMORE が、ソケットに設定されています)。こ
                        れは、通常、ソケットが接続されていないことを意味してい
                        ます。

関連項目
     fcntl(2), getsockopt(2), recv(2), select(2), socket(2), write(2)

歴史
     send() 関数は、4.2BSD で登場しました。sendmmsg() 関数は、FreeBSD 11.0 で
     登場しました。

バグ
     sendmsg() は、データが転送されるまで、必ずしもブロックしないので、AF_UNIX
     ドメインソケット (recv(2) を参照) を越えてオープンされたファイル記述子を
     転送することができ、次に、実際に送信される前に、それを close() (クローズ)
     し受信者がクローズされたファイル記述子を取得する結果となります。これが起
     こることを防止するための確認メカニズムを実装することは、アプリケーション
     に委ねられています。

FreeBSD 11.2                   January 29, 2016                   FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索