Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


4.8.5 tpsend − 会話型サービスへのメッセージの送信

〈この項の構成〉

(1) 形式

(a) TP1/Client/Wの場合

#include <dcvxatmi.h>
int tpsend(DCLONG cd, char *data, DCLONG len,
           DCLONG flags,
           DCLONG *revent)

(b) TP1/Client/Pの場合

#include <dcvxatmi.h>
int tpsend(DCLONG cd, char CLTFAR *data, DCLONG len,
           DCLONG flags,
           DCLONG CLTFAR *revent)

(2) 機能

会話型サービスへデータを送信します。

tpsend関数は,コネクションの制御権を持つ側から発行できます。

(3) UAPで値を設定する引数

(4) リターン値

エラー時には,tpsend関数は-1をリターンし,リターン値としてエラー情報を示す次のどれか一つの値を,tperrnoに設定します。

リターン値

意味

TPEINVAL

引数に誤りがあります。

TPEBADDESC

cdで,誤った記述子を指定しています。

TPETIME

タイムアウトが発生しました。

  • 発行側がトランザクションモードの場合

    トランザクションタイムアウトが発生しました。トランザクションはロールバックされます。

    トランザクションタイムアウトが発生した場合は,トランザクションをロールバックするまでの間,新規のデータ送信,および未決着の応答に対して,TPETIMEが返されます。

  • トランザクションモード以外の場合

    TPNOBLOCKおよびTPNOTIMEがどちらも指定されていない状態で,ブロッキングタイムアウトが発生しました。

上記のどちらの場合も,*dataに指定した値は変更されません。

TPEEVENT

イベントが発生しました。リターン値はreventに返されます。

TPEBLOCK

TPNOBLOCKを指定したtprecv関数を呼び出したときに,ブロッキング状態になりました。

TPGOTSIG

シグナルは受信されましたが,TPSIGRSTRTを指定していません。

TPEPROTO

tpsend関数発行時の状態が適切ではありません。

TPESYSTEM

コミュニケーションリソースマネジャでエラーが発生しました。

TPEOS

オペレーティングシステムでエラーが発生しました。

(5) 注意事項