System 0x2f


メッセージ取得


【機能】

 システムメッセージキューよりメッセージを取得します。

【関数】

 int GetMsg( int *msg )
 {
   return trapa_svc( 0x2f, pid, prm, flg );
 }

【入力】

 msg メッセージ メッセージを格納する領域の先頭アドレス

【出力】

 リターンコード OK 正常終了
+0
+1
+2
+3
msg+00
自プロセスID
メッセージ発行元プロセスID
msg+04
メッセージ種別
コマンドコード
パラメータ長
msg+08
パラメータまたはパラメータの先頭アドレス

ERR_PARAM パラメータエラー
ERR_PID 不正プロセスID

【解説】

 自プロセスID宛てのメッセージをメッセージキューから取得します。
 該当するメッセージがキューにない場合、プロセス制御の切り替えを行い、メッセージが他のプロセスから送られるまでウエイトします。他に動作中のプロセスがない場合は、空のメッセージを返します。

 メッセージのアドレスを格納するポインタがNULLの場合、パラメータエラーを返します。

 システムプロセスからのメッセージにつきましては「 メッセージリファレンス 」および「メッセージ追加」ファンクションの【注意】を参照して下さい。

【関連項目】

 メモリ取得 メモリ解放 メッセージ追加 指定時間ウエイト