dc_mcf_tactcn - コネクションの確立(C言語)
形式
ANSI C,C++の形式
#include <dcmcf.h>
int dc_mcf_tactcn (DCLONG action, dcmcf_tactcnopt *cnopt,
char *proinf, DCLONG *resv02, char *resv03,
char *resv04)
K&R版Cの形式
#include <dcmcf.h>
int dc_mcf_tactcn (action, cnopt, proinf, resv02, resv03, resv04)
DCLONG action;
dcmcf_tactcnopt *cnopt;
char *proinf;
DCLONG *resv02;
char *resv03;
char *resv04;
機能
コネクションを確立します。
なお,dc_mcf_tactcn関数の正常終了は,コネクション確立要求をTP1/NET/TCP/IPが正常に受け付けたことを意味します。このため,相手システムとのコネクションの確立が正常に完了したことを示すものではありません。
dc_mcf_tactcn関数の呼び出し後にコネクションに関する何らかの処理をする場合は,dc_mcf_tlscn関数を用いてコネクションの状態を確認してください。
UAPで値を設定する引数
●action
確立するコネクションの指定方法を次の形式で設定します。
{DCMCFLE|DCMCFCN}〔|DCMCFPRO〕
●cnopt
この関数の対象となったコネクションの情報を,構造体dcmcf_tactcnoptに設定します。
構造体の形式を次に示します。
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 yournam[9]; …MCF使用領域
char resv05[7]; …予備領域
char hostnam[143]; …MCF使用領域
char resv06[17]; …予備領域
char resv07[184]; …予備領域
} dcmcf_tactcnopt;
●proinf
プロトコル固有領域として,構造体dcmtcp_tactcnを設定します。
TP1/NET/TCP/IP固有の機能を使用しない場合は,NULLを設定します。
プロトコル固有領域の形式を次に示します。
構造体の形式を次に示します。
typedef struct {
char pnam[4]; …プロトコルの名称
char resv01[4]; …予備領域
DCULONG i_ipaddr; …自システムの
IPアドレス
unsigned short i_portno; …自システムの
ポート番号
char resv02[2]; …予備領域
DCULONG o_ipaddr; …相手システムの
IPアドレス
unsigned short o_portno; …相手システムの
ポート番号
char resv03[2]; …予備領域
char i_pathname[128]; …予備領域
char o_pathname[128]; …予備領域
char resv04[744]; …予備領域
} dcmtcp_tactcn;
●resv02,resv03,resv04
NULLを設定します。
リターン値
リターン値 | リターン値 (数値) | 意味 |
---|---|---|
DCMCFRTN_00000 | 0 | 正常に終了しました。 |
DCMCFRTN_71001 | -12001 | MCFが開始処理中のため,dc_mcf_tactcn関数が受け付けられません。 |
DCMCFRTN_71002 | -12002 | MCFが終了処理中のため,dc_mcf_tactcn関数が受け付けられません。 |
DCMCFRTN_71004 | -12004 | dc_mcf_tactcn関数の処理中にメモリ不足が発生しました。 |
DCMCFRTN_71005 | -12005 | 通信障害が発生しました。原因については,メッセージログファイルを参照してください。 |
DCMCFRTN_71006 | -12006 | 内部障害が発生しました。原因については,メッセージログファイルを参照してください。 |
DCMCFRTN_71007 | -12007 | 指定されたコネクション名は登録されていません。 |
DCMCFRTN_71008 | -12008 | 指定された論理端末名称は登録されていません。 |
DCMCFRTN_71009 | -12009 | dc_mcf_tactcn関数が,該当するMCF通信プロセスではサポートされていません。 |
DCMCFRTN_71010 | -12010 | MCF通信プロセスにコネクションの確立を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。 |
DCMCFRTN_71011 | -12011 | コネクションが削除されているため,dc_mcf_tactcn関数が受け付けられません。 |
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_tactcnoptのmcfidに0未満または240以上の値が設定されています。 |
DCMCFRTN_72062 | -13062 | dcmcf_tactcnoptのresv01がヌル文字で埋められていません。 |
DCMCFRTN_72063 | -13063 | dcmcf_tactcnoptのidnamの先頭がヌル文字です。 |
DCMCFRTN_72064 | -13064 | dcmcf_tactcnoptのresv02がヌル文字で埋められていません。 |
DCMCFRTN_72065 | -13065 | dcmcf_tactcnoptのresv03がヌル文字で埋められていません。 |
DCMCFRTN_72066 | -13066 | dcmcf_tactcnoptのscnnamがヌル文字で埋められていません。 |
DCMCFRTN_72067 | -13067 | dcmcf_tactcnoptのresv04がヌル文字で埋められていません。 |
DCMCFRTN_72068 | -13068 | dcmcf_tactcnoptのyournamがヌル文字で埋められていません。 |
DCMCFRTN_72069 | -13069 | dcmcf_tactcnoptのresv05がヌル文字で埋められていません。 |
DCMCFRTN_72070 | -13070 | dcmcf_tactcnoptのhostnamがヌル文字で埋められていません。 |
DCMCFRTN_72071 | -13071 | dcmcf_tactcnoptのresv06がヌル文字で埋められていません。 |
DCMCFRTN_72072 | -13072 | dcmcf_tactcnoptのresv07がヌル文字で埋められていません。 |
DCMCFRTN_72073 | -13073 | dcmcf_tactcnoptのidnamに9以上の文字が設定されています。 |
DCMCFRTN_72074 | -13074 | dcmcf_tactcnoptのidnamに設定された文字列中に不正な文字があります。 |
DCMCFRTN_73100 | -14100 | コネクションが確立済みのため受け付けられません。 |
DCMCFRTN_73101 | -14101 | コネクションが確立処理中のため受け付けられません。 |
DCMCFRTN_73102 | -14102 | コネクションに対する論理端末が接続されていないため受け付けられません。 |
DCMCFRTN_73103 | -14103 | サーバ型コネクションのため受け付けられません。 |
DCMCFRTN_73104 | -14104 | コネクションが解放処理中のため受け付けられません。 |
DCMCFRTN_73130 | -14130 | プロトコル固有領域長Lに設定した値が不足しています。 |
DCMCFRTN_73131 | -14131 | dcmtcp_tactcnのpnamの値が間違っています。 |
DCMCFRTN_73132 | -14132 | dcmtcp_tactcnのresv01がヌル文字で埋められていません。 |
DCMCFRTN_73133 | -14133 | dcmtcp_tactcnのi_ipaddrに255.255.255.255のIPアドレスが設定されています。 |
DCMCFRTN_73134 | -14134 | dcmtcp_tactcnのi_portnoに1以上1023以下の値が設定されています。 |
DCMCFRTN_73135 | -14135 | dcmtcp_tactcnのresv02がヌル文字で埋められていません。 |
DCMCFRTN_73136 | -14136 | dcmtcp_tactcnのo_ipaddrに0.0.0.0,または255.255.255.255のIPアドレスが設定されています。 |
DCMCFRTN_73137 | -14137 | dcmtcp_tactcnのo_portnoに0が設定されています。 |
DCMCFRTN_73138 | -14138 | dcmtcp_tactcnのresv03がヌル文字で埋められていません。 |
DCMCFRTN_73139 | -14139 | dcmtcp_tactcnのi_pathnameがヌル文字で埋められていません。 |
DCMCFRTN_73140 | -14140 | dcmtcp_tactcnのo_pathnameがヌル文字で埋められていません。 |
DCMCFRTN_73141 | -14141 | dcmtcp_tactcnのresv04がヌル文字で埋められていません。 |