d_snd( )
データを送信します。
#include <xnfs/diuser.h> |
ユーザデータを送信します。通信管理の状態がD_DATAXFERのときだけ発行できます。
同期方式の場合は,ユーザデータが通信管理に取り込まれた時点で正常終了します。システムでビジー状態になると,ビジー状態が解除されるまでリターンしません。このため,業務や運用を考慮して,送信するデータの量を調整する必要があります。
非同期方式の場合は,システムでビジー状態になると異常終了し,エラー情報としてDFLOWを設定します(フロー制御機能)。このような場合は,次に示すどちらかの方法でd_snd( )を再発行してください。
正常終了時:送信できたバイト数を返します。
異常終了時:-1を返します。
エラー名称 | 値 | 要因 |
---|---|---|
DOUTSTATE | 6 | この関数が間違った順序で発行されました。 |
DSYSERR | 8 | この関数の実行中にシステムエラーが発生しました。詳細については,「3.16.1 詳細エラーコード」を参照してください。 |
DLOOK | 9 | データリンク端点上でイベントが発生しました。ライブラリ関数d_look( )による確認が必要です。 |
DBADDATA | 10 | 指定されたデータサイズがシステムによって許可されている限界を超えました。または,送信されたデータのサイズが送信バッファのサイズを超えました。 |
DFLOW | 12 | フロー制御機能によって送信要求が失敗しました(非同期方式の場合)。 |