

#include <nitroWiFi/soc.h>
int SOC_Accept ( int s, void* sockAddr );
| s |
SOC_Socket()によって作成し、SOC_Bind()によってアドレスをバインドし、SOC_Listen()の呼び出しに成功したソケットを指定します。 |
| sockAddr | 接続を受け付けた相手の名前(アドレス)を記録するためのソケットアドレス構造体(SOCSockAddr,SOCSockAddrIn)へのポインタを指定します。また、ソケットアドレスの lenフィールドは適切に初期化してください。(例 sizeof(SOCSockAddrIn)) |
| 0以上 | 受け付けた接続のソケット記述子。 |
SOC_EINVAL |
ソケット記述子の値が不正です。( s < 0 か存在しないソケット)あるいはソケットが接続処理中です。あるいはストリーム・ソケットではありません。 あるいはローカルポートがバインドされていません。 |
SOC_EMFILE |
リソース不足です。(内部コマンドの作成に失敗しました) |
SOC_ENETRESET |
ソケットが初期化されていません。 |
SOC_ENOMEM |
リソース不足です。(ソケットの複製に失敗しました) |
SOC_EWOULDBLOCK |
ソケットが非封鎖モードです。(封鎖モードでないと実行できません) |
注意:追加のエラーが今後のライブラリリリースで生じたり返されることがあります。すべての負の返り値は汎用のエラーとして扱ってください。
接続キューから先頭の接続要求を取り出して、sで指定したソケットと同じパラメータ(タイプ、プロトコル、アドレスファミリー)のソケットを返します。元のソケット(s)は接続要求を受け付け続けられるようにそのまま残ります。
現状、SOC_Accept()では下位モジュール(CPS)の仕様により、ソケット の作成から Bind、Listen、そしてAccept が同時に行われます。また接続キューは説明上の概念で、実際にはありません。
SOC_Accept()は封鎖モードのストリーム・ソケットに対してのみ実行できます。
SOC_Socket,
SOC_Bind,
SOC_Connect,
SOC_Listen,
SOC_Fcntl
2008/05/13 返り値 SOC_ETIMEDOUT、SOC_ENOBUF、SOC_EALREADYを削除、引数の修正、説明の修正
2006/01/13 返値の修正
2005/09/13 初版