受信する通信イベントの形式
アソシエーションの状態を示す通信イベントの形式について説明します。通信イベントを受信するときは,通信イベント処理用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
予備の領域です。