-   
 rcv_mbx
 
-   
 
| 
 ER      rcv_mbx ( ID mbxid, T_MSG **ppk_msg );
 | 
 
 
|  |  |  | 
|  | 
 ID      mbxid;
 |  | 
|  | 
 T_MSG   **ppk_msg;
 | 
 メッセージの先頭アドレスを格納する領域へのポインタ
 | 
 
 【 TA_MFIFO属性用メッセージT_MSGの構造 】
 
 
| 
 typedef struct  t_msg {
         struct  t_msg   *msgnext;       /*システム予約領域*/
 } T_MSG;
 | 
 
 【 TA_MPRI属性用メッセージT_MSG_PRIの構造 】
 
 
| 
 typedef struct  t_msg_pri {
         struct  t_msg   msgque;         /*システム予約領域*/
         PRI     msgpri;                 /*優先度*/
         UH      RFU;                    /*システム予約領域*/
 } T_MSG_PRI;
 | 
 
 mbxidで指定されたメールボックスからメッセージを受信し,その先頭アドレスを
ppk_msgで指定された領域に格納します。
 
 ただし,本サービス・コールを発行した際,対象メールボックスからメッセージを受信することができなかった(待ちキューにメッセージがキューイングされていなかった)場合には,メッセージの受信は行わず,自タスクを対象メールボックスの待ちキューにキューイングしたのち,RUNNING状態からWAITING状態(メッセージ受信待ち状態)へと遷移させます。
 
 なお,メッセージ受信待ち状態の解除は,以下の場合に行われ,メッセージ受信待ち状態からREADY状態へと遷移します。
 
  
|  |  | 
| 
 snd_mbxの発行により,対象メールボックスにメッセージが送信された
 |  | 
|  |  | 
| 
 rel_waiの発行により,メッセージ受信待ち状態を強制的に解除された
 |  | 
|  |  | 
 
 備考1	 自タスクを対象メールボックスの待ちキューにキューイングする際のキューイング方式は,コンフィギュレーション時に定義された順(FIFO順,優先度順)に行われます。
 
 備考2	 
rel_wai,または
irel_waiの発行によりメッセージ受信待ち状態を解除された場合,
ppk_msgで指定された領域の内容は不定となります。
 
 
|  |  |  | 
|  |  |  | 
|  |  | 
 -	 mbxid >生成されているメールボックスの最大ID
 | 
|  |  | 
 -	 CPUロック状態から本サービス・コールを発行した
 
 -	 ディスパッチ禁止状態から本サービス・コールを発行した
 | 
|  |  |  | 
|  |  |  |