5.1.4 出力メッセージ編集UOCインタフェース
出力メッセージ編集UOCは,次に示す形式で呼び出します。
(1) 形式
- ANSI C,C++ の形式
#include <dcmcfuoc.h> DCLONG uoc_func(dcmcf_uoc_mout_n *parm)
- K&R版C の形式
#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; …再送フラグ
char reserve2[1]; …予備
char *pro_indv_ifa; …MCFが使用
DCLONG rtn_detail; …詳細リターンコード
char reserve3[20]; …予備
} dcmcf_uoc_mout_n;(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)の内容
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「5.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。
(4) MCFが値を設定する項目
(a) dcmcf_uoc_mout_n
-
pro_kind
プロトコル種別として,次の値が設定されます。
-
DCMCF_UOC_PRO_NF:NIF/OSIプロトコル
-
-
le_name
メッセージを出力した論理端末の名称が設定されます。
-
buflist_adr
送信用バッファリストのアドレスが設定されます。
-
ebuflist_adr
編集用バッファリストのアドレスが設定されます。
メッセージ編集バッファが未定義の場合,つまり,コネクション定義(mcftalccn -e)を省略した場合,ebuflist_adrにはヌル文字が設定されます。
-
output_no
メッセージ出力通番が設定されます。ただしoutputno_flagがDCMCF_UOC_OUTPUTNO_OKの場合だけ有効です。
-
msg_type
メッセージ種別として,次の値が設定されます。ただしoutputno_flagがDCMCF_UOC_OUTPUTNO_OKの場合だけ有効です。
-
'o':応答メッセージ
-
'n':一般送信メッセージ
-
'p':優先送信メッセージ
-
's':同期型の送信メッセージ
-
-
outputno_flag
メッセージ出力通番が有効であるかどうか,次の値が設定されます。
-
DCMCF_UOC_OUTPUTNO_OK:メッセージ出力通番有効
(output_noおよびmsg_typeが有効になります)
-
DCMCF_UOC_OUTPUTNO_NG:メッセージ出力通番無効
-
-
resend_flag
次の値が設定されます。
-
'r':再送メッセージです。
-
'n':再送メッセージではありません。
-
-
pro_indv_ifa
MCFで使用するパラメタです。
(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(4)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「5.1.2(4)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。
(5) ユーザが値を設定する項目
(a) dcmcf_uoc_mout_n
-
rtn_detail
詳細リターンコードを設定します。
このコードは,UOCがDCMCF_UOC_MSG_NGをリターンしたときに,MCFに渡されます。
MCFは,詳細リターンコードをメッセージログファイルに出力します。
詳細リターンコードは,-19999〜-19000の範囲で指定してください。
(b) dcmcf_uocbuff_list_n(バッファリスト),dcmcf_uocbufinf_n(バッファ情報)
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「5.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「5.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。
(6) リターン値
uoc_func()は次のコードでリターンしてください。
|
リターン値 |
意味 |
|---|---|
|
DCMCF_UOC_MSG_OK |
正常リターン(編集バッファでスケジューリング) |
|
DCMCF_UOC_MSG_OK_SND |
正常リターン(送信バッファでスケジューリング) |
|
DCMCF_UOC_MSG_NG |
メッセージ編集エラー |
UOCが正常リターンすると,TP1/NET/OSAS-NIFは,パラメタから取り出したアプリケーション名をEBCDIKコードに変換してメッセージを送信します。
(7) パラメタとバッファの関係
UOCインタフェース用のパラメタとバッファの関係は,入力メッセージ編集UOCの場合と同じです。「5.1.2(7) パラメタとバッファの関係」を参照してください。