

#include <nitroWiFi/soc.h>
#define SOC_F_GETFL 3
#define SOC_F_SETFL 4
#define SOC_O_NONBLOCK 0x04
int SOC_Fcntl( int s, int cmd, int mode );
| s | ソケット記述子。 |
| cmd | コマンド(SOC_F_*)。 |
| mode | 設定したい値(cmdがSOC_F_SETFLの場合)。 |
| 0以上 | 成功。 |
| -1 | エラー。 |
注意:追加のエラーが今後のライブラリリリースで生じたり返されることがあります。すべての負の返り値は汎用のエラーとして扱ってください。
オープン済みのソケット記述子に対して以下の操作を実行します。
| コマンド | mode | 返り値 | 説明 |
|---|---|---|---|
SOC_F_GETFL |
なし | ソケット記述子のフラグ(成功時) | ソケット記述子のフラグを取得します。 |
SOC_F_SETFL |
SOC_O_* フラグの論理和 |
処理の成否 |
ソケット記述子のフラグを設定します。 |
以下は、ソケット記述子を非封鎖モードに設定するコードです。
val = SOC_Fcntl(s, SOC_F_GETFL, 0);
SOC_Fcntl(s, SOC_F_SETFL, val | SOC_O_NONBLOCK);
ソケット記述子を封鎖モードに戻す場合は、以下のコードを使ってください。
val = SOC_Fcntl(s, SOC_F_GETFL, 0);
SOC_Fcntl(s, SOC_F_SETFL, val & ~SOC_O_NONBLOCK);
ソケット記述子はデフォルトでは封鎖モードです。
SOC_Connect,
SOC_Accept,
SOC_Recv,
SOC_Send
2008/05/13 引数modeの修正、説明の修正 2005/09/13 初版