分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編
MCFイベント情報は,構造体でMCFイベント処理用MHPに渡されます。MHPに渡される構造体の形式は,MCFイベントの種類によって異なります。ただし,MCFイベント情報の先頭部分の形式は,各イベントに共通です。
エラーイベント(ERREVTn)で使用する構造体は<dcmcf.h>で定義してあります。Cイベント(CxxxEVT)で使用する構造体は<dcmnom.h>で定義してあります。<dcmcf.h>,<dcmnom.h>の順で取り込んでください。
各MCFイベントの共通ヘッダと,各イベントの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] ; … 予備 char reserve07[36] ; … 予備 } ;
コネクション障害または論理端末障害発生時に,相手システムから受信した障害報告の利用者データがある場合,CERREVTの第2セグメントに設定します。
typedef struct { … 障害通知イベント情報の形式 struct dc_mcf_evtheader header ; … MCFイベント情報共通ヘッダ DCLONG err_fact ; … 障害要因コード DCLONG err_reason1 ; … 理由コード1 DCLONG err_reason2 ; … 理由コード2 char reserve1[44] ; … 予備 } dcmnom_cerrevt ;
typedef struct { … 状態通知イベント情報の形式 struct dc_mcf_evtheader header ; … MCFイベント情報共通ヘッダ char reserve1[56] ; … 予備 } dcmnom_statevt ;
ありません。
All Rights Reserved. Copyright (C) 2009, Hitachi, Ltd.