n_open発行時,oflagにO_XNFNLI_INTを指定することで,優先データが使用できるようになります。なお,n_openのoflagにO_XNFNLI_INTを指定していない場合,優先データ使用有無のoptフィールドは設定されません。
コネクション確立時の,各関数での優先データ使用有無のoptフィールドの設定・参照を表11-1に,自局と相手局のネゴシエーション関連を表11-2に示します。
表11-1 優先データ使用有無のoptフィールドの設定・参照
エリア名称 | フィールド | 関数名 | ||||
---|---|---|---|---|---|---|
n_connect(同期) | n_connect(非同期) | n_accept | n_listen | n_rcvconnect | ||
sndcall | opt | - | - | - | - | - |
rcvcall | opt | ○ | - | - | - | - |
call | opt | - | - | - | ○ | ○ |
表11-2 自局と相手局のネゴシエーション関連
相手局 | 自局 | |
---|---|---|
n_openのoflagでO_XNFNLI_INT指定なし | n_openのoflagでO_XNFNLI_INT指定あり | |
コネクション確立指示/確認で優先データ使用なし | × | × |
コネクション確立指示/確認で優先データ使用あり | × | ○ |
優先データを受信すると,n_lookに対してN_INTが応答されます。
優先データを受信したとき,n_rcvintを発行することによって優先データのユーザデータ(最大32バイト)を受信できます。なお,n_rcvintの受信バッファサイズが受信データ長より小さい場合,受信バッファサイズ分を設定して,残りのデータは次のn_rcvintで読み込みます。ただし,分割に関する情報は設定されません。