1.4.2 OpenTP1のライブラリ関数の一覧

<この項の構成>
(1) ライブラリ関数の一覧
(2) アプリケーションプログラムで使えるライブラリ関数

(1) ライブラリ関数の一覧

OpenTP1のライブラリ関数の一覧を表1-1~表1-5に示します。

表1-1 OpenTP1のライブラリ関数の一覧(OpenTP1の基本機能の関数)

機能ライブラリ関数名
C言語ライブラリCOBOL-UAP作成用プログラム
リモートプロシジャコールアプリケーションプログラムの開始

dc_rpc_open

CBLDCRPC('OPEN    ')

SPPのサービス開始

dc_rpc_mainloop

CBLDCRSV('MAINLOOP')

遠隔サービスの要求

dc_rpc_call

CBLDCRPC('CALL    ')

通信先を指定した遠隔サービスの呼び出し1

dc_rpc_call_to

処理結果の非同期受信

dc_rpc_poll_any_replies

CBLDCRPC('POLLANYR')

エラーが発生した非同期応答型RPC要求の記述子の取得

dc_rpc_get_error_descriptor

CBLDCRPC('GETERDES')

処理結果の受信の拒否

dc_rpc_discard_further_replies

CBLDCRPC('DISCARDF')

特定の処理結果の受信の拒否

dc_rpc_discard_specific_reply

CBLDCRPC('DISCARDS')

サービス関数のリトライ

dc_rpc_service_retry

CBLDCRPC('SVRETRY ')

サービス要求のスケジュールプライオリティの設定

dc_rpc_set_service_prio

CBLDCRPC('SETSVPRI')

サービス要求のスケジュールプライオリティの参照

dc_rpc_get_service_prio

CBLDCRPC('GETSVPRI')

サービスの応答待ち時間の参照

dc_rpc_get_watch_time

CBLDCRPC('GETWATCH')

サービスの応答待ち時間の更新

dc_rpc_set_watch_time

CBLDCRPC('SETWATCH')

クライアントUAPのノードアドレスの取得

dc_rpc_get_callers_address

CBLDCRPC('GETCLADR')

ゲートウェイのノードアドレスの取得

dc_rpc_get_gateway_address

CBLDCRPC('GETGWADR')

CUPへの一方通知

dc_rpc_cltsend

CBLDCRPC('CLTSEND ')

アプリケーションプログラムの終了

dc_rpc_close

CBLDCRPC('CLOSE   ')

リモートAPI機能rapリスナーとのコネクション確立

dc_rap_connect

CBLDCRAP('CONNECT ')
CBLDCRAP('CONNECTX')

rapリスナーとのコネクション解放

dc_rap_disconnect

CBLDCRAP('DISCNCT ')

トランザクション制御トランザクションの開始

dc_trn_begin

CBLDCTRN('BEGIN   ')

連鎖モードのコミット

dc_trn_chained_commit

CBLDCTRN('C-COMMIT')

連鎖モードのロールバック

dc_trn_chained_rollback

CBLDCTRN('C-ROLL  ')

非連鎖モードのコミット

dc_trn_unchained_commit

CBLDCTRN('U-COMMIT')

非連鎖モードのロールバック

dc_trn_unchained_rollback

CBLDCTRN('U-ROLL  ')

現在のトランザクションに関する情報の報告

dc_trn_info

CBLDCTRN('INFO    ')

リソースマネジャ接続先選択

dc_trn_rm_select

CBLDCTRN('RMSELECT')

システム運用の管理運用コマンドの実行

dc_adm_call_command

CBLDCADM('COMMAND ')

ユーザサーバの開始処理完了の報告

dc_adm_complete

CBLDCADM('COMPLETE')

ユーザサーバの状態の報告

dc_adm_status

CBLDCADM('STATUS  ')

監査ログの出力監査ログの出力

dc_log_audit_print

CBLDCADT('PRINT   ')

メッセージログの出力メッセージログの出力

dc_logprint

CBLDCLOG('PRINT   ')

ユーザジャーナルの取得ユーザジャーナルの取得

dc_jnl_ujput

CBLDCJNL('UJPUT   ')

ジャーナルデータの編集2jnlrput出力ファイルのクローズ

CBLDCJUP('CLOSERPT')

jnlrput出力ファイルのオープン

CBLDCJUP('OPENRPT ')

jnlrput出力ファイルからジャーナルデータの入力

CBLDCJUP('RDGETRPT')

性能検証用トレースユーザ固有の性能検証用トレースの取得

dc_prf_utrace_put

CBLDCPRF('PRFPUT  ')

性能検証用トレース取得通番の通知

