tpdiscon
形式
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で使う場合の注意事項』
-
『該当バージョンのOpenTP1では,TPETIMEがtperrnoにリターンすることはありません。』
-
『TP1/NET/OSI-TP-Extendedを使ったOSI TP通信をする場合は,会話型サービスの通信はできません。OSI TP通信で会話型サービスの通信を使った場合,システムの動作は保証しません。』