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のタスクが存在しない。