MHPで使えるメッセージの通信形態を次に示します。使えるメッセージの通信形態は,通信プロトコル別で異なります。
メッセージの通信形態を次の図に示します。
図3-6 メッセージの通信形態
MHPとSPPで任意に使えるメッセージ通信機能を次に示します。
SPPからdc_mcf_send関数を呼び出す場合は,そのSPPの処理はトランザクションとして稼働していることが前提です。
メッセージ送受信機能を使うMHPは,使うメッセージの通信形態によってアプリケーションの型を指定しておきます。アプリケーションの型は,MCFアプリケーション定義アプリケーション属性定義(mcfaalcap)のtypeオペランドで指定します。アプリケーションの型には次の三つがあります。
dc_mcf_receive関数で受信したメッセージを,dc_mcf_send関数で入力元の論理端末に送信する形態も,noans型とします。
MHPには,メッセージを処理する形態に合ったアプリケーションの型を指定してください。
指定したアプリケーションの型とメッセージを処理する形態に矛盾がある場合は,メッセージ送受信の関数がエラーリターンするか,またはMHPの処理がロールバックされます。矛盾がある例を次に示します。
MCFイベント処理用MHPのアプリケーションの型は,通知されたMCFイベントによって決まります。MCFイベント処理用MHPのアプリケーションの型については,「3.10 MCFイベント」を参照してください。
アプリケーションの型と使えるメッセージ送受信関数を次の表に示します。
表3-9 アプリケーションの型と使えるメッセージ送受信関数
メッセージの形態 | アプリケーションの型 | メッセージを処理する関数 | ||||||
---|---|---|---|---|---|---|---|---|
receive | send | reply | sendrecv | recvsync | sendsync | tempput, tempget, contend | ||
問い合わせ応答形態 | ans型 | ◎ | ○ | ◎ | -※1 | -※1 | - | - |
非問い合わせ応答形態(一方受信形態) | noans型 | ◎※2 | ○ | ○※3 | -※1 ※4 | -※4 | -※4 | - |
継続問い合わせ応答形態 | cont型 | ◎ | ○ | ◎ | - | - | - | ○ |
通信プロトコル対応製品と通信形態別で使える関数の対応を,以降の表に示します。
表3-10 通信プロトコル対応製品と通信形態で使える関数1
関数名 | 通信プロトコル対応製品とアプリケーションの型 | ||||||||
---|---|---|---|---|---|---|---|---|---|
TP1/NET/User Agent | TP1/NET/OSI-TP | TP1/NET/TCP/IP | |||||||
noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | |
dc_mcf_commit | ○ | × | - | ○ | - | - | ○ | - | - |
dc_mcf_receive※ | ○ | ○ | - | ○ | - | - | ○ | - | - |
dc_mcf_execap | ○ | ○ | - | × | - | - | ○ | - | - |
dc_mcf_reply※ | × | ○ | - | × | - | - | × | - | - |
dc_mcf_rollback | ○ | ○ | - | ○ | - | - | ○ | - | - |
dc_mcf_send※ | ○ | ○ | - | × | - | - | ○ | - | - |
dc_mcf_resend※ | ○ | ○ | - | × | - | - | ○ | - | - |
dc_mcf_sendrecv※ | ○ | ○ | - | ○ | - | - | ○ | - | - |
dc_mcf_sendsync※ | × | × | - | ○ | - | - | ○ | - | - |
dc_mcf_recvsync※ | □ | □ | - | ○ | - | - | × | - | - |
dc_mcf_contend | × | × | - | × | - | - | × | - | - |
dc_mcf_tempget | × | × | - | × | - | - | × | - | - |
dc_mcf_tempput | × | × | - | × | - | - | × | - | - |
表3-11 通信プロトコル対応製品と通信形態で使える関数2
関数名 | 通信プロトコル対応製品とアプリケーションの型 | ||||||||
---|---|---|---|---|---|---|---|---|---|
TP1/NET/XMAP3 | TP1/NET/HNA-560/20 | TP1/NET/HNA-560/20 DTS | |||||||
noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | |
dc_mcf_commit | ○ | × | × | ○ | × | × | ○ | × | × |
dc_mcf_receive※ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
dc_mcf_execap | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
dc_mcf_reply※ | △ | ○ | ○ | × | ○ | ○ | × | ○ | ○ |
dc_mcf_rollback | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
dc_mcf_send※ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
dc_mcf_resend※ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
dc_mcf_sendrecv※ | × | × | × | × | × | × | × | × | × |
dc_mcf_sendsync※ | × | × | × | × | × | × | × | × | × |
dc_mcf_recvsync※ | × | × | × | × | × | × | × | × | × |
dc_mcf_contend | × | × | ○ | × | × | ○ | × | × | ○ |
dc_mcf_tempget | × | × | ○ | × | × | ○ | × | × | ○ |
dc_mcf_tempput | × | × | ○ | × | × | ○ | × | × | ○ |
表3-12 通信プロトコル対応製品と通信形態で使える関数3
関数名 | 通信プロトコル対応製品とアプリケーションの型 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
TP1/NET/OSAS-NIF | TP1/NET/HNA-NIF | TP1/NET/HSC(1) | TP1/NET/HSC(2) | |||||||||
noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | |
dc_mcf_commit | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_receive※ | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_execap | ○ | ○ | - | ○ | - | - | ○ | - | - | × | - | - |
dc_mcf_reply※ | × | ○ | - | × | - | - | × | - | - | × | - | - |
dc_mcf_rollback | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_send※ | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_resend※ | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_sendrecv※ | ○ | ○ | - | × | - | - | × | - | - | × | - | - |
dc_mcf_sendsync※ | × | × | - | × | - | - | × | - | - | ○ | - | - |
dc_mcf_recvsync※ | □ | □ | - | × | - | - | × | - | - | ○ | - | - |
dc_mcf_contend | × | × | - | × | - | - | × | - | - | × | - | - |
dc_mcf_tempget | × | × | - | × | - | - | × | - | - | × | - | - |
dc_mcf_tempput | × | × | - | × | - | - | × | - | - | × | - | - |
表3-13 通信プロトコル対応製品と通信形態で使える関数4
関数名 | 通信プロトコル対応製品とアプリケーションの型 | ||||||||
---|---|---|---|---|---|---|---|---|---|
TP1/NET/HDLC | TP1/NET/X25 | TP1/NET/X25-Extended | |||||||
noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | |
dc_mcf_commit | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_receive※ | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_execap | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_reply※ | × | - | - | × | - | - | × | - | - |
dc_mcf_rollback | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_send※ | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_resend※ | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_sendrecv※ | × | - | - | × | - | - | × | - | - |
dc_mcf_sendsync※ | × | - | - | × | - | - | × | - | - |
dc_mcf_recvsync※ | × | - | - | × | - | - | × | - | - |
dc_mcf_contend | × | - | - | × | - | - | × | - | - |
dc_mcf_tempget | × | - | - | × | - | - | × | - | - |
dc_mcf_tempput | × | - | - | × | - | - | × | - | - |
表3-14 通信プロトコル対応製品と通信形態で使える関数5
関数名 | 通信プロトコル対応製品とアプリケーションの型 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
TP1/NET/SLU - TypeP1 | TP1/NET/SLU - TypeP2 | TP1/NET/NCSB | TP1/NET/UDP | |||||||||
noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | noans型 | ans型 | cont型 | |
dc_mcf_commit | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_receive※ | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_execap | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_reply※ | × | ○ | - | × | - | - | × | - | - | × | - | - |
dc_mcf_rollback | ○ | ○ | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_send※ | ○ | × | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_resend※ | ○ | × | - | ○ | - | - | ○ | - | - | ○ | - | - |
dc_mcf_sendrecv※ | × | × | - | ○ | - | - | × | - | - | × | - | - |
dc_mcf_sendsync※ | × | × | - | × | - | - | × | - | - | ○ | - | - |
dc_mcf_recvsync※ | × | × | - | □ | - | - | × | - | - | × | - | - |
dc_mcf_contend | × | × | - | × | - | - | × | - | - | × | - | - |
dc_mcf_tempget | × | × | - | × | - | - | × | - | - | × | - | - |
dc_mcf_tempput | × | × | - | × | - | - | × | - | - | × | - | - |