分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編
入力メッセージ編集UOCは,次に示す形式で呼び出します。
#include <dcmcf.h> #include <dcmnom.h> #include <dcmcfuoc.h> DCLONG uoc_func(dcmcf_uoc_min_n *parm)
#include <dcmcf.h> #include <dcmnom.h> #include <dcmcfuoc.h> DCLONG uoc_func(parm) dcmcf_uoc_min_n *parm;
uoc_func(入力メッセージ編集UOC)を呼び出すとき,MCFは次に示す所定のパラメタをparmに設定します。
typedef struct { DCLONG pro_kind; …プロトコル種別 char le_name[9]; …論理端末名称 char reserve1[7]; …予備 DCLONG rcv_prim; …受信サービスプリミティブ dcmcf_uocbuff_list_n *buflist_adr; …受信バッファリストアドレス dcmcf_uocbuff_list_n *ebuflist_adr; …編集バッファリストアドレス char aplname[9]; …アプリケーション名 char reserve2[7]; …予備 char *pro_indv_ifa; …プロトコル個別インタフェース 領域アドレス DCLONG rtn_detail; …詳細リターンコード char reserve3[8]; …予備 } dcmcf_uoc_min_n;
typedef struct { DCLONG buf_num; …バッファ情報数 DCLONG used_buf_num; …使用バッファ情報数 char reserve1[8]; …予備 dcmcf_uocbufinf_n buf_array[DCMCF_UOC_BUFF_MAX]; …バッファ情報 } dcmcf_uocbuff_list_n;
typedef struct { char *buf_adr; …バッファアドレス DCLONG buf_size; …バッファ最大長 DCLONG seg_size; …セグメント長 char reserve1[4]; …予備 dcmcfuoc_w_type buff_id; …MCF内部情報 DCLONG buff_addr; …MCF内部情報 char reserve2[4]; …予備 } dcmcf_uocbufinf_n;
typedef struct { …プロトコル個別インタフェース領域 char lename[16]; …MCF内部情報 char mapname[10]; …MCF内部情報 char reserve1[6]; …予備 char appname[10]; …あて先名称領域 char reserve2[6]; …予備 } dcmnom_uoc;
uoc_func()は次のコードでリターンしてください。
リターン値 | 意味 |
---|---|
DCMCF_UOC_MSG_OK | 正常リターン(編集バッファでスケジューリング) |
DCMCF_UOC_MSG_OK_RCV | 正常リターン(受信バッファでスケジューリング) |
DCMCF_UOC_MSG_NG | メッセージ編集エラー |
UOCインタフェース用のパラメタとバッファの関係を次の図に示します。
All Rights Reserved. Copyright (C) 2009, Hitachi, Ltd.