分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編

[目次][索引][前へ][次へ]

dc_mcf_tactle

名称

論理端末の閉塞解除

形式

ANSI C,C++の形式

 
#include <dcmcf.h>
int dc_mcf_tactle (DCLONG action, dcmcf_tactleopt *leopt,
                   char *proinf, DCLONG *resv02,
                   char *resv03, char *resv04)
 

K&R版Cの形式

 
#include <dcmcf.h>
int dc_mcf_tactle (action, leopt, proinf, resv02, resv03, resv04)
DCLONG             action;
dcmcf_tactleopt    *leopt;
char               *proinf;
DCLONG             *resv02;
char               *resv03;
char               *resv04;
 

機能

論理端末の閉塞を解除します。

なお,dc_mcf_tactle関数の正常終了は,論理端末の閉塞解除要求をプロトコル製品が正常に受け付けたことを意味します。このため,論理端末の閉塞解除が正常に完了したことを示すものではありません。

dc_mcf_tactle関数の呼び出し後に論理端末に関する何らかの処理をする場合は,dc_mcf_tlsle関数を用いて論理端末の状態を確認してください。

UAPで値を設定する引数

●action

閉塞解除する論理端末の指定方法,および通信プロトコルに依存する機能を使用するかどうかを,次の形式で設定します。

 
DCMCFLE〔|DCMCFPRO〕
 
DCMCFLE
論理端末名称で指定するときに設定します。
DCMCFPRO
通信プロトコルに依存する機能を使用するときに設定します。

●leopt

この関数の対象となった論理端末の情報を,構造体dcmcf_tactleoptに設定します。

構造体の形式を次に示します。

 
typedef struct {
                DCLONG    mcfid;          …MCF通信プロセス識別子
                char      resv01[4];      …予備領域
                char      idnam[9];       …論理端末名称
                char      resv02[7];      …予備領域
                char      resv03[112];    …予備領域
                char      resv04[376];    …予備領域
                } dcmcf_tactleopt;
 

●proinf

プロトコル固有領域を設定します。

通信プロトコルに依存する機能を使用しないときは,NULLを設定します。

プロトコル固有領域の形式を次に示します。

[図データ]

プロトコル固有領域は1024バイトまで設定できます。

設定する値は使う通信プロトコルによって異なります。詳細は,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

●resv02,resv03,resv04

NULLを設定します。

リターン値

リターン値 リターン値(数値) 意味
DCMCFRTN_00000 0 正常に終了しました。
DCMCFRTN_71001 -12001 MCFが開始処理中のため,dc_mcf_tactle関数が受け付けられません。
DCMCFRTN_71002 -12002 MCFが終了処理中のため,dc_mcf_tactle関数が受け付けられません。
DCMCFRTN_71004 -12004 dc_mcf_tactle関数の処理中にメモリ不足が発生しました。
DCMCFRTN_71005 -12005 通信障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71006 -12006 内部障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71008 -12008 指定された論理端末名称は登録されていません。
DCMCFRTN_71009 -12009 dc_mcf_tactle関数が,該当するMCF通信プロセスではサポートされていません。
DCMCFRTN_71010 -12010 MCF通信プロセスに論理端末の閉塞の解除を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71011 -12011 論理端末が削除されているため,dc_mcf_tactle関数が受け付けられません。
DCMCFRTN_72050 -13050 actionにDCMCFLEが指定されていません。
actionに未サポートのフラグを設定しています。
DCMCFRTN_72051 -13051 leoptにNULLが設定されています。
DCMCFRTN_72052 -13052 <actionにDCMCFPROを設定していない場合>
proinfにNULLが設定されていません。
<actionにDCMCFPROを設定した場合>
proinfが示すプロトコル固有領域長Lに0未満,または1025以上の値を設定しています。
DCMCFRTN_72053 -13053 resv02にNULLが設定されていません。
DCMCFRTN_72054 -13054 resv03にNULLが設定されていません。
DCMCFRTN_72055 -13055 resv04にNULLが設定されていません。
DCMCFRTN_72061 -13061 dcmcf_tactleoptのmcfidに0未満または240以上の値が設定されています。
DCMCFRTN_72062 -13062 dcmcf_tactleoptのresv01がヌル文字で埋められていません。
DCMCFRTN_72063 -13063 dcmcf_tactleoptのidnamの先頭がヌル文字です。
DCMCFRTN_72064 -13064 dcmcf_tactleoptのresv02がヌル文字で埋められていません。
DCMCFRTN_72065 -13065 dcmcf_tactleoptのresv03がヌル文字で埋められていません。
DCMCFRTN_72067 -13067 dcmcf_tactleoptのresv04がヌル文字で埋められていません。
DCMCFRTN_72073 -13073 dcmcf_tactleoptのidnamに設定された文字数が9バイト以上です。
DCMCFRTN_72074 -13074 dcmcf_tactleoptのidnamに設定された文字列中に不正な文字があります。