Hitachi

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


5.1.6 出力メッセージ編集UOCインタフェース

出力メッセージ編集UOCは,次に示す形式で呼び出します。

〈この項の構成〉

(1) 形式

 ANSI C,C++の場合
#include <dcmcf.h>
#include <dcmcfuoc.h>
DCLONG  uoc_func(dcmcf_uoc_mout_n *parm)
 K&R版 Cの場合
#include <dcmcf.h>
#include <dcmcfuoc.h>
DCLONG  uoc_func(parm)
 
dcmcf_uoc_mout_n *parm ;

(2) 説明

uoc_func(出力メッセージ編集UOC)を呼び出すとき,MCFは次に示す所定のパラメタをparmに設定します。

(3) パラメタの内容

(a) dcmcf_uoc_mout_nの内容

typedef struct {
    DCLONG pro_kind;            …プロトコル種別
    char le_name[9];            …論理端末名称
    char reserve1[7];           …予備
    dcmcf_uocbuff_list_n *buflist_adr; 
                                …送信バッファリストアドレス
    dcmcf_uocbuff_list_n *ebuflist_adr;
                                …編集バッファリストアドレス
    DCLONG output_no;           …メッセージ出力通番
    char msg_type;              …メッセージ種別
    char outputno_flag;         …メッセージ出力通番有効フラグ
    char resend_flag;           …再送メッセージフラグ
    char reserve2[1];           …予備
    char *pro_indv_ifa;         …MCF使用領域
    DCLONG rtn_detail;          …詳細リターンコード
    char reserve3[20];          …予備
} dcmcf_uoc_mout_n;

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)の内容

5.1.4 入力メッセージ編集UOCインタフェース」を参照してください。

(4) MCFが値を設定する項目

(a) dcmcf_uoc_mout_n

  • pro_kind

    プロトコル種別として,次の値が設定されます。

    DCMCF_UOC_PRO_TCP

    TCP/IPプロトコル

  • le_name

    メッセージを出力する論理端末の名称が設定されます。

  • buflist_adr

    送信用バッファリストのアドレスが設定されます。

  • ebuflist_adr

    編集用バッファリストのアドレスが設定されます。

    メッセージ編集バッファが未定義の場合(コネクション定義(mcftalccn)の-eオプションを省略した場合),ebuflist_adrにはNULLが設定されます。

  • output_no

    メッセージ出力通番が設定されます。ただし,outputno_flagがDCMCF_UOC_OUTPUTNO_OKのときだけ有効です。

  • msg_type

    メッセージ種別として,次の値が設定されます。

    'o'

    応答メッセージ

    'n'

    一般一方送信メッセージ

    'p'

    優先一方送信メッセージ

    's'

    同期送信メッセージ

  • outputno_flag

    メッセージ出力通番の有効フラグとして,次のどちらかの値が設定されます。

    DCMCF_UOC_OUTPUTNO_OK

    メッセージ出力通番を有効にします。

    DCMCF_UOC_OUTPUTNO_NG

    メッセージ出力通番を無効とします。

  • resend_flag

    再送メッセージフラグとして,次のどちらかの値が設定されます。

    'r'

    再送メッセージです。

    'n'

    再送メッセージではありません。

  • pro_indv_ifa

    MCFで使用するパラメタです。

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)

5.1.4 入力メッセージ編集UOCインタフェース」を参照してください。

(5) ユーザが値を設定する項目

(a) dcmcf_uoc_mout_n

  • rtn_detail

    詳細リターンコードを設定します。

    このコードは,UOCがDCMCF_UOC_MSG_NGでリターンしたときに,MCFに渡されます。MCFは,詳細リターンコードをメッセージログファイルに出力します。

    詳細リターンコードは,-19999〜-19000の範囲で指定してください。

(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)

5.1.4 入力メッセージ編集UOCインタフェース」を参照してください。

(6) リターン値

uoc_func()は次のコードでリターンしてください。

リターン値

意味

DCMCF_UOC_MSG_OK

正常リターン(編集バッファでスケジューリング)

DCMCF_UOC_MSG_OK_SND

正常リターン(送信バッファでスケジューリング)

DCMCF_UOC_MSG_NG

メッセージ編集エラー

(7) パラメタとバッファの関係

UOCインタフェース用のパラメタとバッファの関係は,入力メッセージ編集UOCと同じです。「5.1.4(7) パラメタとバッファの関係」を参照してください。