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
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目 | バグ
SCTP_SEND(3)           FreeBSD ライブラリ関数マニュアル           SCTP_SEND(3)

名称
     sctp_send, sctp_sendx -- SCTP ソケットにメッセージを送信する

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

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

     ssize_t
     sctp_send(int sd, const void *msg, size_t len,
         const struct sctp_sndrcvinfo *sinfo, int flags);

     ssize_t
     sctp_sendx(int sd, const void *msg, size_t len, struct sockaddr *addrs,
         int addrcnt, const struct sctp_sndrcvinfo *sinfo, int flags);

解説
     sctp_send() システムコールは、別の SCTP 終点 (endpoint) に転送するために
     に使用されます。sctp_send() は、1 対多の (SOCK_SEQPACKET) と 1 対 1 の
     (SOCK_STREAM) のソケットのタイプの両方のための既存のアソシエーションに
     データを送信するために使用されます。メッセージ msg の長さは len によって
     与えられています。メッセージが基本的なプロトコルを通して不可分に渡すため
     には長すぎるなら、errno は、EMSGSIZE に設定されて、-1 が返され、メッセー
     ジは、送信されません。

     配信のための失敗の兆候なしに、sctp_send() で暗黙ではありません。局所的に
     検出されたエラーは、-1 の返り値によって示されます。

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

     sinfo 構造は、様々な SCTP の機能を制御するために使用され、次の形式があり
     ます:

     struct sctp_sndrcvinfo {
             uint16_t sinfo_stream;  /* ストリーム発信 */
             uint16_t sinfo_ssn;     /* 受信のみ有効 */
             uint16_t sinfo_flags;   /* 送信を制御するフラグ */
             uint32_t sinfo_ppid;    /* ppid フィールド */
             uint32_t sinfo_context; /* コンテキストフィールド */
             uint32_t sinfo_timetolive; /* PR-SCTP に対する有効期間 */
             uint32_t sinfo_tsn;        /* 受信のみ有効 */
             uint32_t sinfo_cumtsn;     /* 受信のみ有効 */
             sctp_assoc_t sinfo_assoc_id; /* アソシエーション ID */
     };

     sinfo->sinfo_ppid 引数は、スタックからピア (相手側) 終点に透過的に渡され
     る 32 ビットの不透明な (サイズおよび形がわからない) 値です。それはメッ
     セージの受信で利用可能となります (sctp_recvmsg(3) 参照)。スタックは、バイ
     ト順に関係なしでこの値を渡すことに注意してください。

     sinfo->sinfo_flags 引数は、次の 1 つ以上を含みます:

     #define SCTP_EOF          0x0100        /* シャットダウン手順を始める */
     #define SCTP_ABORT        0x0200        /* ABORT をピアに送信する */
     #define SCTP_UNORDERED    0x0400        /* メッセージは不規則です */
     #define SCTP_ADDR_OVER    0x0800        /* 主要なアドレスを上書きする */
     #define SCTP_SENDALL      0x1000        /* これを終点に対してすべての */
                                             /* アソシエーションに送信する */
     /* 下位バイトは PR-SCTP ポリシの列挙です */
     #define SCTP_PR_SCTP_TTL  0x0001        /* PR-SCTP ベースの時間 */
     #define SCTP_PR_SCTP_BUF  0x0002        /* PR-SCTP ベースのバッファ */
     #define SCTP_PR_SCTP_RTX  0x0003        /* PR-SCTP ベースの再転送の数 */

     フラグ SCTP_EOF は、このメッセージをキューに入れ、次に、アソシエーション
     の素直なシャットダウンを始めるように SCTP スタックに命令するために使用さ
     れます。キュー中のすべての残っているデータは、アソシエーションがシャット
     ダウンされた後に送信されます。

     SCTP_ABORT は、直ちにアソシエーションを終了するために使用されます。アボー
     トが、ピアに送信され、ローカル TCB は、破壊されます。

     SCTP_UNORDERED は、送信されるメッセージには、特有の順序がなく、できるだけ
     早く、ピアアプリケーションに配信されるべきであることを指定するために使用
     されます。このフラグが欠けているとき、メッセージは、ピアストリームの順序
     に関係なく、それらが送信されるストリームの中で順番に配信されます。

     フラグ SCTP_ADDR_OVER は、特定のアドレスが使用されるべきであることを指定
     するために使用されます。通常、SCTP は、送信される主要なアドレスとして、マ
     ルチホームのピアアドレスの 1 つのみを使用します。デフォルトで、この主要な
     アドレスは、たとえ to 引数であろうとも、データを送信するために使用されま
     す。このフラグを指定することによって、ユーザは、主要なアドレスを無視する
     ように、スタックに問い合わせ、また、送信するための実際のアドレスとしてで
     はなく、アソシエーションを見つける検索メカニズムとしてのみでない指定され
     たアドレスを代わりに使用します。

     1 対多のタイプ (SOCK_SEQPACKET) のソケットのために、1 つの送信の呼び出し
     行い、ソケットがメッセージのコピーを取得する最中にすべてのアソシエーショ
     ンを持つ、便利な方法として、フラグ SCTP_SENDALL を使用することができま
     す。このメカニズムは、かなり効率的であり、送信のためのすべてのアソシエー
     ションによって共有されるデータの 1 つの実際のコピーだけを作ることに注意し
     てください。

     残りのフラグは、部分的な信頼性の拡張 (RFC3758) のために使用され、ピア終点
     がこの拡張をサポートする場合にだけ、効果的になります。このオプションは、
     ローカルな終点がデータをスキップする際にどのようなローカルなポリシを使用
     するべきであるかを指定します。これらのオプションがなにも設定されていない
     なら、データは決してスキップされません。

     SCTP_PR_SCTP_TTL は、存続期間をベースとする時間がデータに適用されているこ
     とを示すために使用されます。つぎに sinfo->sinfo_timetolive 引数は、データ
     が転送されることを試みられる多くのミリ秒です。多くのミリ秒が経過して、ピ
     アがデータを承認していないなら、データは、スキップされ、もはや送信されま
     せん。このポリシは、データがかつて送信されることさえ保証しないことに注意
     してください。多量のデータがキューに入れられて混雑する場合に、最初の転送
     が行われる前に sinfo->sinfo_timetolive は、期限が切れるかもしれません。

     SCTP_PR_SCTP_BUF ベースのポリシは、sinfo->sinfo_timetolive フィールドを外
     向きの送信キューで許された合計のバイト数に変換します。その数か、またはよ
     り多くのバイトがキューに入れられているなら、他のバッファベースの送信が、
     削除するために検索され、スキップされます。また、このポリシは、バッファ
     ベースの送信がキューになく、timetolive バイトによって指定された最大が
     キューに入れられているなら、データが決して送信されないことに注意してくだ
     さい。

     SCTP_PR_SCTP_RTX ポリシは、sinfo->sinfo_timetolive を許可する再転送のの数
     に変換します。このポリシは、常に最小で 1 つの送信がデータで試みられること
     を保証します。その後、わずか sinfo->sinfo_timetolive の再転送が、データを
     スキップする前に行われます。

     sinfo->sinfo_stream は、利用者がメッセージを送信したい SCTP ストリームで
     す。SCTP のストリームは、規則付けられたメッセージの信頼できる (または、部
     分的に信頼できる) フロー (流れ) です。

     sinfo->sinfo_assoc_id フィールド野は、1 対多のソケットで送信するためのア
     ソシエーションを選択するために使用されます。1 対 1 のソケットに関して、こ
     のフィールドは、無視されます。

     sinfo->sinfo_context フィールドは、メッセージを送信することができないイベ
     ントにだけ使用されます。これは、その通知が有効であるなら、(sctp(4) 参照)
     失敗した送信が与えられるとき、スタックが保有し、ユーザに与える不透明な
     (サイズおよび形がわからない) 値です。通常、ユーザプロセスは、送信を実行す
     ることができないとき、いくつかのアプリケーション特有のデータ構造にイン
     デックスを付けるこの値を使用することができます。

     flags 引数は、sendmsg(2) で見つけられたものとして同じ意味と値を保持します
     が、一般的に、SCTP によって無視されます。

     フィールド sinfo->sinfo_ssn, sinfo->sinfo_tsnsinfo->sinfo_cumtsn は、
     メッセージを受信するときだけ使用され、したがって sctp_send() によって無視
     されます。関数 sctp_sendx() には、渡された sockaddr 構造体の配列の追加引
     数で sctp_send() としていくつかのプロパティ (特性) があります。送信される
     アドレスの配列として与えられている addrs 引数とともに、いくつのソケットア
     ドレスがあるかを示す addrcnt 引数は、配列で渡されます。アドレスのすべて
     は、暗黙のアソシエーションが設定されるときだけ、使用されることに注意して
     ください。これによって、アソシエーションへの sctp_send() が続く
     sctp_connectx() を行うような、ユーザと同等な振る舞いができます。
     sinfo->sinfo_assoc_id フィールドが 0 であるなら、最初のアドレスは、アソシ
     エーション ID の代わりにアソシエーションを検索するために使用されることに
     注意してください。アドレスとアソシエーション ID の両方が指定されるなら、
     アソシエーション ID が優先されます。

戻り値
     呼び出しは、送信された文字数を返し、エラーが発生したなら、-1 を返します。

エラー
     sctp_send() システムコールは、次の場合に失敗します:

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

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

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

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

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

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

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

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

     [ENOTCONN]         1 対 1 のスタイルのソケットでは、アソシエーションは、
                        存在しません。

     [ECONNRESET]       ユーザが、データをピアに送信することを試みていた間に、
                        スタックによってアボートを受信しました。

     [ENOENT]           1 対多のスタイルのソケットでは、アドレスは、指定されな
                        いので、アソシエーションを、位置づけることができない
                        か、または SCTP_ABORT フラグは、存在しないアソシエー
                        ションで指定されました。

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

関連項目
     getsockopt(2), recv(2), select(2), sendmsg(2), socket(2), write(2),
     sctp_connectx(3), sctp_recvmsg(3), sctp_sendmsg(3), sctp(4)

バグ
     sctp_send() は、1 つの終点の下で複数のアソシエーションがあるので、書き込
     みの選択は、1 対 1 のスタイルのソケットのために単に動作します。

FreeBSD 11.2                   December 15, 2006                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索