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;             … バッファアドレス
   DCLONG buf_size;           … バッファ最大長
   DCLONG seg_size;           … バッファ使用長
   char reserve1[4];          … 予備
   dcmcfuoc_w_type buff_id;   … MCF内部情報1
   DCLONG 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 UOCインタフェース用のパラメタとバッファの関係

[図データ]

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