Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


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;
  • mcfid

    処理対象のコネクションを持つMCF通信サービスのMCF通信プロセス識別子を設定します。設定できる範囲は0〜239です。

    論理端末名称を使用してコネクションの状態取得を要求する場合は,無効となります。

    0を指定すると,該当するコネクションIDが属するMCF通信サービスを検索します。MCF通信サービスが多い構成やUAPからこの関数を多数発行する場合は,MCF通信プロセス識別子の指定をお勧めします。

    注※

    MCF環境定義(mcftenv -s)で指定するMCF通信プロセス識別子は16進数と見なしてください。

    例えば,MCF通信プロセス識別子が10の場合,16を設定してください。

  • resv01

    領域をヌル文字で埋めます。

  • idnam

    状態を取得するコネクションの論理端末名称,またはコネクションIDを設定します。論理端末名称,またはコネクションIDは8バイト以内で設定し,文字列の最後にヌル文字を付けます。

  • resv02,resv03,resv04

    領域をヌル文字で埋めます。

●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;
  • idnam

    要求したコネクションのコネクションIDが設定されます。

  • resv01

    領域をヌル文字で埋めます。

  • pnam

    要求したコネクションのプロトコル種別が設定されます。

    TCP

    TCP/IPプロトコル

  • status

    要求したコネクションの状態として,次の値が設定されます。

    DCMCF_CNST_ACT

    確立状態

    DCMCF_CNST_ACT_B

    確立処理中状態

    DCMCF_CNST_DCT

    解放状態

    DCMCF_CNST_DCT_B

    解放処理中状態

  • resv02

    領域をヌル文字で埋めます。

リターン値

リターン値

リターン値

(数値)

意味

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のコネクショングループ名を指定しています。

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が設定されていません。