dc_prf_get_trace_num

CBLDCPRF('PRFGETN ')

リアルタイム統計情報サービス任意区間でのリアルタイム統計情報の取得

dc_rts_utrace_put

CBLDCRTS('RTSPUT  ')

(凡例)
-:該当しません。
注※1
COBOL-UAP作成用プログラムは使えません。
注※2
ジャーナルデータの編集では,C言語のAPIは使えません。

表1-2 OpenTP1のライブラリ関数の一覧(TP1/Message Controlの関数)

機能ライブラリ関数名
C言語ライブラリCOBOL-UAP作成用プログラム
メッセージ送受信MCF環境のオープン

dc_mcf_open

CBLDCMCF('OPEN    ')

MHPのサービス開始

dc_mcf_mainloop

CBLDCMCF('MAINLOOP')

メッセージの受信

dc_mcf_receive

CBLDCMCF('RECEIVE ')

応答メッセージの送信

dc_mcf_reply

CBLDCMCF('REPLY   ')

メッセージの送信

dc_mcf_send

CBLDCMCF('SEND    ')

メッセージの再送

dc_mcf_resend

CBLDCMCF('RESEND  ')

同期型のメッセージ受信

dc_mcf_recvsync

CBLDCMCF('RECVSYNC')

同期型のメッセージ送信

dc_mcf_sendsync

CBLDCMCF('SENDSYNC')

同期型のメッセージ送受信

dc_mcf_sendrecv

CBLDCMCF('SENDRECV')

一時記憶データの受け取り

dc_mcf_tempget

CBLDCMCF('TEMPGET ')

一時記憶データの更新

dc_mcf_tempput

CBLDCMCF('TEMPPUT ')

継続問い合わせ応答の終了

dc_mcf_contend

CBLDCMCF('CONTEND ')

アプリケーションプログラムの起動

dc_mcf_execap

CBLDCMCF('EXECAP  ')

アプリケーション情報通知

dc_mcf_ap_info

CBLDCMCF('APINFO  ')

UOCアプリケーション情報通知

dc_mcf_ap_info_uoc

ユーザタイマ監視の設定

dc_mcf_timer_set

CBLDCMCF('TIMERSET')

ユーザタイマ監視の取り消し

dc_mcf_timer_cancel

CBLDCMCF('TIMERCAN')

MHPのコミット

dc_mcf_commit

CBLDCMCF('COMMIT  ')

MHPのロールバック

dc_mcf_rollback

CBLDCMCF('ROLLBACK')

MCF環境のクローズ

dc_mcf_close

CBLDCMCF('CLOSE   ')

MCF通信サービスの状態取得

dc_mcf_tlscom

CBLDCMCF('TLSCOM  ')

コネクションの状態取得

dc_mcf_tlscn

CBLDCMCF('TLSCN   ')

コネクションの確立

dc_mcf_tactcn

CBLDCMCF('TACTCN  ')

コネクションの解放

dc_mcf_tdctcn

CBLDCMCF('TDCTCN  ')

サーバ型コネクションの確立要求の受付状態取得

dc_mcf_tlsln

CBLDCMCF('TLSLN   ')

サーバ型コネクションの確立要求の受付開始

dc_mcf_tonln

CBLDCMCF('TONLN   ')

サーバ型コネクションの確立要求の受付終了

dc_mcf_tofln

CBLDCMCF('TOFLN   ')

アプリケーションに関するタイマ起動要求の削除

dc_mcf_adltap

CBLDCMCF('ADLTAP  ')

論理端末の状態取得

dc_mcf_tlsle

CBLDCMCF('TLSLE   ')

論理端末の閉塞

dc_mcf_tdctle

CBLDCMCF('TDCTLE  ')

論理端末の閉塞解除

dc_mcf_tactle

CBLDCMCF('TACTLE  ')

論理端末の出力キュー削除

dc_mcf_tdlqle

CBLDCMCF('TDLQLE  ')

(凡例)
-:該当しません。

表1-3 OpenTP1のライブラリ関数の一覧(ユーザデータを操作する関数)

機能ライブラリ関数名
C言語ライブラリCOBOL-UAP作成用プログラム
DAMファイルサービス論理ファイルのオープン

dc_dam_open

CBLDCDAM('DCDAMSVC','OPEN')

論理ファイルからブロックの入力

dc_dam_read

CBLDCDAM('DCDAMSVC','READ')

論理ファイルのブロックの更新

dc_dam_rewrite

CBLDCDAM('DCDAMSVC','REWT')

論理ファイルへブロックの出力

dc_dam_write

CBLDCDAM('DCDAMSVC','WRIT')

論理ファイルのクローズ

