出力メッセージ編集UOCは,次に示す形式で呼び出します。
#include <dcmcf.h>
#include <dcmotm.h>
#include <dcmcfuoc.h>
DCLONG uoc_func(dcmcf_uoc_mout_n *parm)
#include <dcmcf.h>
#include <dcmotm.h>
#include <dcmcfuoc.h>
DCLONG uoc_func(parm)
dcmcf_uoc_mout_n *parm ;
uoc_func(出力メッセージ編集UOC)を呼び出すとき,MCFは次に示す所定のパラメタをparmに設定します。
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;
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(3)(b) dcmcf_uocbuff_list_n(バッファリスト)の内容」および「4.1.2(3)(c) dcmcf_uocbufinf_n(バッファ情報)の内容」を参照してください。
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(4)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「4.1.2(4)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。
入力メッセージ編集UOCインタフェースのバッファリストおよびバッファ情報の内容と同じです。「4.1.2(5)(b) dcmcf_uocbuff_list_n(バッファリスト)」および「4.1.2(5)(c) dcmcf_uocbufinf_n(バッファ情報)」を参照してください。
uoc_func()は次のコードでリターンしてください。
リターン値 | 意味 |
---|---|
DCMCF_UOC_MSG_OK | 正常リターン(編集バッファでスケジューリング) |
DCMCF_UOC_MSG_OK_SND | 正常リターン(送信バッファでスケジューリング) |
DCMCF_UOC_MSG_NG | メッセージ編集エラー |
UOCインタフェース用のパラメタとバッファの関係は,入力メッセージ編集UOCと同じです。「4.1.2(7) パラメタとバッファの関係」を参照してください。
出力メッセージ編集UOCを使用する場合,APDU連結があるかどうかによって,バッファのインタフェースが異なります。
APDU連結がない場合,入力メッセージ編集UOCと同様に,セグメント数は1になります。ユーザセグメントは,バッファ情報エリアの1番目が使用されます。「4.1.2(8) バッファインタフェース」を参照してください。
APDU連結がある場合,セグメント数は1になります。ユーザセグメントは,バッファ情報エリアの1番目が使用されます。UAPがメッセージ送信要求時に,セグメント領域に設定した内容が設定されます。
APDU連結がある場合のバッファインタフェースを次の図に示します。
図4-5 出力メッセージ編集UOCのバッファインタフェース(APDU連結あり)