分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編
名称
形式
ANSI C,C++形式
#include <xatmi.h> int tpdiscon(int cd)
K&R版 Cの形式
#include <xatmi.h> int tpdiscon(cd) int cd;
機能
関数tpdiscon()は,記述子cdで示すコネクションをすぐに切断して,他端点のコネクションにTPEV_DISCONIMMのイベントを通知します。
関数tpdiscon()は,会話を始めた側(オリジネータ)からだけしか呼び出せません。会話型サービス内でこのサービスを呼び出した記述子では,tpdiscon()は呼び出せません。むしろ,会話型サービスは,会話の一方が完了したことを意味するためにtpreturn()を使わなければなりません。同様に,会話型サービスと会話しているプログラムはtpdiscon()を使えますが,結果を確実にするために望ましい方法は,サービスにtpreturn()でコネクションを終わらせてもらうことです。
関数tpdiscon()は,コネクションをすぐに切断します(正常終了ではなく異常終了として)。送信先に届いていないデータは捨てられます。コネクションの他端点のプログラムが,呼び出し側のトランザクションに参加していても,tpdiscon()は使えます。この場合,トランザクションはロールバックします。また,tpdiscon()が呼ばれたとき,呼び出し側は,コネクションの制御権を持っている必要はありません。
『引数』
『●cd
記述子を設定します。』
リターン値
エラー時には,tpdiscon()は-1をリターンして,tperrnoにエラーの状態を示す値を設定します。
エラー
次のような場合,tpdiscon()はエラーリターンして,次のうちどれか一つの値をtperrnoに設定します。
| リターン値 | リターン値(数値) | 意味 |
|---|---|---|
| TPEBADDESC | 2 | 引数cdが間違っているか,または,呼び出された会話型サービスの記述子です。 |
| TPEOS | 7 | オペレーティングシステムにエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。 |
| TPEPROTO | 9 | tpdiscon()が間違った状況で呼ばれました。 |
| TPESYSTEM | 12 | コミュニケーションリソースマネジャシステムでエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。 |
| TPETIME | 13 | タイムアウトが起こりました。この記述子は無効になります。 |
関連項目
tpconnect(),tprecv(),tpreturn(),tpsend()
『OpenTP1で使う場合の注意事項』
All Rights Reserved. Copyright (C) 2006, 2012, Hitachi, Ltd.