mcftalcle(論理端末定義の開始)
形式
mcftalcle -l 論理端末名称 -p udp -t any 〔-i auto|manual〕 〔-v アプリケーション名〕 -g "sndbuf=メッセージ送信用バッファグループ番号 rcvbuf=メッセージ受信用バッファグループ番号" 〔-e "msgbuf=メッセージ編集用バッファグループ番号 count=メッセージ編集用バッファ数"〕 〔-s "〔syssndsize=システムのメッセージ送信バッファ長〕 〔sysrcvsize=システムのメッセージ受信バッファ長〕"〕 -r "〔ipaddr=自システムのIPアドレス〕 〔hostname=自システムのホスト名〕 portno=自システムのポート番号 〔reuse=yes|no〕" 〔-m "〔multicast=yes|no〕 〔hostgroupname=参加するホストグループのホスト名〕 〔hostgroupaddr=参加するホストグループのIPアドレス〕 〔ripaddr=自システムのIPアドレス〕 〔rhostname=自システムのホスト名〕 〔multicastttl=送信するマルチキャストパケットの生存期間(TTL)〕 〔mmsgcnt=メモリ出力メッセージ最大格納数〕 〔dmsgcnt=ディスク出力メッセージ最大格納数〕 〔shostname1=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname2=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname3=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname4=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname5=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname6=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname7=マルチキャスト送信元システムのホスト名またはIPアドレス〕 〔shostname8=マルチキャスト送信元システムのホスト名またはIPアドレス〕"〕 〔-k "〔quekind=memory|disk〕 〔quegrpid=キューグループID〕"〕 〔-o "〔aj=yes|no〕"〕 〔-f "〔rcvoverflow=error|continue〕"〕
機能
論理端末に関する環境を定義します。
オプション
●-i auto|manual 〜《manual》
OpenTP1システム開始時および再開始時に論理端末を自動的に閉塞解除するかどうかを指定します。
- auto
-
OpenTP1システム開始時および再開始時に論理端末を自動的に閉塞解除します。
- manual
-
MCF起動後,論理端末を閉塞解除します。論理端末の閉塞解除は,運用コマンド(mcftactle)の入力,またはAPI(dc_mcf_tactle関数もしくはCBLDCMCF('TACTLE△△'))の発行で行います。
●-v アプリケーション名 〜<1〜8文字の識別子>
入力メッセージを受信した場合に起動するアプリケーション名称(MHP)を指定します。MCFアプリケーション属性定義(mcfaalcap -nオプションのnameオペランド)で定義した名称を指定してください。MCFアプリケーション属性定義の詳細については,マニュアル「OpenTP1 システム定義」を参照してください。
このオプションを省略した場合,入力メッセージ編集UOCで指定した値,またはメッセージの先頭から空白の手前までの8バイト以内の値がアプリケーション名として仮定されます。アプリケーション名決定の優先順位については,「2.2.5 アプリケーション名の決定」を参照してください。
●-g
(オペランド)
●-e
(オペランド)
- msgbuf=メッセージ編集用バッファグループ番号 〜<符号なし整数>((1〜512))
-
入力,および出力メッセージ編集UOCで,メッセージ編集用として使用するバッファグループ番号を指定します。このオペランドを省略した場合,メッセージ編集用バッファは確保されません。
- count=メッセージ編集用バッファ数 〜<符号なし整数>((1〜131070))
-
入力,および出力メッセージ編集UOCで,メッセージ編集用として使用するバッファの数を指定します。
メッセージ編集用バッファグループ番号(msgbufオペランドで指定)に対応するmcftbufコマンドで指定するバッファ数(-gオプションのcountオペランドおよびextendオペランド)の中から,メッセージ編集用に使用するバッファ数を指定してください。2以上の値を指定しても,入力,および出力メッセージ編集UOCで使用できる編集バッファ数は一つだけです。
また,このcountオペランドで指定するメッセージ編集用バッファ数は,mcftbufコマンドで指定するバッファ数(-gオプションのcountオペランドおよびextendオペランド)の合計値を超える指定はできません。
msgbufオペランドを省略した場合,このオペランドの指定は無効です。
●-s
(オペランド)
- syssndsize=システムのメッセージ送信バッファ長 〜<符号なし整数>((1〜2147483647))(単位:バイト)
-
OSが提供するソケットオプション「SO_SNDBUF」(システムのメッセージ送信バッファ長)を指定します。
- sysrcvsize=システムのメッセージ受信バッファ長 〜<符号なし整数>((1〜2147483647))(単位:バイト)
-
OSが提供するソケットオプション「SO_RCVBUF」(システムのメッセージ受信バッファ長)を指定します。
syssndsizeオペランドおよびsysrcvsizeオペランドで指定できるバッファ長の範囲はOSに依存します。指定を省略すると,OSのデフォルト値が仮定されます。詳しくは,ご使用のOSのマニュアルで,UDPプロトコルについて説明している個所を参照してください。
なお,syssndsizeオペランドおよびsysrcvsizeオペランドの指定値を決定する際には,「2.1.4 AP間通信の注意事項」のメッセージ長に関する項目を参照してください。
●-r
(オペランド)
- ipaddr=自システムのIPアドレス 〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
-
自システムをホットスタンバイ構成とする場合,または,自システムがマルチホームドホスト形態(一つのマシン内に複数のIPアドレスが割り当てられている環境)の場合に,メッセージの送信に使用するIPアドレスを指定します。
ipaddrオペランドまたはhostnameオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合,使用するIPアドレスはOSが設定します。
メッセージ受信に使用する論理端末の場合,ipaddrオペランドを指定してはいけません。
- hostname=自システムのホスト名 〜<1〜255文字のホスト名>
-
自システムをホットスタンバイ構成とする場合,または,自システムがマルチホームドホスト形態の場合に,メッセージの送信に使用するホスト名を指定します。
hostnameオペランドまたはipaddrオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合,使用するIPアドレスはOSが設定します。
メッセージ受信に使用する論理端末の場合,hostnameオペランドを指定してはいけません。
- portno=自システムのポート番号 〜<符号なし整数>((1〜65535))
-
メッセージ送受信に使用する,自システムのポート番号を指定します。
portnoオペランドで指定するポート番号は,重複を避けるため次のポート番号とは異なる値を指定してください。
-
ほかのmcftalcleコマンドの-rオプションで指定するポート番号
-
OSが任意に割り当てるポート番号(動的ポートまたは短命ポートと呼ばれるポート番号)
OSが任意に割り当てる番号は,OSの種別やバージョンによって異なります。詳細については,ご使用のOSのマニュアルを参照してください。
-
- reuse=yes|no 〜《no》
-
OSが提供するソケットオプション「SO_REUSEPORT」または「SO_REUSEADDR」を使用して,複数のMCF通信プロセスで同一のポート番号を共用するかどうかを指定します。
- yes
-
複数のMCF通信プロセスでポート番号を共用します。
- no
-
複数のMCF通信プロセスでポート番号を共用しません。
●-m
(オペランド)
- multicast=yes|no 〜《no》
-
マルチキャストを使用したメッセージの送受信の有無を指定します。
- yes
-
マルチキャストを使用したメッセージの送受信を行います。
- no
-
マルチキャストを使用したメッセージの送受信を行いません。
- hostgroupname=参加するホストグループのホスト名 〜<1〜255文字のホスト名>
-
マルチキャストメッセージを受信する場合,参加するホストグループのホスト名を指定します。
hostgroupnameオペランドまたはhostgroupaddrオペランドのどちらか一方を必ず指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。
また,multicastオペランドにnoを指定した場合にhostgroupnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
- hostgroupaddr=参加するホストグループのIPアドレス 〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
-
マルチキャストメッセージを受信する場合,参加するホストグループのIPアドレスを指定します。
hostgroupaddrオペランドまたはhostgroupnameオペランドのどちらか一方を必ず指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。
また,multicastオペランドにnoを指定した場合にhostgroupnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
- ripaddr=自システムのIPアドレス 〜(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
-
自システムをホットスタンバイ構成とする場合,または,自システムがマルチホームドホスト形態の場合に,マルチキャストメッセージの受信に使用するIPアドレスを指定します。
ripaddrオペランドまたはrhostnameオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合,使用するIPアドレスはOSが設定します。
また,multicastオペランドにnoを指定した場合にripaddrオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
- rhostname=自システムのホスト名 〜<1〜255文字のホスト名>
-
自システムをホットスタンバイ構成とする場合,または,自システムがマルチホームドホスト形態の場合に,マルチキャストメッセージの受信に使用するホスト名を指定します。
rhostnameオペランドまたはripaddrオペランドのどちらか一方を指定してください。両方を指定した場合は,定義オブジェクトの生成時にエラーとなります。どちらも省略した場合,使用するIPアドレスはOSが設定します。
また,multicastオペランドにnoを指定した場合にrhostnameオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
- multicastttl=送信するマルチキャストパケットの生存期間(TTL) 〜<符号なし整数>((0〜255))
-
OSが提供するソケットオプション「IP_MULTICAST_TTL」を使用して,マルチキャストメッセージ送信時のマルチキャストパケットの生存期間(TTL)を指定します。このオペランドを省略した場合,TTLはOSが設定します。TTLのデフォルト値については,ご使用のOSのマニュアルを参照してください。
multicastオペランドにnoを指定した場合にmulticastttlオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
- mmsgcnt=メモリ出力メッセージ最大格納数 〜<符号なし整数>((0〜65535))《0》
-
メモリキューで待ち合わせる出力メッセージの最大格納数を指定します。
出力メッセージの待ち合わせ数が指定した最大数になると,それ以後UAPからの一方送信メッセージの送信要求(dc_mcf_send関数またはSEND文)はエラーリターン(リターン値DCMCFRTN_71003またはステータスコード71003)となります。
0を指定したか,または省略した場合,メモリキューで待ち合わせる出力メッセージの数は指定可能な最大数(65535)になります。ただし,実際に待ち合わせできる出力メッセージ数は動的共用メモリの容量に依存します。
- dmsgcnt=ディスク出力メッセージ最大格納数 〜<符号なし整数>((0〜65535))《0》
-
ディスクキューで待ち合わせる出力メッセージの最大格納数を指定します。
出力メッセージの待ち合わせ数が指定した最大数になると,それ以後UAPからの一方送信メッセージの送信要求(dc_mcf_send関数またはSEND文)はエラーリターン(リターン値DCMCFRTN_71003またはステータスコード71003)となります。
0を指定したか,または省略した場合,ディスクキューで待ち合わせする出力メッセージの数は指定可能な最大数(65535)になります。ただし,実際に待ち合わせできる出力メッセージ数はメッセージキューファイルの容量に依存します。
- shostname1〜shostname8=マルチキャスト送信元システムのホスト名またはIPアドレス 〜<1〜255文字のホスト名>または(nnn.nnn.nnn.nnn)<符号なし整数>((0〜255))
-
最大8個のマルチキャストメッセージ受信を許可する送信元システムのホスト名またはIPアドレスを指定します。
マルチキャストメッセージ受信を許可する送信元システムのホスト名またはIPアドレスはshostname1オペランドから順番に指定する必要があります。
multicastオペランドにnoを指定した場合にこのオペランドを指定すると,定義オブジェクトの生成時にエラーとなります。
hostgroupnameオペランドまたはhostgroupaddrオペランドのどちらも省略した場合は,このオペランドは無効となります。
●-k
(オペランド)
- quekind=memory|disk 〜《memory》
-
出力メッセージの割り当て先(メモリキューまたはディスクキュー)を指定します。
- memory
-
メモリキューだけに割り当てます。
- disk
-
ディスクキューおよびメモリキューに割り当てます。
diskを指定した場合,必ずquegrpidオペランドを指定してください。
- quegrpid=キューグループID 〜<1〜8文字の識別子>
-
ディスクキューで待ち合わせする出力メッセージに使用するキューグループIDを指定します。
MCFマネジャ定義のmcfmqgidコマンドで指定するキューグループID(キュー種別はotq)のどれかを指定してください。
このオペランドは,quekindオペランドでdiskを指定した場合だけ指定します。
●-o
(オペランド)
- aj=yes|no 〜《yes》
-
メッセージ送信が完了した場合に,メッセージ送信完了ジャーナル(AJ)を取得するかどうかを指定します。ただし,sendsync関数で送信したメッセージは,このオペランドの指定内容に関係なく,メッセージ送信完了ジャーナルを取得しません。
- yes
-
メッセージ送信完了ジャーナルを取得します。
- no
-
メッセージ送信完了ジャーナルを取得しません。
●-f
(オペランド)
- rcvoverflow=error|continue 〜《error》
-
相手システムからのメッセージ受信時に,入力メッセージ最大格納数(アプリケーション属性定義(mcfaalcap -n)のmsgcntオペランド指定値)を超過した場合,および,受信バッファ数(バッファグループ定義(mcftbuf -g)のcountオペランド指定値)が不足した場合の処理を指定します。
- error
-
入力メッセージ最大格納数を超過した場合,および,受信バッファ数が不足した場合,障害として扱い,論理端末を閉塞します。
- continue
-
入力メッセージ最大格納数を超過した場合,および,受信バッファ数が不足した場合,正常として扱い,処理を続行します。
注意事項
-gオプション,および-eオプションで指定するバッファグループ番号は,バッファグループ定義のmcftbufコマンドに対応しています。mcftbufコマンドでは,1論理端末単位に次の表に示す資源が必要です。バッファグループ定義については,マニュアル「OpenTP1 システム定義」を参照してください。
バッファ種別 |
lengthオペランド |
countオペランド |
---|---|---|
sndbuf |
最大送信長+TP1/NET/UDP制御ヘッダ長(24バイト)以上 |
1以上 |
rcvbuf |
最大受信メッセージ長以上 |
相手システムから連続して送られてくるメッセージ数※ |
msgbuf |
sndbufとrcvbufのどちらか大きい方の値 |
sndbufと同じ |
- 注※
-
受信バッファの面積は,システムのトラフィック量に応じて,受信バッファ不足が発生しないよう見積もってください。