2.3.3 論理端末の端末状態の閉塞と閉塞解除
ここでは,表示印刷サービスを管理する端末状態の閉塞と閉塞解除について説明します。
画面属性の論理端末の端末状態が閉塞されている場合は,論理端末画面は表示されません。また,プリンタ属性の論理端末の端末状態が閉塞されている場合は,送信メッセージはプリンタに出力されません。
TP1/NET/XMAP3は,閉塞されている表示印刷サービスへの送信メッセージをOpenTP1の出力キューに蓄えます。
- 〈この項の構成〉
(1) 端末状態の閉塞解除
端末状態は,次のどれかの方法で閉塞解除します。
-
コネクション確立時の自動閉塞解除
コネクションを確立するとき,TP1/NET/XMAP3が端末状態を閉塞解除します。
ユーザは,自動閉塞解除する論理端末をMCF通信構成定義で指定しておきます。
自動閉塞解除の指定がない論理端末は,コネクション確立時に端末状態が閉塞状態になります。
-
論理端末の閉塞解除コマンド(mcftactle)による閉塞解除
ユーザが運用コマンドで,論理端末の閉塞解除を指示します。TP1/NET/XMAP3は,閉塞解除を指示された論理端末の端末状態を閉塞解除します。この場合,論理端末に対応するコネクションが確立されている必要があります。
-
論理端末の閉塞解除API(dc_mcf_tactle関数)による閉塞解除
UAPからdc_mcf_tactle関数を発行して論理端末の閉塞解除を指示します。TP1/NET/XMAP3は,閉塞解除を指示された論理端末の端末状態を閉塞解除します。この場合,論理端末に対応するコネクションが確立されている必要があります。なお,APIで閉塞解除する場合は,論理端末のキュー状態もあわせて閉塞解除されます。
論理端末の閉塞解除処理は,該当する論理端末の属性が画面かプリンタかによって異なります。論理端末の属性は,コネクション定義(mcftalccn -S)のtypeオペランドで指定します。
(a) 画面属性の端末状態の閉塞解除処理
画面属性の端末状態の閉塞解除処理を,次の図に示します。
次に,図に示した流れの詳細について説明します。番号は,図中の番号と対応しています。
-
端末状態を,次のどれかによって閉塞解除します。
-
コネクション確立時の自動閉塞解除
-
運用コマンド(mcftactle)の入力
-
API(dc_mcf_tactle関数)の発行
-
-
論理端末画面を生成します。
-
論理端末定義(mcftalcle -p)でinitmapオペランドの指定がある場合,初期画面を表示します。
論理端末定義(mcftalcle -p)でinitmapオペランドの指定がない場合,状態通知イベント(VOPNEVT)で起動されるUAPからsend関数を呼び出して表示できます(reply関数は呼び出せません)。初期画面表示のsend関数を呼び出さないと論理端末画面は表示されないため注意してください。
-
UAPに状態通知イベント(VOPNEVT)を発行します。
(2) 端末状態の閉塞
端末状態は,次の場合に閉塞されます。
-
コネクション解放時
コネクションを解放するとき,TP1/NET/XMAP3は,それに対応するすべての端末状態を閉塞します。
-
論理端末の閉塞コマンド(mcftdctle)入力時
ユーザが運用コマンドで,端末状態の閉塞を指示します。TP1/NET/XMAP3は,指示された端末状態を閉塞します。
-
論理端末の閉塞API(dc_mcf_tdctle関数)発行時
UAPからdc_mcf_tdctle関数を発行して端末状態の閉塞を指示します。TP1/NET/XMAP3は,指示された端末状態を閉塞します。なお,APIで閉塞する場合は,論理端末のキュー状態もあわせて閉塞されます。
端末状態の閉塞処理は,該当する論理端末の属性が画面かプリンタかによって異なります。論理端末の属性は,コネクション定義(mcftalccn -S)のtypeオペランドで指定します。