Network 0x5c


ソケット送受信バッファ量取得


【機能】

 指定ソケットの送受信バッファ量を取得します。

【関数】

 int LanGetBuff( int sck, int flg , int *exist, int *free )
 {
   return trapa_svc( 0x5c, pid, sck, flg, exist, free );
 }

【入力】

 sck ソケット番号 「ソケット」ファンクションで取得した識別番号
 flg 送受信バッファ区分 0:送信バッファ 1:受信バッファ
 exist バッファのデータ量(TCP)
バッファのパケット数(UDP)
バッファのデータ量、パケット数を格納する領域のアドレス
 free バッファの空き量(TCP) バッファの空き容量を格納する領域のアドレス

【出力】

 リターンコード OK 正常終了
+0
+1
+2
+3
exist+00
バッファのデータ量(TCP)/バッファのパケット数(UDP)

+0
+1
+2
+3
free+00
バッファの空き容量(TCPのみ)

ERR_PARAM パラメータエラー
ERR_LANCLOSED LAN未オープン
ERR_NOSOCKET ソケット番号が無効
ERR_NOTBIND バインドされていない
ERR_NOTCONN 未接続

【解説】

 指定されたソケットがTCPの場合、送受信バッファの未処理データバイト数と、空き容量を返します。送受信バッファ容量は4096バイトです。
 指定されたソケットがUDPの場合、未処理パケット数(読み出されていないパケット数)のみを返します。

 バッファのデータ量・空き容量を格納するアドレスがNULLの場合、該当する値はセットされません。

【関連項目】

 イベントチェック