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

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

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

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

<この項の構成>
(1) 形式
(2) 説明
(3) パラメタの内容
(4) MCFが値を設定する項目
(5) ユーザが値を設定する項目
(6) リターン値
(7) パラメタとバッファの関係
(8) バッファインタフェース

(1) 形式

ANSI C,C++の場合
 
#include <dcmcf.h>
#include <dcmotm.h>
#include <dcmcfuoc.h>
DCLONG    uoc_func(dcmcf_uoc_mout_n *parm)
 
K&R版 Cの場合
 
#include <dcmcf.h>
#include <dcmotm.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;           …MCF内部情報
    char   reserve2[1];
    char   *pro_indv_ifa;          …プロトコル個別インタフェース
                                     領域アドレス
    DCLONG rtn_detail;             …詳細リターンコード
    char   reserve3[20];
} dcmcf_uoc_mout_n;
 
(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)の内容

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「4.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。

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

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

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(4)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「4.1.2(4)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。

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

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

入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(5)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「4.1.2(5)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。

(6) リターン値

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

リターン値 意味
DCMCF_UOC_MSG_OK 正常リターン(編集バッファでスケジューリング)
DCMCF_UOC_MSG_OK_SND 正常リターン(送信バッファでスケジューリング)
DCMCF_UOC_MSG_NG メッセージ編集エラー

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

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

(8) バッファインタフェース

出力メッセージ編集UOCを使用する場合,APDU連結があるかどうかによって,バッファのインタフェースが異なります。

(a) APDU連結がない場合

APDU連結がない場合,入力メッセージ編集UOCと同様に,セグメント数は1になります。ユーザセグメントは,バッファ情報エリアの1番目が使用されます。「4.1.2(8) バッファインタフェース」を参照してください。

(b) APDU連結がある場合

APDU連結がある場合,セグメント数は1になります。ユーザセグメントは,バッファ情報エリアの1番目が使用されます。UAPがメッセージ送信要求時に,セグメント領域に設定した内容が設定されます。

APDU連結がある場合のバッファインタフェースを次の図に示します。

図4-5 出力メッセージ編集UOCのバッファインタフェース(APDU連結あり)

[図データ]