コネクション確立UOCは,次に示す形式で呼び出します。
#include <dcmcf.h>
#include <dcmcfuoc.h>
#include <dcmtcpu.h>
DCLONG con_uoc(dcmtcp_uoc_con_n *parm)
#include <dcmcf.h>
#include <dcmcfuoc.h>
#include <dcmtcpu.h>
DCLONG con_uoc(parm)
dcmtcp_uoc_con_n *parm;
con_uoc(コネクション確立UOC)を呼び出すとき,MCFは次に示す所定のパラメタをparmに設定します。
typedef struct{
char cn_name[9]; …コネクションID
char reserve[7]; …予備
dcmtcp_cnuoc_oaddr *oaddr; …相手システムのアドレス情報
unsigned short oportno; …相手システムのポート番号
unsigned short iportno; …自システムのポート番号
DCLONG connect_permit; …コネクション確立要求受け入れ可否
DCLONG reject_reason; …コネクション確立拒否理由
DCLONG rtn_detail; …詳細リターンコード
}dcmtcp_uoc_con_n;
typedef struct{
unsigned short o_type; …アドレス通知形式
unsigned short o_len; …アドレス長
char o_addr[256]; …相手システムのアドレス
}dcmtcp_cnuoc_oaddr;
con_uoc()は次のコードでリターンしてください。
リターン値 | 意味 |
---|---|
DCMTCP_UOC_CON_OK | 正常リターン(コネクション確立要求の受信) |
DCMTCP_UOC_CON_NG | コネクション確立要求判定エラー |
コネクション確立UOCをメイン関数に登録する場合のコーディング例を次に示します。
#include <dcmtcp.h>
#include <dcmtcpu.h>
extern DCLONG con_uoc(dcmtcp_uoc_con_n *);/* コネクション確立UOC*/
extern dcmcf_uoc_t dcmcf_uoctbl; /* UOCテーブルextern宣言 */
int main()
{
dcmcf_uoctbl.assctn /* コネクション確立UOC */
= (dcmcf_uocfunc)con_uoc; /* アドレス設定 */
dc_mcf_svstart();
return 0;
}
#include <dcmtcp.h>
extern DCLONG con_uoc(); /* コネクション確立UOC */
extern dcmcf_uoc_t dcmcf_uoctbl; /* UOCテーブルextern宣言 */
main()
{
dcmcf_uoctbl.assctn = con_uoc; /* コネクション確立UOC */
/* アドレス設定 */
dc_mcf_svstart();
}