3.5.1 MQTメイン関数の作成
MQTメイン関数は,UOC関数アドレスを指定し,MQT通信プロセスメイン関数を呼び出すプログラムです。MQTメイン関数とUOCは,同じ言語(ANSI C,C++,またはK&R版C言語)で作成する必要があります。
MQTメイン関数のコーディングについて,次に示します。
- ANSI C,C++言語の場合
#include <dcmtcquo.h> /* TP1/MQ用ヘッダファイル */ …1. extern long med_uoc01(dcmtcq_uoc_parmlist *); /* メッセージ編集出口UOC関数 */ …2. dcmtcq_uoc_def_t dcmtcq_uoctbl = {NULL, NULL, NULL, NULL}; …3. int main(void) { dcmtcq_uoctbl.med_uoc = (dcmqt_uocfunc)med_uoc01; /* メッセージ編集出口UOC関数アドレス設定 */ …4. dc_mtcq_main(); /* MQT通信プロセスメイン関数コール */ …5. return(0); /* MQTメイン関数リターン */ …6. }
-
プロトコル提供ヘッダを取り込みます。
-
使用するUOC関数のプロトタイプ宣言をします。UOCのリターン値はlong型にしてください。
-
UOCテーブルを確保して,初期化します。必ずこのとおりコーディングしてください。
-
UOC関数のアドレスを,UOCテーブルに設定します。
dcmtcq_uoctbl.med_uoc:メッセージ編集出口UOC関数のアドレス
-
MQT通信プロセスメイン関数を呼び出します。必ずこのとおりコーディングしてください。
-
MQTメイン関数をリターンします。
-
- K&R版C言語の場合
#include <dcmtcquo.h> /* TP1/MQ用ヘッダファイル */ …1. extern long med_uoc01(); /* メッセージ編集出口UOC関数 */ …2. dcmtcq_uoc_def_t dcmtcq_uoctbl; …3. main() { dcmtcq_uoctbl.med_uoc = (dcmtcq_uocfunc)med_uoc01; /* メッセージ編集出口UOC関数アドレス設定 */ …4. dc_mtcq_main(); /* MQT通信プロセスメイン関数コール */ …5. }
-
プロトコル提供ヘッダを取り込みます。
-
使用するUOC関数のextern宣言をします。UOCのリターン値はlong型にしてください。
-
UOCテーブルを確保します。必ずこのとおりコーディングしてください。
-
UOC関数のアドレスを,UOCテーブルに設定します。
dcmtcq_uoctbl.med_uoc:メッセージ編集出口UOC関数のアドレス
-
MQT通信プロセスメイン関数を呼び出します。必ずこのとおりコーディングしてください。
-