fsnd_dtq

ifsnd_dtq

概要

データの強制送信

C言語形式

 ER      fsnd_dtq ( ID dtqid, VP_INT data );
 ER      ifsnd_dtq ( ID dtqid, VP_INT data );


パラメータ

I/O

パラメータ

説明

I

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

I

 VP_INT  data;
送信するデータ



機能

dtqidで指定されたデータ・キューのデータ・キュー領域にdataで指定されたデータを書き込みます。

ただし,本サービス・コールを発行した際,対象データ・キューのデータ・キュー領域にデータを書き込むための空き領域が存在しなかった場合には,書き込まれてから最も時間が経過しているデータの領域に該当データを上書きします。

また,本サービス・コールを発行した際,対象データ・キューの受信待ちキューにタスクがキューイングされていた場合には,データの書き込みは行わず,該当タスクにデータを渡します。これにより,該当タスクは,受信待ちキューから外れ,WAITING状態(データ受信待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。

戻り値

マクロ

数値

意味

E_OK

0

正常終了

E_ID

-18

IDの指定が不正である

- dtqid≦0x0

- dtqid>生成されているデータ・キューの最大ID

E_CTX

-25

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

E_ILUSE

-28

データ・キュー領域のデータ数が0x0のデータ・キューに対して本サービス・コールを発行した

E_NOEXS

-42

対象データ・キューが生成されていない