TP1/NET/X25は,OpenTP1プロセスサービスによって起動されます。
TP1/NET/X25を起動するためには,ユーザがMCFメイン関数をコーディングし,翻訳(コンパイル)および結合(リンケージ)を行ってTP1/NET/X25の実行形式プログラムを作成する必要があります。リンケージには,PVCの場合はmcfplx25コマンドを,VCの場合はmcfplx25vcコマンドを使用します。
MCFメイン関数では,スタート関数(dc_mcf_svstart)を呼び出します。UOCを使用する場合は,MCFメイン関数でUOCの関数アドレスを指定してください。
UOCは,MCFメイン関数と同じ言語(ANSI C,C++,またはK&R版 C)で作成してください。
MCFメイン関数のコーディング概要を図8-1および図8-2に示します。また,ディレクトリへの組み込み方法を図8-3に示します。
なお,このコーディング例を次のファイルで提供しています。
- 図8-1(ANSI C,C++の場合)
PVCの場合:/BeTRAN/examples/mcf/X25/cmlib/ansi/com1.c
VCの場合:/BeTRAN/examples/mcf/X25/cmlib/ansi/com2.c
- 図8-2(K&R版 Cの場合)
PVCの場合:/BeTRAN/examples/mcf/X25/cmlib/c/com1.c
VCの場合:/BeTRAN/examples/mcf/X25/cmlib/c/com2.c
図8-1 MCFメイン関数のコーディング概要(ANSI C,C++の場合)
![[図データ]](figure/zu0801.gif)
- 注※
- PVCの場合のコーディングです。VCの場合は,次のようにコーディングしてください。
- #include <dcmx2p.h>
図8-2 MCFメイン関数のコーディング概要(K&R版 Cの場合)
![[図データ]](figure/zu0802.gif)
- 注※
- PVCの場合のコーディングです。VCの場合は,次のようにコーディングしてください。
- #include <dcmx2p.h>
- TP1/NET/X25で提供するヘッダファイルを取り込みます。
- 使用するUOC関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。これらのUOCを使用する場合だけ,コーディングしてください。
- UOCテーブルをextern宣言します。UOCを使用する場合,必ずこのとおりにコーディングしてください。2.のUOCを使用する場合だけ,コーディングしてください。
- 各UOC関数のアドレスを,次に示すシステム提供変数に設定します。
dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
これらのUOCを使用する場合だけ,コーディングしてください。
- スタート関数を呼び出します。必ずコーディングしてください。
図8-3 MCFメイン関数のディレクトリへの組み込み方法
![[図データ]](figure/zu0803.gif)
- 注※1
- PVCの場合はmcfplx25コマンド,VCの場合はmcfplx25vcコマンドでリンケージします。
- 注※2
- TP1/NET/X25の実行形式プログラム名は,先頭がmcfuで始まる8文字以内の名称にしてください。