Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


受信する通信イベントの形式

アソシエーションの状態を示す通信イベントの形式について説明します。通信イベントを受信するときは,通信イベント処理用SPPサービスグループ名とサービス名XATMI通信サービス定義に指定しておきます。このとき,どのオペランドにサービスグループ名とサービス名を指定するかで,受け取れる通信イベントが異なります。

xat_aso_con_event_svcnameオペランド

アソシエーションの確立通知の通信イベント

xat_aso_discon_event_svcnameオペランド

アソシエーションの正常解放の通信イベント

xat_aso_failure_event_svcnameオペランド

アソシエーションの異常解放の通信イベント

複数のオペランドに同じサービスグループ名とサービス名を指定すると,一つの通信イベント処理用SPPが複数の通信イベントを受信できるようになります。

通信イベントは,構造体で通知されます。通信イベントの構造体は,ヘッダファイル<dcxat.h>で定義してあります。通信イベント処理用SPPでは,#includeで<dcxat.h>をインクルードしてください。

struct dc_xat_event_type{
     int     event_code;       … 通信イベント識別コード
     char    aso_name[9];      … アソシエーション名
     char    reserve1[3];      … 予備領域1
     int     aso_initiative;   … アソシエーション発呼,着呼種別
     DCULONG reason_code;      … 理由コード
     char    xatc_svcname[9];  … XATMI通信サービス名
     char    reserve2[63];     … 予備領域2
};
〈このページの構成〉

引数の内容

●event_code

通信イベントを識別するコードが設定されます。( )内は該当するコードの数値表示(10進数)を示します。

DCXAT_ASO_CONNECT(00000001)

アソシエーションの確立

DCXAT_ASO_DISCONNECT(00000002)

アソシエーションの正常解放

DCXAT_ASO_FAILURE(00000003)

アソシエーションの異常解放

●aso_name

通信イベントで状態が通知されるアソシエーションの,アソシエーション名が設定されます。

●reserve1

予備の領域です。

●aso_initiative

確立したアソシエーションで,自システムが発呼となるか着呼となるかを示す値が設定されます。()内は該当するコードの数値表示(10進数)を示します。

DCXAT_ASO_INIT(00000001)

自システムが発呼側

DCXAT_ASO_RESP(00000002)

自システムが着呼側

●reason_code

アソシエーションが解放されたときの,理由コードが設定されます。( )内は該当するコードの数値表示(10進数)を示します。

アソシエーションの正常解放の場合は次の値のどれかが設定されます。

DCXAT_RSN_COMMAND(00000001)

コマンド実行によるアソシエーションの解放

DCXAT_RSN_XATMI(00000005)

XATMIによるアソシエーションの解放

DCXAT_RSN_REMOTE(00000007)

相手システムからのアソシエーションの正常解放

DCXAT_RSN_TP_NORMAL(00000008)

TP層によるアソシエーションの正常解放

アソシエーションの異常解放の場合は次の値のどれかが設定されます。

DCXAT_RSN_COMMAND(00000001)

コマンド実行によるアソシエーションの強制解放

DCXAT_RSN_LOWER(00000003)

下位層の障害(回線障害,通信管理の障害など)

DCXAT_RSN_OSITP(00000004)

TP1/NET/OSI-TP-Extendedの障害(プロトコルエラーなど)

DCXAT_RSN_XATMI(00000005)

XATMI通信サービスによるアソシエーションの強制解放

DCXAT_RSN_FAILURE(00000006)

アソシエーション確立の失敗

DCXAT_RSN_REMOTE(00000007)

相手システムからのアソシエーションの強制解放

●xatc_svcname

XATMI通信サービス名が設定されます。

●reserve2

予備の領域です。