dc_dam_close

CBLDCDAM('DCDAMSVC','CLOS')

論理ファイルの閉塞

dc_dam_hold

CBLDCDAM('DCDAMSVC','HOLD')

論理ファイルの閉塞の解除

dc_dam_release

CBLDCDAM('DCDAMSVC','RLES')

論理ファイルの状態の参照

dc_dam_status

CBLDCDAM('DCDAMSVC','STAT')

回復対象外DAMファイル使用の開始

dc_dam_start

CBLDCDAM('DCDAMSVC','STRT')

回復対象外DAMファイル使用の終了

dc_dam_end

CBLDCDAM('DCDAMSVC','END ')

物理ファイルの割り当て

dc_dam_create

CBLDCDMB('DCDAMINT','CRAT')

物理ファイルのオープン

dc_dam_iopen

CBLDCDMB('DCDAMINT','OPEN')

物理ファイルからブロックの入力

dc_dam_get

CBLDCDMB('DCDAMINT','GET ')

物理ファイルへブロックの出力

dc_dam_put

CBLDCDMB('DCDAMINT','PUT ')

物理ファイルのブロックの検索

dc_dam_bseek

CBLDCDMB('DCDAMINT','BSEK')

物理ファイルからブロックの直接入力

dc_dam_dget

CBLDCDMB('DCDAMINT','DGET')

物理ファイルへブロックの直接出力

dc_dam_dput

CBLDCDMB('DCDAMINT','DPUT')

物理ファイルのクローズ

dc_dam_iclose

CBLDCDMB('DCDAMINT','CLOS')

TAMファイルサービスTAMテーブルのオープン

dc_tam_open

TAMテーブルからレコードの入力

dc_tam_read

CBLDCTAM('FxxR')('FxxU')('VxxR')('VxxU')

TAMテーブルのレコード入力を前提の更新

dc_tam_rewrite

CBLDCTAM('MFY ')('MFYS')('STR ')('WFY ') ('WFYS')('YTR ')

TAMテーブルのレコードの更新/追加

dc_tam_write

TAMテーブルのレコードの削除

dc_tam_delete

CBLDCTAM('ERS ')('ERSR')('BRS ')('BRSR')

TAMテーブルのレコードの入力取り消し

dc_tam_read_cancel

TAMテーブルの状態の取得

dc_tam_get_inf

CBLDCTAM('GST ')

TAMテーブルの情報の取得

dc_tam_status

CBLDCTAM('INFO')

TAMテーブルのクローズ

dc_tam_close

ISTサービスISTテーブルのオープン

dc_ist_open

CBLDCIST('DCISTSVC','OPEN')

ISTテーブルからレコードの入力

dc_ist_read

CBLDCIST('DCISTSVC','READ')

ISTテーブルへレコードの出力

dc_ist_write

CBLDCIST('DCISTSVC','WRIT')

ISTテーブルのクローズ

dc_ist_close

CBLDCIST('DCISTSVC','CLOS')

資源の排他制御資源の排他

dc_lck_get

CBLDCLCK('GET     ')

全資源の排他の解除

dc_lck_release_all

CBLDCLCK('RELALL  ')

資源名称を指定した排他の解除

dc_lck_release_byname

CBLDCLCK('RELNAME ')

(凡例)
-:該当しません。
注※
COBOL-UAP作成用プログラムは使えません。

表1-4 OpenTP1のライブラリ関数の一覧(X/Openに準拠した関数)

機能ライブラリ関数名
C言語ライブラリCOBOL-UAP作成用プログラム
XATMIインタフェースリクエスト/レスポンス型サービスの呼び出しと応答の受信

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

TXインタフェーストランザクションの開始

tx_begin()

TXBEGIN

トランザクションのコミット

tx_commit()

TXCOMMIT

現在のトランザクションに関する情報の返却

tx_info()

TXINFORM

リソースマネジャ集合のオープン

tx_open()

TXOPEN

トランザクションのロールバック

tx_rollback()

TXROLLBACK

リソースマネジャ集合のクローズ

tx_close()

TXCLOSE

commit_return特性の設定

tx_set_commit_return()

TXSETCOMMITRET

transaction_control特性の設定

tx_set_transaction_control()

TXSETTRANCTL

transaction_timeout特性の設定

tx_set_transaction_timeout()

TXSETTIMEOUT

(凡例)
-:この機能に該当するXATMIインタフェースのCOBOLのAPIはありません。

表1-5 OpenTP1のライブラリ関数の一覧(特殊な形態で使う関数)

機能ライブラリ関数名
C言語ライブラリCOBOL-UAP作成用プログラム
マルチノード機能OpenTP1ノードのステータス取得の開始

