通信管理 XNF/AS プログラマーズガイド HDLC編
d_rcv( )
データを受信します。
#include <xnfs/diuser.h> int d_rcv(fd,buf,nbytes,flags); int fd; char *buf; unsigned nbytes; int *flags; |
ユーザデータを受信します。同期方式の場合は,データが到着するのを待ってリターンします。非同期方式の場合は,データが到着していなければ異常終了し,エラー情報としてDNODATAを設定します。
正常終了時:受信バイト数を返します。
異常終了時:-1を返します。
| エラー名称 | 値 | 要因 |
|---|---|---|
| DOUTSTATE | 6 | この関数が間違った順序で発行されました。 |
| DSYSERR | 8 | この関数の実行中にシステムエラーが発生しました。詳細については,「3.16.1 詳細エラーコード」を参照してください。 |
| DLOOK | 9 | データリンク端点上でイベントが発生しました。ライブラリ関数 d_look( )による確認が必要です。 |
| DNODATA | 13 | 受信できるデータがありません(非同期方式の場合)。 |
受信バッファにデータが溜まり過ぎると,バッファがビジー状態となるため,一定の間隔でd_rcv( )を発行することをお勧めします。なお,このような例については,「図4-7 同期方式でのデータの受信(ビジー状態になった場合)」を参照してください。非同期方式の場合でも運用方法は同じです。
All Rights Reserved. Copyright (C) 2002, 2009, Hitachi, Ltd.