-
cre_mbx
acre_mbx
-
ER cre_mbx ( ID mbxid, T_CMBX *pk_cmbx );
ER_ID acre_mbx ( T_CMBX *pk_cmbx );
|
|
|
|
ID mbxid;
|
|
|
T_CMBX *pk_cmbx;
|
|
typedef struct t_cmbx {
ATR mbxatr; /*メールボックス属性*/
PRI maxmpri; /*メッセージ優先度の最大値*/
VP mprihd; /*将来拡張用*/
} T_CMBX;
|
本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
cre_mbxは,指定された
mbxidのメールボックスを
pk_cmbxで指定された内容で生成します。acre_mbxは
pk_cmbxで指定された内容でメールボックスを生成し,生成したメールボックスIDを返します。
1 ) メールボックス属性(
mbxatr)
mbxatrには以下を指定できます。
mbxatr := ( ( TA_TFIFO || TA_TPRI ) | ( TA_MFIFO || TA_MPRI) )
-
TA_TFIFO(= 0x0000)
メールボックスの待ちキューの順序をFIFO順とします。
-
TA_TPRI(= 0x0001)
メールボックスの待ちキューの順序をタスクの現在優先度順とします。ただし,同じ現在優先度のタスクの中ではFIFO順です。
-
TA_MFIFO(= 0x0000)
メッセージ・キューの順序をFIFO順とします。
-
TA_MPRI(= 0x0002)
メッセージ・キューの順序をメッセージの優先度順とします。ただし,同じメッセージ優先度のメッセージの中ではFIFO順です。
2 ) メッセージ優先度の最大値(
maxmpri)
mbxatrにTA_MPRIを指定した場合は,メッセージ優先度として1〜
maxmpriを使用できます。
maxmpriに指定可能な範囲は,1〜
TMAX_MPRIです。
3 )
mprihd
将来拡張用のため,単に無視されます。
|
|
|
|
|
acre_mbxの正常終了(生成されたメールボックスID)
|
|
|
|
|
|
- mbxatrのbit0,bit1以外のビットが1
|
|
|
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- 呼び出しタスクからの pk_cmbxが示す領域に対するオペランド・リード・アクセス許可がない。
|
|
|
- 呼出しタスクは,信頼されたドメインに所属していない。
|
|
|
|
|
|
|