MCFイベント情報は構造体で,MCFイベント処理用MHPに渡されます。MHPに渡される構造体の形式は,MCFイベントの種類によって異なります。ただし,MCFイベント情報の先頭部分の形式は,各イベントで共通です。
MCFイベントの共通ヘッダ(dc_mcf_evtheader),およびエラーイベント(ERREVTn)で使用する構造体は,<dcmcf.h>で定義してあります。また,CERREVT通知インタフェース(dcmcsb_cerrevt),COPNEVT,CCLSEVT通知インタフェース(dcmcsb_statevt),およびMDELEVT通知インタフェース(dcmcsb_mdelevt)は,<dcmcsb.h>で定義されています。<dcmcsb.h>の前に<dcmcf.h>を取り込んでおいてください。
MCFイベント情報の先頭部分の形式を次に示します。
struct dc_mcf_evtheader {
char mcfevt_name[9] ; …MCFイベント情報コード
char le_name[16] ; …論理端末名称
char cn_name[9] ; …コネクション名またはコネクション
グループ名
unsigned char format_kind; …MCFが使用
char reserve01; …予備
DCLONG time ; …メッセージ入力時刻
} ;
struct dc_mcf_evt1_type {
struct dc_mcf_evtheader evtheader ; …MCFイベント情報共通ヘッダ
char reserve01[12] ; …予備
char reserve02[10] ; …予備
char reserve03[2] ; …予備
char ap_name[10] ; …アプリケーション名
char reserve04[2] ; …予備
};
struct dc_mcf_evt2_type {
struct dc_mcf_evtheader evtheader ; …MCFイベント情報共通ヘッダ
char reserve01[12] ; …予備
char reserve02[10] ; …予備
char reserve03[2] ; …予備
char ap_name[10] ; …アプリケーション名
short reason_code ; …理由コード
};
struct dc_mcf_evt3_type {
struct dc_mcf_evtheader evtheader ; …MCFイベント情報共通ヘッダ
char reserve01[12] ; …予備
char map_name[10] ; …MCFが使用
char reserve03[2] ; …予備
char ap_name[10] ; …アプリケーション名
char reserve04[2] ; …予備
char service_name[32] ; …サービス名
char serv_grp_name[32] ; …サービスグループ名
char bid[36] ; …トランザクションブランチID領域
};
struct dc_mcf_evta_type {
struct dc_mcf_evtheader evtheader ; …MCFイベント情報共通ヘッダ
char reserve01[12] ; …予備
char map_name[10] ; …MCFが使用
char reserve03[2] ; …予備
char ap_name[10] ; …アプリケーション名
char reserve04[2] ; …予備
char reserve05[32] ; …予備
char reserve06[32] ; …予備
DCLONG user_leng; …他プロトコルの場合に有効
char user_data[16] ; …他プロトコルの場合に有効
char reserve07[16] ; …予備
};
typedef struct {
struct dc_mcf_evtheader header ; …MCFイベント情報共通ヘッダ
DCLONG err_fact ; …障害要因コード
DCLONG err_reason1 ; …理由コード1
DCLONG err_reason2 ; …理由コード2
char reserve[4] ; …予備
char group_name[16] ; …コネクショングループ名
char reserve1[26] ; …予備
} dcmcsb_cerrevt ;
typedef struct {
struct dc_mcf_evtheader header ; …MCFイベント情報共通ヘッダ
DCLONG noti_fact ; …通知要因コード
char reserve[12] ; …予備
char group_name[16] ; …コネクショングループ名
char reserve1[26] ; …予備
} dcmcsb_statevt ;
typedef struct {
struct dc_mcf_evtheader header ; …MCFイベント情報共通ヘッダ
DCLONG del_reason ; …メッセージ廃棄理由コード
DCLONG xnf_errcode ; …コネクション障害理由コード
char reserve[8] ; …予備
char group_name[16] ; …コネクショングループ名
char reserve1[26] ; …予備
} dcmcsb_mdelevt ;