Everything

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のデータ・キューが存在しない。