Everything

ref_tst

iref_tst

概要
タスク基本情報の参照
C言語形式
 ER      ref_tst ( ID tskid, T_RTST *pk_rtst );
 ER      iref_tst ( ID tskid, T_RTST *pk_rtst );
パラメータ
I/O
パラメータ
説明
I
 ID      tskid;
タスクのID
TSK_SELF: 自タスク
数値: タスクのID
O
 T_RTST  *pk_rtst;
タスク基本情報を格納する領域へのポインタ

【 タスク基本情報T_RTSTの構造 】
 typedef struct  t_rtst {
         STAT    tskstat;        /*現在状態*/
         STAT    tskwait;        /*待ち要因*/
 } T_RTST;

機能
tskidで指定されたタスクのタスク基本情報(現在状態,待ち要因)をpk_rtstで指定された領域に格納します。
タスク情報のうち,現在状態,待ち要因のみを参照したい場合に使用します。
取得する情報が少ないのでref_tskiref_tskより高速に応答します。
- tskstat
タスクの現在状態が格納されます。
TTS_RUN: RUNNING状態
TTS_RDY: READY状態
TTS_WAI: WAITING状態
TTS_SUS: SUSPENDED状態
TTS_WAS: WAITING-SUSPENDED状態
TTS_DMT: DORMANT状態
- tskwait
タスクの待ち要因(WAITING状態の種類)が格納されます。
tskwaitは,tskstatがTTS_WAIまたはTTS_WASの場合のみ有効です。
TTW_SLPslp_tskまたはtslp_tskによる起床待ち状態
TTW_DLYdly_tskによる時間経過待ち状態
TTW_SEMwai_semまたはtwai_semによる資源獲得待ち状態
TTW_FLGwai_flgまたはtwai_flgによるイベントフラグ待ち状態
TTW_SDTQsnd_dtqまたはtsnd_dtqによるデータ送信待ち状態
TTW_RDTQrcv_dtqまたはtrcv_dtqによるデータ受信待ち状態
TTW_MBXrcv_mbxまたはtrcv_mbxによるメッセージ受信待ち状態
TTW_MTXloc_mtxまたはtloc_mtxによるミューテックス待ち状態
TTW_SMBFsnd_mbfまたはtsnd_mbfによるメッセージ送信待ち状態
TTW_RMBFrcv_mbfまたはtrcv_mbfによるメッセージ受信待ち状態
TTW_MPFget_mpfまたはtget_mpfによる固定長メモリ・ブロック獲得待ち状態
TTW_MPLget_mplまたはtget_mplによる可変長メモリ・ブロック獲得待ち状態
戻り値
マクロ
数値
意味
E_OK
0
正常終了
E_PAR
-17
パラメータ・エラー
- pk_rtst == NULL
E_ID
-18
不正ID番号
- tskid < 0
- tskid > VTMAX_TSK
- 非タスクから本サービス・コールを発行した際,tskidTSK_SELFを指定した。
E_CTX
-25
コンテキスト・エラー
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
備考 タスクからiref_tstを発行した場合,および非タスクからref_tstを発行した場合,コンテキスト・エラーは検出されず,システムの正常な動作は保証されません。
E_MACV
-26
メモリ・アクセス違反(ref_tstのみ)
- 呼び出しタスクからのpk_rtstが示す領域に対するオペランド・ライト・アクセス許可がない。
E_NOEXS
-42
オブジェクト未生成
- tskidのタスクが存在しない。