-   
   snd_mbx
   isnd_mbx
  
    -   
  
 ER      snd_mbx ( ID mbxid, T_MSG *pk_msg );
 ER      isnd_mbx ( ID mbxid, T_MSG *pk_msg );
 【 TA_MFIFO属性用メッセージT_MSGの構造 】
 
 
  
  
    | 
 typedef struct  {
         VP   *msghead;       /*RI600PX管理領域*/
 } T_MSG;
 | 
 
 【 TA_MPRI属性用メッセージT_MSG_PRIの構造 】
 
 
  
  
    | 
 typedef struct  {
         T_MSG   msgque;      /* メッセージヘッダ*/
         PRI     msgpri;      /* メッセージ優先度 */
 } T_MSG_PRI;
 | 
 
 mbxidで指定されたメールボックスに
pk_msgで指定されたメッセージを送信します。
 
 ただし,本サービス・コールを発行した際,対象メールボックスの待ちキューにタスクがキューイングされていた場合には,メッセージの送信(メッセージのキューイング処理)は行わず,該当タスクにメッセージを渡します。これにより,該当タスクは,待ちキューから外れ,WAITING状態(メッセージ受信待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
 
 備考1	 メッセージを対象メールボックスのメッセージ・キューにキューイングする際のキューイング方式は,
メールボックスの生成時に指定した順(FIFO順またはメッセージ優先度順)に行われます。
 
 備考2	 送信したメッセージ(
pk_msgが指す領域)は,受信されるまでの間に書き換えてはなりません。
 
 
  
  
    |  |  |  | 
  
    |  |  |  | 
  
    |  |  | 
 -	 対象メールボックスがTA_MPRI属性の場合:
 | 
  
    |  |  |  | 
  
    |  |  | 
 -	 CPUロック状態から本サービス・コールを発行した。
 
 -	 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
 | 
  
    |  |  | 
 -	 スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
 
 -	 呼び出しタスクからのメッセージ・ヘッダ領域に対するオペランド・ライト・アクセス許可とオペランド・リード・アクセス許可がない。 メッセージ・ヘッダ領域:
 
 -	 TA_MFIFO属性の場合:pk_msg から始まるT_MSG構造体
 
 -	 TA_MPRI属性の場合:pk_msg から始まるT_MSG_PRI構造体
 | 
  
    |  |  |  |