Hitachi

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


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

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

〈この項の構成〉

(1) 形式

ANSI C,C++の形式
#include <dcmcfuoc.h>
#include <dcmxpn.h>
DCLONG uoc_func(dcmcf_uoc_mout_n *parm)
K&R版 Cの形式
#include <dcmcfuoc.h>
#include <dcmxpn.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;
                                   …プロトコル個別インタフェース領域
  DCLONG rtn_detail;               …詳細リターンコード
  char reserve3[20];               …予備
} dcmcf_uoc_mout_n;

(b) dcmcf_uocbuff_list_n(バッファリスト)の内容

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

(c) dcmcf_uocbufinf_n(バッファ情報)の内容

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

(d) dcmxp_mout_ifa(プロトコル個別インタフェース)の内容

typedef struct {
  char map_name[9];           …要求マップ名
  char reserve1[7];           …予備
  char print_map_name[9];     …表示中マップ名
  char reserve2[7];           …予備
  char device[8];             …デバイス
  char *inf_adr;              …MCF使用領域
  char reserve3[20];          …予備
} dcmxp_mout_ifa;

デバイスについては,「5.1.2 入力メッセージ編集UOCインタフェース」を参照してください。

(4) MCFが設定する項目

(a) dcmcf_uoc_mout_n

  • pro_kind

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

    DCMCF_UOC_PRO_XP

    TP1/NET/XMAP3プロトコル

  • le_name

    UAPで指定した送信先の論理端末の名称が設定されます。

  • buflist_adr

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

  • ebuflist_adr

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

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

  • output_no

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

  • msg_type

    メッセージ種別が設定されます。

    'o'

    問い合わせ応答メッセージ

    'n'

    一般一方送信メッセージ

    'p'

    優先一方送信メッセージ

  • outputno_flag

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

    DCMCF_UOC_OUTPUTNO_OK

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

    DCMCF_UOC_OUTPUTNO_NG

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

  • resend_flag

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

    'r'

    再送メッセージです。

    'n'

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

  • pro_indv_ifa

    プロトコル個別インタフェース領域のアドレスが設定されます。

(b) dcmcf_uocbuff_list_n(バッファリスト)

  • buf_num

    バッファ情報の数が設定されます。

(c) dcmcf_uocbufinf_n(バッファ情報)

  • buf_adr

    バッファのアドレスが設定されます。

  • buf_size

    バッファの最大長が設定されます。

  • seg_size

    送信用バッファリストの場合だけ,バッファの使用長が設定されます。

(d) dcmxp_mout_ifa(プロトコル個別インタフェース)

  • map_name

    要求するマップ名称が設定されます。

  • print_map_name

    現在表示中の,または前回表示・印刷したマップ名称が設定されます。

  • device

    機種またはモデルが設定されます。代行中は代行先の機種またはモデルが設定されます。

  • inf_adr

    MCF使用領域です。

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

(a) dcmcf_uoc_mout_n

  • rtn_detail

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

    このコードは,UOCがDCMCF_UOC_MSG_NGでリターンした場合に,MCFがメッセージログファイルに出力します。

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

(b) dcmcf_uocbuff_list_n(バッファリスト)

  • used_buf_num

    使用したバッファ情報の数を設定します。

    DCMCF_UOC_MSG_OK_SNDでリターンする場合は,送信バッファリストのused_buf_numを必ず設定してください。セグメント数を変更しない場合は,送信バッファリストのbuf_numの値を設定してください。

(c) dcmcf_uocbufinf_n(バッファ情報)

  • seg_size

    バッファの使用長を設定します。

(d) dcmxp_mout_ifa(プロトコル個別インタフェース)

  • map_name

    要求するマップ名称を設定します。

(6) リターン値

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

リターン値

意味

DCMCF_UOC_MSG_OK

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

DCMCF_UOC_MSG_OK_SND

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

DCMCF_UOC_MSG_NG

メッセージ編集エラー