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

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

dc_mcf_tlscn

名称

コネクションの状態取得

形式

ANSI C,C++の形式

 
#include <dcmcf.h>
int dc_mcf_tlscn (DCLONG action, dcmcf_tlscnopt *cnopt,
                  char *resv01, DCLONG *resv02,
                  char *resv03, DCLONG *infcnt,
                  dcmcf_cninf *inf, char *resv04)
 

K&R版Cの形式

 
#include <dcmcf.h>
int dc_mcf_tlscn (action, cnopt, resv01, resv02, resv03, infcnt,
                  inf, resv04)
DCLONG            action;
dcmcf_tlscnopt    *cnopt;
char              *resv01;
DCLONG            *resv02;
char              *resv03;
DCLONG            *infcnt;
dcmcf_cninf       *inf;
char              *resv04;
 

機能

コネクションの状態を取得します。

UAPで値を設定する引数

●action

状態を取得するコネクションの指定方法を次の形式で設定します。

DCMCFLE|DCMCFCN}
 
DCMCFLE
状態を取得するコネクションを論理端末名称で指定するときに設定します。
TP1/NET/NCSB,およびTP1/NET/X25-Extendedでは指定することができません。
DCMCFCN
状態を取得するコネクションをコネクションIDで指定するときに設定します。

●cnopt

この関数の対象となったコネクションの情報を,構造体dcmcf_tlscnoptに設定します。

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

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

●resv01,resv02,resv03

NULLを設定します。

●infcnt

コネクション状態を格納する領域dcmcf_cninfの個数として,1を設定します。

処理終了後は,該当するコネクションの個数が返されます。

●inf

コネクション状態を格納する領域dcmcf_cninfを設定します。

「構造体dcmcf_cninfのサイズ×infcnt」バイト数分の領域が必要です。

●resv04

NULLを設定します。

OpenTP1から値が返される引数

●infcnt

この関数の対象となったコネクションの個数が返されます。

●inf

この関数の対象となったコネクションの情報が,構造体dcmcf_cninfで返されます。

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

 
typedef struct {
                char     idnam[9];     …コネクションID
                char     resv01[7];    …予備領域
                char     pnam[4];      …プロトコル種別
                DCLONG   status;       …コネクション状態
                char     resv02[40];   …予備領域
                } dcmcf_cninf;
 

リターン値

リターン値 リターン値(数値) 意味
DCMCFRTN_00000 0 正常に終了しました。
DCMCFRTN_71001 -12001 MCFが開始処理中のため,dc_mcf_tlscn関数が受け付けられません。
DCMCFRTN_71004 -12004 dc_mcf_tlscn関数の処理中にメモリ不足が発生しました。
DCMCFRTN_71005 -12005 通信障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71006 -12006 内部障害が発生しました。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71007 -12007 指定されたコネクション名は登録されていません。
DCMCFRTN_71008 -12008 指定された論理端末名称は登録されていません。
DCMCFRTN_71009 -12009 dc_mcf_tlscn関数が,該当するMCF通信プロセスではサポートされていません。
DCMCFRTN_71010 -12010 MCF通信プロセスにコネクションの状態取得を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。
DCMCFRTN_71011 -12011 コネクションが削除されているため,dc_mcf_tlscn関数が受け付けられません。
DCMCFRTN_71014 -12014 TP1/NET/NCSB,もしくはTP1/NET/X25-Extendedの論理端末名称を指定しています。または,TP1/NET/OSI-TP,もしくはTP1/NET/TCP/IPのコネクショングループ名を指定しています。
DCMCFRTN_72050 -13050 actionに未サポートのフラグを設定しています。
DCMCFRTN_72051 -13051 cnoptにNULLが設定されています。
DCMCFRTN_72052 -13052 resv01にNULLが設定されていません。
DCMCFRTN_72053 -13053 resv02にNULLが設定されていません。
DCMCFRTN_72054 -13054 resv03にNULLが設定されていません。
DCMCFRTN_72055 -13055 resv04にNULLが設定されていません。
DCMCFRTN_72056 -13056 infcntにNULLが設定されています。
DCMCFRTN_72057 -13057 infにNULLが設定されています。
DCMCFRTN_72060 -13060 actionにはDCMCFLEとDCMCFCNを同時に設定できません。
DCMCFRTN_72061 -13061 dcmcf_tlscnoptのmcfidに0未満または240以上の値が設定されています。
DCMCFRTN_72062 -13062 dcmcf_tlscnoptのresv01がヌル文字で埋められていません。
DCMCFRTN_72063 -13063 dcmcf_tlscnoptのidnamの先頭がヌル文字です。
DCMCFRTN_72064 -13064 dcmcf_tlscnoptのresv02がヌル文字で埋められていません。
DCMCFRTN_72065 -13065 dcmcf_tlscnoptのresv03がヌル文字で埋められていません。
DCMCFRTN_72067 -13067 dcmcf_tlscnoptのresv04がヌル文字で埋められていません。
DCMCFRTN_72073 -13073 dcmcf_tlscnoptのidnamに設定された文字数が9バイト以上です。
DCMCFRTN_72074 -13074 dcmcf_tlscnoptのidnamに設定された文字列中に不正な文字があります。
DCMCFRTN_72076 -13076 infcntに1が設定されていません。