-
cre_flg
acre_flg
-
ER cre_flg ( ID flgid, T_CFLG *pk_cflg );
ER_ID acre_flg ( T_CFLG *pk_cflg );
|
|
|
|
ID flgid;
|
|
|
T_CFLG *pk_cflg;
|
|
typedef struct t_cflg {
ATR flgatr; /*イベントフラグ属性*/
FLGPTN iflgptn; /*初期ビット・パターン*/
} T_CFLG;
|
本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
cre_flgは,指定された
flgidのイベントフラグを
pk_cflgで指定された内容で生成します。acre_flgは
pk_cflgで指定された内容でイベントフラグを生成し,生成したイベントフラグIDを返します。
1 ) イベントフラグ属性(
flgatr)
flgatrには以下を指定できます。
flgatr := ( ( TA_TFIFO || TA_TPRI ) | ( TA_WSGL || TA_WMUL ) | [TA_CLR] )
-
TA_TFIFO(= 0x0000)
イベントフラグの待ちキューの順序をFIFO順とします。
-
TA_TPRI(= 0x0001)
イベントフラグの待ちキューの順序をタスクの現在優先度順とします。ただし,同じ現在優先度のタスクの中ではFIFO順です。
なお,TA_CLRの指定がない場合は,TA_TPRIを指定してもタスクの待ち行列はFIFO順で管理されます。この振る舞いは,μITRON4.0仕様の範囲外です。
-
TA_WSGL(= 0x0000)
イベントフラグに対し,複数のタスクが待つことを禁止します。
-
TA_WMUL(= 0x0002)
イベントフラグに対し,複数のタスクが待つことを許可します。
2 ) 初期ビット・パターン(
iflgptn)
イベントフラグの初期ビット・パターンを指定します。
|
|
|
|
|
acre_flgの正常終了(生成されたイベントフラグID)
|
|
|
|
|
|
- flgatrのbit0,bit1,bit2以外のビットが1
|
|
|
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- 呼び出しタスクからの pk_cflgが示す領域に対するオペランド・リード・アクセス許可がない。
|
|
|
- 呼出しタスクは,信頼されたドメインに所属していない。
|
|
|
|
|
|
|