dc_mcf_tlscn − コネクションの状態取得(C言語)
- 〈このページの構成〉
形式
機能
コネクションの状態を取得します。
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バイトの長さです。論理端末名称,またはコネクションIDの最後にはヌル文字を付けてください。
-
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が設定されます。コネクションIDは最大8バイトの長さです。コネクションIDの最後にはヌル文字が付けられます。
-
resv01
領域をヌル文字で埋めます。
-
pnam
要求したコネクションのプロトコル種別が設定されます。プロトコル種別の最後にはヌル文字が付けられます。
- SL2
-
SLUTYPE-Pプロトコル(2次局)
-
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 |
指定されたコネクションIDは登録されていません。 |
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が設定されていません。 |