Hitachi

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


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で使う場合の注意事項』

  1. 『該当バージョンのOpenTP1では,TPETIMEがtperrnoにリターンすることはありません。』

  2. 『TP1/NET/OSI-TP-Extendedを使ったOSI TP通信をする場合は,会話型サービスの通信はできません。OSI TP通信で会話型サービスの通信を使った場合,システムの動作は保証しません。』