dc_adm_get_nd_status_begin

OpenTP1ノードのステータスの取得

dc_adm_get_nd_status_next

指定したOpenTP1ノードのステータスの取得

dc_adm_get_nd_status

OpenTP1ノードのステータス取得の終了

dc_adm_get_nd_status_done

ノード識別子の取得の開始

dc_adm_get_nodeconf_begin

ノード識別子の取得

dc_adm_get_nodeconf_next

ノード識別子の取得の終了

dc_adm_get_nodeconf_done

指定したノード識別子の取得

dc_adm_get_node_id

ユーザサーバのステータス取得の開始

dc_adm_get_sv_status_begin

ユーザサーバのステータスの取得

dc_adm_get_sv_status_next

指定したユーザサーバのステータスの取得

dc_adm_get_sv_status

ユーザサーバのステータス取得の終了

dc_adm_get_sv_status_done

オンラインテスタの管理ユーザサーバのテスト状態の報告

dc_uto_test_status

CBLDCUTO('T-STATUS')

(凡例)
-:該当しません。
注※
マルチノード機能では,COBOL-UAP作成用プログラムは使えません。

(2) アプリケーションプログラムで使えるライブラリ関数

OpenTP1のUAPで使えるライブラリ関数を表1-6~表1-10に示します。ここでは,SUPSPPMHP,およびオフラインの業務をするUAPについて示します。

表1-6 UAPで使えるライブラリ関数(OpenTP1の基本機能の関数)

OpenTP1のライブラリ関数名SUPSPPMHPオフラインの業務をするUAP
トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)トランザクションの処理の範囲でないトランザクション範囲トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)
ルートルート以外
dc_rpc_openMM
dc_rpc_mainloopM
dc_rpc_call
dc_rpc_call_to
dc_rpc_poll_any_replies
dc_rpc_get_error_descriptor
dc_rpc_discard_further_replies
dc_rpc_discard_specific_reply
dc_rpc_service_retry
dc_rpc_set_service_prio
dc_rpc_get_service_prio
dc_rpc_get_watch_time
dc_rpc_set_watch_time
dc_rpc_get_callers_address
dc_rpc_get_gateway_address
dc_rpc_cltsend
dc_rpc_closeMM
dc_rap_connect
dc_rap_disconnect
dc_trn_beginM
dc_trn_chained_commit
dc_trn_chained_rollback
dc_trn_unchained_commitM
dc_trn_unchained_rollbackM
dc_trn_info
dc_trn_rm_select
dc_adm_call_command
dc_adm_complete
dc_adm_status
dc_log_audit_print
dc_logprint
dc_jnl_ujput
CBLDCJUP('CLOSERPT')
CBLDCJUP('OPENRPT ')
CBLDCJUP('RDGETRPT')
dc_prf_utrace_put
dc_prf_get_trace_num
dc_rts_utrace_put
(凡例)
○:該当する条件で使えます。
M:メイン関数からだけ,関数を使えます。
-:該当する条件では使えません。
MHPの「トランザクション処理の範囲でない」とは,非トランザクション属性のMHP,またはMHPのメイン関数の範囲を示します。
注※
この関数を使うUAPは,トランザクションとして実行する指定をしてください。
・TP1/Server Baseの場合:ユーザサービス定義でatomic_updateオペランドにYを指定
・TP1/LiNKの場合:アプリケーションプログラムの環境を設定するときに,トランザクション機能を使う指定

表1-7 UAPで使えるライブラリ関数(TP1/Message Controlの関数)

OpenTP1のライブラリ関数名SUPSPPMHPオフラインの業務をするUAP
トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)トランザクションの処理の範囲でないトランザクション範囲トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)
ルートルート以外
dc_mcf_openMMM
dc_mcf_mainloopM
dc_mcf_receiveNO
dc_mcf_replyNO
dc_mcf_sendNO
dc_mcf_resend
dc_mcf_recvsync
dc_mcf_sendsync
dc_mcf_sendrecv
dc_mcf_tempgetNO
dc_mcf_tempputNO
dc_mcf_contendNO
dc_mcf_execapNO
dc_mcf_ap_infoNO
dc_mcf_ap_info_uocNO
dc_mcf_timer_set
dc_mcf_timer_cancel
dc_mcf_commit
dc_mcf_rollback
dc_mcf_closeMMM
dc_mcf_tlscom
dc_mcf_tlscn
dc_mcf_tactcn
dc_mcf_tdctcn
dc_mcf_tlsln
dc_mcf_tonln
dc_mcf_tofln
dc_mcf_adltap
dc_mcf_tlsle
dc_mcf_tdctle
dc_mcf_tactle
dc_mcf_tdlqle
(凡例)
○:該当する条件で使えます。
M:メイン関数からだけ,関数を使えます。
NO:非トランザクション属性のMHPのサービス関数の範囲でだけ,関数を使えます。
-:該当する条件では使えません。
MHPの「トランザクション処理の範囲でない」とは,非トランザクション属性のMHP,またはMHPのメイン関数の範囲を示します。

