dc_mcf_tlscnコネクションの状態取得(C言語)

形式

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