Hitachi

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


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

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

〈この項の構成〉

(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) ユーザが値を設定する項目

  •  flags

    DCMCF_SEND_UOCを設定します。

  •  uoc_addr

    flagsに対応するUOCのアドレスを設定します。

(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();
}