set_flg

iset_flg

概要

ビット・パターンのセット

C言語形式

 ER      set_flg ( ID flgid, FLGPTN setptn );
 ER      iset_flg ( ID flgid, FLGPTN setptn );
パラメータ

I/O

パラメータ

説明

I

 ID      flgid;
イベントフラグのID

I

 FLGPTN  setptn;
セットするビット・パターン



機能

flgidで指定されたイベントフラグのビット・パターンとsetptnで指定されたビット・パターンの論理和ORをとり,その結果を対象イベントフラグにセットします。

そして,待ちキューの順に待ちキューにつながれているタスクの待ち解除条件を満たすかどうかを調べます。待ち解除条件を満たせば,該当タスクを待ちキューから外し,WAITING状態(イベントフラグ待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移させます。このとき,対象のイベントフラグ属性にTA_CLR属性が指定されている場合には,イベントフラグのビット・パターンを0クリアし,処理を終了します。

戻り値

マクロ

数値

意味

E_OK

0

正常終了

E_ID

-18

不正ID番号

- flgid≦0

- flgid > VTMAX_FLG

E_CTX

-25

コンテキスト・エラー

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

- タスクからiset_flgを発行した。

- 非タスクからset_flgを発行した。

- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。

E_MACV

-26

メモリ・アクセス違反(set_flgのみ)

- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。

E_NOEXS

-42

オブジェクト未生成

- flgidのイベントフラグが存在しない。