EN JA
SCTP_CONNECTX(3)
SCTP_CONNECTX(3) FreeBSD Library Functions Manual SCTP_CONNECTX(3)

名称

sctp_connectx複数の宛先アドレスで SCTP ソケットを接続する

ライブラリ

Standard C Library (libc, -lc)

書式

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

int
sctp_connectx( int sd, struct sockaddr *addrs, int addrcnt, sctp_assoc_t *id);

解説

sctp_connectx() 呼び出しは、ピア (相手側) SCTP 終点への関連付けの開始を試みます。呼び出しは、 connect() と同様に動作しますが、ピアのための複数の宛先アドレスを指定する能力も提供します。これによって関連付けの開始のフォルトトレラントメソッドを可能にします。ピアアドレスの 1 つが到達可能でないときに、その後のリストされたアドレスは、ピアで関連付けをセットアップするために使用されます。

ユーザは、 sctp_connectx() 呼び出しでリストされた任意のアドレスも "confirmed (確認)"と見なされるようにする必要もあります。確認されたアドレスは、信頼される SCTP 転送の 1 つで、関連付けの一部であり、ランダムデータで確認ハートビート (心拍) をそれに送信しません。

ピア SCTP スタックが応答メッセージで提供されたアドレスの 1 つ以上をリストしていないなら、特別なアドレスは、 sctp_connectx() 呼び出しで送信され、関連付けから静かに破棄されます。成功して終了すれば、提供された id は、新たに形成している関連付けの関連付け識別に書き込まれます。

戻り値

呼び出しは、成功すれば 0 を返し、失敗すれば -1 を返します。

エラー

sctp_connectx() 関数は、次のエラーを返すかもしれません:
[ EINVAL]
リストされたアドレスに、不正なファミリがあるか、またはアドレスが提供されませんでした。
[ E2BIG]
アドレスリストのサイズが、提供されたデータの量を超えています。
[ EBADF]
引数 s が、有効な記述子ではありません。
[ ENOTSOCK]
引数 s が、ソケットではありません。

関連項目

connect(2), sctp(4)
June 19, 2007 FreeBSD