Hitachi

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


dc_mcf_tdctcn

〈このページの構成〉

名称

コネクションの解放

形式

ANSI C,C++の形式

#include <dcmcf.h>
int dc_mcf_tdctcn (DCLONG action, dcmcf_tdctcnopt *cnopt,
                   char *proinf, DCLONG *resv02, char *resv03,
                   char *resv04)

K&R版Cの形式

#include <dcmcf.h>
int dc_mcf_tdctcn (action, cnopt, proinf, resv02, resv03, resv04)
DCLONG               action;
dcmcf_tdctcnopt      *cnopt;
char                 *proinf;
DCLONG               *resv02;
char                 *resv03;
char                 *resv04;

機能

コネクションを解放します。

なお,dc_mcf_tdctcn関数の正常終了は,コネクション解放要求をプロトコル製品が正常に受け付けたことを意味します。このため,相手システムとのコネクションの解放が正常に完了したことを示すものではありません。

dc_mcf_tdctcn関数の呼び出し後にコネクションに関する何らかの処理をする場合は,dc_mcf_tlscn関数を用いてコネクションの状態を確認してください。

UAPで値を設定する引数

●action

解放するコネクションの指定方法,および通信プロトコルに依存する機能を使用するかどうかを,次の形式で設定します。

{DCMCFLE|DCMCFCN}〔|DCMCFFRC〕〔|DCMCFPRO〕
DCMCFLE

解放するコネクションを論理端末名称で指定するときに設定します。

DCMCFCN

解放するコネクションをコネクションIDで指定するときに設定します。

DCMCFFRC

コネクションを強制的に解放するときに設定します。

DCMCFPRO

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

●cnopt

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

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

typedef struct {
                DCLONG    mcfid;          …MCF通信プロセス識別子
                char      resv01[4];      …予備領域
                char      idnam[9];       …論理端末名称,
                                            コネクションID
                char      resv02[7];      …予備領域
                char      resv03[112];    …予備領域
                char      scnnam[9];      …MCF使用領域
                char      resv04[7];      …予備領域
                char      resv05[360];    …予備領域
                } dcmcf_tdctcnopt;
  • 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,scnnam,resv04,resv05

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

●proinf

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

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

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

[図データ]

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

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

●resv02,resv03,resv04

NULLを設定します。

リターン値

リターン値

リターン値(数値)

意味

DCMCFRTN_00000

0

正常に終了しました。

DCMCFRTN_71001

-12001

MCFが開始処理中のため,dc_mcf_tdctcn関数が受け付けられません。

DCMCFRTN_71002

-12002

MCFが終了処理中のため,dc_mcf_tdctcn関数が受け付けられません。

DCMCFRTN_71004

-12004

dc_mcf_tdctcn関数の処理中にメモリ不足が発生しました。

DCMCFRTN_71005

-12005

通信障害が発生しました。原因については,メッセージログファイルを参照してください。

DCMCFRTN_71006

-12006

内部障害が発生しました。原因については,メッセージログファイルを参照してください。

DCMCFRTN_71007

-12007

指定されたコネクション名は登録されていません。

DCMCFRTN_71008

-12008

指定された論理端末名称は登録されていません。

DCMCFRTN_71009

-12009

dc_mcf_tdctcn関数が,該当するMCF通信プロセスではサポートされていません。

DCMCFRTN_71010

-12010

MCF通信プロセスにコネクションの解放を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。

DCMCFRTN_71011

-12011

コネクションが削除されているため,dc_mcf_tdctcn関数が受け付けられません。

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

<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_72060

-13060

actionにはDCMCFLEとDCMCFCNを同時に設定できません。

DCMCFRTN_72061

-13061

dcmcf_tdctcnoptのmcfidに0未満または240以上の値が設定されています。

DCMCFRTN_72062

-13062

dcmcf_tdctcnoptのresv01がヌル文字で埋められていません。

DCMCFRTN_72063

-13063

dcmcf_tdctcnoptのidnamの先頭がヌル文字です。

DCMCFRTN_72064

-13064

dcmcf_tdctcnoptのresv02がヌル文字で埋められていません。

DCMCFRTN_72065

-13065

dcmcf_tdctcnoptのresv03がヌル文字で埋められていません。

DCMCFRTN_72066

-13066

dcmcf_tdctcnoptのscnnamがヌル文字で埋められていません。

DCMCFRTN_72067

-13067

dcmcf_tdctcnoptのresv04がヌル文字で埋められていません。

DCMCFRTN_72069

-13069

dcmcf_tdctcnoptのresv05がヌル文字で埋められていません。

DCMCFRTN_72073

-13073

dcmcf_tdctcnoptのidnamに設定された文字数が9バイト以上です。

DCMCFRTN_72074

-13074

dcmcf_tdctcnoptのidnamに設定された文字列中に不正な文字があります。