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

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

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

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

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

(1) 形式

ANSI C,C++ の場合
 
  #include <dcmcfuoc.h>
  DCLONG  uoc_func(dcmcf_uoc_min_n *parm)
  

K&R版C の場合
  
  #include <dcmcfuoc.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;                … MCF使用領域
    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
    DCMLONG buff_addr;                   … MCF内部情報2
    char reserve2[4];                    … 予備
} dcmcf_uocbufinf_n;
 

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

(a) dcmcf_uoc_min_n
(b) dcmcf_uocbuff_list_n(バッファリスト)
(c) dcmcf_uocbufinf_n(バッファ情報)

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

(a) dcmcf_uoc_min_n
(b) dcmcf_uocbuff_list_n(バッファリスト)
(c) dcmcf_uocbufinf_n(バッファ情報)

(6) リターン値

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

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

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

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

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

[図データ]

注※1
mcftalccn -eオプションを指定しない場合,NULLとなり,バッファリストとバッファは確保されません。

注※2
バッファ情報は次の形式をしています。
[図データ]