TP1/NET/XMAP3は,OpenTP1プロセスサービスによって起動されます。
TP1/NET/XMAP3を起動するためには,ユーザがMCFメイン関数をコーディングし,コンパイル,およびリンケージを行ってTP1/NET/XMAP3の実行形式プログラムを作成する必要があります。実行形式プログラムのリンケージには,mcfplxpコマンドを使用します。
MCFメイン関数では,スタート関数(dc_mcf_svstart)を呼び出します。UOCを使用する場合は,MCFメイン関数でUOCの関数アドレスを指定してください。UOCは,MCFメイン関数と同じ言語(ANSI C,C++,またはK&R版C)で作成してください。MCFメイン関数のコーディング概要,およびMCFメイン関数のディレクトリへの組み込み方法を,以降の図に示します。
なお,これらのコーディング例を次のファイルで提供しています。
- /BeTRAN/examples/mcf/XMAP3/cmlib/ansi/com.c
- /BeTRAN/examples/mcf/XMAP3/cmlib/c/com.c
図10-1 MCFメイン関数のコーディング概要(ANSI C,C++の場合)
![[図データ]](figure/zu090100.gif)
- TP1/NET/XMAP3で提供するヘッダファイルを取り込みます。
- 使用するUOC関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
これらのUOCを使用する場合だけ,コーディングしてください。
- UOCテーブルをextern宣言します。UOCを使用する場合,必ずこのとおりにコーディングしてください。
- ページ制御機能を使用することを宣言します。ページ制御機能を使用する場合だけ,コーディングしてください。
- 各UOC関数のアドレスを,次に示すシステム提供変数に設定します。
dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
これらのUOCを使用する場合だけ,コーディングしてください。
- スタート関数を呼び出します。MCFメイン関数には必ずコーディングしてください。
図10-2 MCFメイン関数のコーディング概要(K&R版C の場合)
![[図データ]](figure/zu090200.gif)
- TP1/NET/XMAP3で提供するヘッダファイルを取り込みます。
- 使用するUOC関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
これらのUOCを使用する場合だけ,コーディングしてください。
- UOCテーブルをextern宣言します。UOCを使用する場合,必ずこのとおりにコーディングしてください。
- ページ制御機能を使用することを宣言します。ページ制御機能を使用する場合だけ,コーディングしてください。
- 各UOC関数のアドレスを,次に示すシステム提供変数に設定します。
dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
これらのUOCを使用する場合だけ,コーディングしてください。
- スタート関数を呼び出します。MCFメイン関数には必ずコーディングしてください。
図10-3 MCFメイン関数のディレクトリへの組み込み方法
![[図データ]](figure/zu090300.gif)
- 注※1
- ユーザ作成のUOCを使用しない場合は,必要ありません。
- 注※2
- mcfplxpコマンドでリンケージします。
- mcfplxpコマンドの詳細については,TP1/NET/XMAP3の「リリースノート」を参照してください。
- 注※3
- TP1/NET/XMAP3の実行形式プログラム名は,先頭がmcfuで始まる8文字以内の名称です。