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

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

5.1.2 入力メッセージ編集UOCインタフェース

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

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

(1) 形式

ANSI C,C++の形式
 
#include <dcmcfuoc.h>
#include <dcmxpn.h>
DCLONG uoc_func(dcmcf_uoc_min_n *parm)
 
K&R版 Cの形式
 
#include <dcmcfuoc.h>
#include <dcmxpn.h>
DCLONG uoc_func(parm)
 
dcmcf_uoc_min_n *parm;
 

(2) 説明

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

(3) パラメタの内容

(a) dcmcf_uoc_min_nの内容
 
typedef struct {
    DCLONG pro_kind;           …プロトコル種別
    char le_name[9];           …論理端末名称
    char reserve1[7];          …予備
    DCLONG rcv_prim;           …受信サービスプリミティブ
    dcmcf_uocbuff_list_n *buflist_adr;
                               …受信バッファリストアドレス
    dcmcf_uocbuff_list_n *ebuflist_adr;
                               …編集バッファリストアドレス
    char aplname[9];           …アプリケーション名
    char reserve2[7];          …予備
    char *pro_indv_ifa;        …プロトコル個別インタフェース領域アドレス
    DCLONG rtn_detail;         …詳細リターンコード
    char reserve3[8];          …予備
} dcmcf_uoc_min_n;
 
(b) dcmcf_uocbuff_list_n(バッファリスト)の内容
 
typedef struct {
    DCLONG buf_num;                       …バッファ情報数
    DCLONG used_buf_num;                  …使用バッファ情報数
    char reserve1[8];                     …予備
    dcmcf_uocbufinf_n buf_array[DCMCF_UOC_BUFF_MAX];
} dcmcf_uocbuff_list_n;
 
(c) dcmcf_uocbufinf_n(バッファ情報)の内容
 
typedef struct {
    char *buf_adr;                      …バッファアドレス
    DCULONG buf_size;                   …バッファ最大長
    DCULONG seg_size;                   …バッファ使用長
    char reserve1[4];                   …予備
    dcmcfuoc_w_type buff_id;            …MCF内部情報1
    DCLONG buff_addr;                   …MCF内部情報2
    char reserve2[4];                   …予備
} dcmcf_uocbufinf_n;
 
(d) dcmxp_min_ifa(プロトコル個別インタフェース)の内容
 
typedef struct {
    char map_name[9];                   …表示中マップ名
    char reserve1[7];                   …予備
    char next_map_name[9];              …次画面名
    char reserve2[7];                   …予備
    char device[8];                     …デバイス
    char cont_status;                   …継続問い合わせ応答ステータス
    char reserve3[23];                  …予備
} dcmxp_min_ifa;
 

(4) MCFが設定する項目

(a) dcmcf_uoc_min_n
(b) dcmcf_uocbuff_list_n(バッファリスト)
(c) dcmcf_uocbufinf_n(バッファ情報)
(d) dcmxp_min_ifa(プロトコル個別インタフェース)

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

(a) dcmcf_uoc_min_n
(b) dcmcf_uocbuff_list_n(バッファリスト)
(c) dcmcf_uocbufinf_n(バッファ情報)
(d) dcmxp_min_ifa(プロトコル個別インタフェース)

(6) リターン値

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

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

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

UOCインタフェース用パラメタとバッファの関係を次の図に示します。

図5-2 UOCインタフェース用のパラメタとバッファの関係

[図データ]

注※1
コネクション定義(mcftalccn)の-eオプションを指定しなければNULLとなり,バッファリストとバッファは確保されません。
注※2
バッファ情報は32バイトで次の形式をしています。
[図データ]