5.1.2 XATMIインタフェースの機能
XATMIインタフェースのアプリケーションプログラミングインタフェースと通信プロトコル別で使える機能について説明します。
(1) XATMIインタフェースのライブラリ関数
XATMIインタフェースのライブラリ関数の一覧を次の表に示します。
XATMIインタフェースの機能 |
ライブラリ関数名 |
||
---|---|---|---|
C言語ライブラリ |
COBOL言語ライブラリ |
||
リクエスト/レスポンス型サービスの通信 |
リクエスト/レスポンス型サービスの呼び出しと応答の受信 |
tpcall() |
TPCALL |
リクエスト/レスポンス型サービスの呼び出し |
tpacall() |
TPACALL |
|
リクエスト/レスポンス型サービスからの非同期応答の受信 |
tpgetrply() |
TPGETRPLY |
|
リクエスト/レスポンス型サービスのキャンセル |
tpcancel() |
TPCANCEL |
|
会話型サービスの 通信 |
会話型サービスとのコネクションの確立 |
tpconnect() |
TPCONNECT |
会話型サービスとのコネクションの切断 |
tpdiscon() |
TPDISCON |
|
会話型サービスからのメッセージの受信 |
tprecv() |
TPRECV |
|
会話型サービスへのメッセージの送信 |
tpsend() |
TPSEND |
|
通信データの型の操作 |
型付きバッファの割り当て |
tpalloc() |
− |
型付きバッファの解放 |
tpfree() |
− |
|
型付きバッファのサイズの変更 |
tprealloc() |
− |
|
型付きバッファの情報の取得 |
tptypes() |
− |
|
サービス名を動的に管理 |
サービス名の広告 |
tpadvertise() |
TPADVERTISE |
サービス名の広告の取り消し |
tpunadvertise() |
TPUNADVERTISE |
|
サーバで使う関数 |
サービス関数のテンプレート※ |
tpservice() |
− |
サービスルーチンの開始※ |
− |
TPSVCSTART |
|
サービス関数からのリターン |
tpreturn() |
TPRETURN |
- (凡例)
-
−:該当するAPIがないことを示します。
- 注※
-
C言語とCOBOL言語ではサービス開始を宣言する方法が異なるため,別のAPIとしています。tpservice()は,C言語のサービスの実体を示します。
XATMIインタフェースの関数とOpenTP1のUAPの関係を次の表に示します。
XATMIインタフェースの関数 |
SUP |
SPP |
MHP |
オフラインの業務をするUAP |
||||
---|---|---|---|---|---|---|---|---|
トランザクションの処理の範囲でない |
トランザクションの処理範囲(ルート) |
トランザクションの処理の範囲でない |
トランザクション範囲 |
トランザクションの処理の範囲でない |
トランザクションの処理範囲(ルート) |
|||
ルート |
ルート以外 |
|||||||
tpacall() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpadvertise() |
− |
− |
○※1 |
○※1 |
○※1 |
− |
− |
− |
tpalloc() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpcall() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpcancel() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpconnect() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpdiscon() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpgetrply() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpfree() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tprecv() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tprealloc() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpreturn() |
− |
− |
○※2 |
○※2 |
○※2 |
− |
− |
− |
tpsend() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpservice()※3 |
− |
− |
− |
− |
− |
− |
− |
− |
tptypes() |
○ |
○ |
○ |
○ |
○ |
− |
− |
− |
tpunadvertise() |
− |
− |
○※1 |
○※1 |
○※1 |
− |
− |
− |
- (凡例)
-
○:関数を呼び出せます。
−:関数を呼び出せません。
- 注
-
MHPの「トランザクション処理の範囲でない」とは,非トランザクション属性のMHP,またはMHPのメイン関数の範囲を示します。
- 注※1
-
サービス関数の中でだけ,呼び出せます。
- 注※2
-
XATMIインタフェースのサービス関数をリターンするためだけに使います。
- 注※3
-
tpservice()は,サービス関数の実体です。
(2) XATMIインタフェースの機能と通信プロトコルの関係
XATMIインタフェースの通信は,TCP/IP通信でもOSI TP通信でも使えます。ただし,通信プロトコルによって制限がある機能もあります。XATMIインタフェースの機能と通信プロトコルの関係を次の表に示します。
XATMIインタフェースの機能 |
通信プロトコル |
|
---|---|---|
TCP/IP |
OSI TP |
|
リクエスト/レスポンス型の通信 |
○ |
○ |
会話型サービスの通信 |
○ |
− |
型付きのデータ送信 |
○ |
○※ |
OpenTP1同士のクライアント/サーバ型通信 |
○ |
○ |
他TPモニタへのトランザクション拡張 |
− |
○ |
- (凡例)
-
○:該当する通信プロトコルで使えます。
−:該当する通信プロトコルでは使えません。
- 注※
-
OSI TPを使ってOpenTP1以外のシステムとクライアント/サーバ形態で通信する場合でも,通信データの型を変換して送信できます。指定する通信データの型については,「5.1.6 通信データの型」を参照してください。