ref_dtq

iref_dtq

概要

データ・キュー詳細情報の参照

C言語形式

 ER      ref_dtq ( ID dtqid, T_RDTQ *pk_rdtq );
 ER      iref_dtq ( ID dtqid, T_RDTQ *pk_rdtq );
パラメータ

I/O

パラメータ

説明

I

 ID      dtqid;
データ・キューのID

O

 T_RDTQ  *pk_rdtq;
データ・キュー詳細情報を格納する領域へのポインタ



【 データ・キュー詳細情報T_RDTQの構造 】

 typedef struct  t_rdtq {
         ID      stskid;         /*データ送信待ちタスクの有無*/
         ID      rtskid;         /*データ受信待ちタスクの有無*/
         UINT    sdtqcnt;        /*未受信データの総数*/
 } T_RDTQ;


機能

dtqidで指定されたデータ・キューのデータ・キュー詳細情報(待ちタスクの有無,未受信データの総数など)をpk_rdtqで指定された領域に格納します。

- stskid
データ・キューの送信待ちキューにタスクがキューイングされているか否かが格納されます。

TSK_NONE: 送信待ちキューにタスクはキューイングされていない

その他: 送信待ちキューの先頭にキューイングされているタスクのID

- rtskid
データ・キューの受信待ちキューにタスクがキューイングされているか否かが格納されます。

TSK_NONE: 受信待ちキューにタスクはキューイングされていない

その他: 受信待ちキューの先頭にキューイングされているタスクのID

- sdtqcnt
データ・キューのデータ・キュー領域にキューイングされている未受信データの総数が格納されます。

戻り値

マクロ

数値

意味

E_OK

0

正常終了

E_PAR

-17

パラメータ・エラー

- pk_rdtq == NULL

E_ID

-18

不正ID番号

- dtqid≦0

- dtqid > VTMAX_DTQ

E_CTX

-25

コンテキスト・エラー

- CPUロック状態から本サービス・コールを発行した。

- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。

備考 タスクからiref_dtqを発行した場合,および非タスクからref_dtqを発行した場合,コンテキスト・エラーは検出されず,システムの正常な動作は保証されません。

E_MACV

-26

メモリ・アクセス違反(ref_dtqのみ)

- 呼び出しタスクからのpk_rdtqが示す領域に対するオペランド・ライト・アクセス許可がない。

E_NOEXS

-42

オブジェクト未生成

- dtqidのデータ・キューが存在しない。