表1-8 UAPで使えるライブラリ関数(ユーザデータを操作する関数)

OpenTP1のライブラリ関数名SUPSPPMHPオフラインの業務をするUAP
トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)トランザクションの処理の範囲でないトランザクション範囲トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)
ルートルート以外
dc_dam_open
dc_dam_read
dc_dam_rewrite(○)(○)(○)
dc_dam_write(○)(○)(○)
dc_dam_close
dc_dam_hold
dc_dam_release
dc_dam_status
dc_dam_start
dc_dam_end
dc_dam_create
dc_dam_iopen
dc_dam_get
dc_dam_put
dc_dam_bseek
dc_dam_dget
dc_dam_dput
dc_dam_iclose
dc_tam_open
dc_tam_read
dc_tam_rewrite
dc_tam_write
dc_tam_delete
dc_tam_read_cancel
dc_tam_get_inf
dc_tam_status
dc_tam_close
dc_ist_open
dc_ist_read
dc_ist_write
dc_ist_close
dc_lck_get
dc_lck_release_all
dc_lck_release_byname
(凡例)
○:該当する条件で使えます。
(○):回復対象外のDAMファイルのときだけ使えます。
-:該当する条件では使えません。
MHPの「トランザクション処理の範囲でない」とは,非トランザクション属性のMHP,またはMHPのメイン関数の範囲を示します。
注※
この関数を使うUAPは,TP1/Server Baseの場合,トランザクション属性の指定(ユーザサービス定義でatomic_updateオペランドにYを指定)してください。ただし,回復対象外のDAMファイルへアクセスする場合はトランザクション処理を前提としません。
TP1/LiNKのUAPでは,これらの関数は使えません。

表1-9 UAPで使えるライブラリ関数(X/Openに準拠した関数)

OpenTP1のライブラリ関数名SUPSPPMHPオフラインの業務をするUAP
トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)トランザクションの処理の範囲でないトランザクション範囲トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)
ルートルート以外
tpcall
tpacall
tpgetrply
tpcancel
tpconnect
tpdiscon
tprecv
tpsend
tpalloc
tpfree
tprealloc
tptypes
tpadvertise111
tpunadvertise111
tpservice2
tpreturn333
tx_begin4
tx_commit
TX_CHAINED指定4
tx_commit
TX_UNCHAINED指定4
tx_info
tx_open
tx_rollback
TX_CHAINED指定4
tx_rollback
TX_UNCHAINED指定4
tx_close
tx_set_commit_return4
tx_set_transaction
_control4
tx_set_transaction
_timeout4
(凡例)
○:該当する条件で使えます。
-:該当する条件では使えません。
注※1
この関数は,サービス関数の中でだけ使えます。
注※2
tpserviceは,サービス関数の実体です。
注※3
この関数は,XATMIインタフェースのサービス関数をリターンするためだけに使います。
注※4
この関数を使うUAPは,トランザクションとして実行する指定をしてください。
・TP1/Server Baseの場合:ユーザサービス定義でatomic_updateオペランドにYを指定
・TP1/LiNKの場合:アプリケーションプログラムの環境を設定するときに,トランザクション機能を使う指定

表1-10 UAPで使えるライブラリ関数(特殊な形態で使う関数)

OpenTP1のライブラリ関数名SUPSPPMHPオフラインの業務をするUAP
トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)トランザクションの処理の範囲でないトランザクション範囲トランザクションの処理の範囲でないトランザクションの処理範囲(ルート)
ルートルート以外
dc_adm_get_nd_status
_begin
dc_adm_get_nd_status
_next
dc_adm_get_nd_status
dc_adm_get_nd_status
_done
dc_adm_get_nodeconf
_begin
dc_adm_get_nodeconf
_next
dc_adm_get_nodeconf
_done
dc_adm_get_node_id
dc_adm_get_sv_status
_begin
dc_adm_get_sv_status
_next
dc_adm_get_sv_status
dc_adm_get_sv_status
_done
dc_uto_test_status
(凡例)
○:該当する条件で使えます。
-:該当する条件では使えません。
注※
この関数を使うUAPがあるノードには,TP1/Multiが組み込まれていることが前提です。