5.3.21 n_snd

<この項の構成>
(1) 機能概要
(2) 構文
(3) 設定情報
(4) リターン情報
(5) 特記事項

(1) 機能概要

データを送信します。

(2) 構文

#include <xnfw/niuser.h>
rcode = n_snd(fd, buf, nbytes, flags);
int rcode, fd;
char *buf;
unsigned int nbytes;
int flags;

(3) 設定情報

(a) fd

ネットワーク端点を指定します。

(b) buf

データを送信するバッファアドレスを指定します。

(c) nbytes

送信データのサイズを指定します。

(d) flags

送信データの付加情報を指定します。N_MOREとN_QBITは,論理和形式で設定できます。

N_MORE:
継続するデータがあり,ユーザがさらにn_sndを発行することを示します。
N_QBIT:
送信するデータに,Qビットを付加することを示します。
NULL:
継続するデータはなく,かつQビットも付加しないことを示します。

(4) リターン情報

(a) リターンコード

0以上:正常終了(送信できたデータ長を返します)

-1:異常終了

エラー番号がn_errnoに設定されています。エラー番号の詳細は,「9.1 エラー番号一覧」を参照してください。

(5) 特記事項

  1. n_sndは,非同期モードで動作している場合に送信ビジーが発生すると,n_errnoにNFLOWが設定され,実際に送信されたデータ長がリターンします。同期モードで動作している場合に送信ビジーが発生すると,指定したデータ送信が終了するまで,この関数はリターンしません。
  2. 要求した送信データのサイズと,送信できたユーザデータ長(リターン値)は異なる場合があります。その場合,送信できなかった残りのデータを指定して,再度送信してください。