Hitachi

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


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

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

〈この項の構成〉

(1) 形式

ANSI C,C++の場合
#include<dcmcfuoc.h>
 
DCLONG    uoc_func(dcmcf_uoc_mout_n *parm)
K&R版C の場合
#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.2 入力メッセージ編集UOCインタフェース」を参照してください。

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

(a) dcmcf_uoc_mout_n

  • pro_kind

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

    DCMCF_UOC_PRO_SLUP2

    SLUTYPE-Pプロトコル(2次局)

  • le_name

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

  • buflist_adr

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

  • ebuflist_adr

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

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

  • output_no

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

  • msg_type

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

    '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.2 入力メッセージ編集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.2 入力メッセージ編集UOCインタフェース」を参照してください。

(6) リターン値

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

リターン値

意味

DCMCF_UOC_MSG_OK

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

DCMCF_UOC_MSG_OK_SND

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

DCMCF_UOC_MSG_NG

メッセージ編集エラー

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

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