Everything

ref_mbx

iref_mbx

概要
メールボックス詳細情報の参照
C言語形式
 ER      ref_mbx ( ID mbxid, T_RMBX *pk_rmbx );
 ER      iref_mbx ( ID mbxid, T_RMBX *pk_rmbx );
パラメータ
I/O
パラメータ
説明
I
 ID      mbxid;
メールボックスのID
O
 T_RMBX  *pk_rmbx;
メールボックス詳細情報を格納する領域へのポインタ

【 メールボックス詳細情報T_RMBXの構造 】
 typedef struct  t_rmbx {
         ID      wtskid;         /*待ちタスクの有無*/
         T_MSG   *pk_msg;        /*待ちメッセージの有無*/
 } T_RMBX;

機能
mbxidで指定されたメールボックスのメールボックス詳細情報(待ちタスクの有無,待ちメッセージの有無など)をpk_rmbxで指定された領域に格納します。
- wtskid
メールボックスの待ちキューにタスクがキューイングされているか否かが格納されます。
TSK_NONE: 待ちキューにタスクはキューイングされていない
その他: 待ちキューの先頭にキューイングされているタスクのID
- pk_msg
メールボックスの待ちキューにメッセージがキューイングされているか否かが格納されます。
NULL: 待ちキューにメッセージはキューイングされていない
その他: 待ちキューの先頭にキューイングされているメッセージの先頭アドレス
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_PAR
-17
パラメータ・エラー
- pk_rmbx == NULL
E_ID
-18
不正ID番号
- mbxid≦0
- mbxid > VTMAX_MBX
E_CTX
-25
コンテキスト・エラー
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
備考 タスクからiref_mbxを発行した場合,および非タスクからref_mbxを発行した場合,コンテキスト・エラーは検出されず,システムの正常な動作は保証されません。
E_MACV
-26
メモリ・アクセス違反(ref_mbxのみ)
- 呼び出しタスクからのpk_rmbxが示す領域に対するオペランド・ライト・アクセス許可がない。
E_NOEXS
-42
オブジェクト未生成
- mbxidのメールボックスが存在しない。