分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編

[目次][用語][索引][前へ][次へ]

4.1.6 送信メッセージの通番編集UOCインタフェース

送信メッセージの通番編集UOCは,次に示す形式でsend_uoc関数として作成します。

<この項の構成>
(1) 形式
(2) MCFから値が渡される引数
(3) リターン値
(4) OpenTP1への組み込み方法

(1) 形式

ANSI C,C++の形式
 
#include <dcmcf.h>
DCLONG send_uoc(DCLONG flags, char *termname, DCLONG sendno, 
                DCLONG sendid,DCLONG dataleng, char *senddata)
 
K&R版 Cの形式
 
#include <dcmcf.h>
DCLONG send_uoc (flags, termname, sendno, sendid, dataleng, senddata)
DCLONG flags;
char   *termname;
DCLONG sendno;
DCLONG sendid;
DCLONG dataleng;
char   *senddata;
 

(2) MCFから値が渡される引数

(3) リターン値

リターン値 意味
DC_OK 正常リターン

(4) OpenTP1への組み込み方法

UAPのメイン関数の中に,UOCの関数アドレスを登録しておきます。UAPのメイン関数に登録するdc_mcf_regster関数の形式を次に示します。

(a) 形式
ANSI C,C++の形式
 
#include <dcmcf.h>
int dc_mcf_regster(DCLONG flags, DCLONG (*uoc_addr)())
 
K&R版 Cの形式
 
#include <dcmcf.h>
int dc_mcf_regster(flags,uoc_addr)
DCLONG flags;
DCLONG (*uoc_addr)();
 
(b) ユーザが値を設定する項目
(c) リターン値
リターン値 意味
DC_OK 正常に終了しました。
DCMCFER_INVALID_ARGS 引数の指定が間違っています。
DCMCFER_NOMEM ローカルメモリが不足しています。

メイン関数への登録例を次に示します。

 
main()
{
extern DCLONG send_uoc();
 
dc_rpc_open();
dc_mcf_open();
dc_mcf_regster(DCMCF_SEND_UOC,send_uoc);
dc_mcf_mainloop();
dc_mcf_close();
dc_rpc_close();
}