日本語 Compaq OpenVMS
DEC XTPU
リファレンス・マニュアル


前へ 次へ 目次 索引



USER

このルーチンを使用すれば,ユーザ・プログラムはDEC XTPU 編集セッションで制御を受け取ることができます(たとえば,エディタを一時的に終了し,計算を実行する場合などです)。

このユーザ作成ルーチンは,DEC XTPU の CALL_USER 組込みプロシージャによって呼び出されます。CALL_USER 組込みプロシージャはこのルーチンに2つのパラメータを渡します。次に,これらのパラメータは,アプリケーションの適切な部分に渡され,指定されているとおりに使用されます(たとえば,FORTRAN プログラムで計算オペランドとして使用することができます)。ランタイム・ライブラリが提供する文字列ルーチンを使って,ユーザ・アプリケーションはコールユーザ・ルーチンで stringout パラメータに値を格納し, stringout の値を CALL_USER 組込みプロシージャに戻します。


形式

USER integer, stringin, stringout


戻り値

OpenVMS 用法 条件値
データ型 符号なしロングワード
アクセス 書き込みのみ
受け渡し方 値による


ロングワードの条件値です。


引数

integer

OpenVMS 用法 符号なしロングワード
データ型 符号なしロングワード
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


CALL_USER 組込みプロシージャに渡される最初のパラメータです。これは入力専用パラメータであり,変更してはなりません。

stringin

OpenVMS 用法 文字列
データ型 文字列
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


CALL_USER 組込みプロシージャに渡される2番目のパラメータです。これは入力専用パラメータであり,変更してはなりません。

stringout

OpenVMS 用法 文字列
データ型 文字列
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


この文字列は,CALL_USER 組込みプロシージャの return value として使用されます。ユーザ・プログラムは,ランタイム・ライブラリが提供する文字列ルーチンから割り当てられた動的文字列をこのディスクリプタに格納しなければなりません。DEC XTPU エディタは,必要な場合,この文字列を解放します。


説明

『DEC Text Processing Utility Reference Manual』の CALL_USER 組込みプロシージャの説明には,コールユーザ・ルーチンを示した BASIC プログラムの実例が含まれているので参照してください。


INTEGER FUNCTION XTPU$CALLUSER  (x,y,z) 
    IMPLICIT NONE 
    INTEGER X 
    CHARACTER*(*) Y 
    STRUCTURE /dynamic/ Z 
              INTEGER*2 length 
              BYTE    dtype 
              BYTE    class 
              INTEGER ptr 
    END STRUCTURE 
    RECORD /dynamic/ Z 
    CHARACTER*80 local_copy 
    INTEGER rs,lclen 
    INTEGER STR$COPY_DX 
    local_copy = '<' // y // '>' 
    lclen = LEN (Y) + 2 
 
    RS = STR$COPY_DX(Z,local_copy(1:lclen)) 
    XTPU$CALLUSER = RS 
    END 

この FORTRAN プログラムをDEC XTPU プロシージャとしてコールすることができます。以下はそのようなプロシージャの例の1つです:


               PROCEDURE MY_CALL 
                    local status; 
                    status := CALL_USER (0,'ABCD'); 
                    MESSAGE('"' + status + '"'); 
               ENDPROCEDURE 


XTPU$CLEANUP

内部データ構造をクリーンアップし,メモリを解放し,ターミナルを初期状態に戻します。これは最後にコールされるルーチンです。

形式

XTPU$CLEANUP flags


戻り値

OpenVMS 用法 条件値
データ型 符号なしロングワード
アクセス 書き込みのみ
受け渡し方 値による


ロングワードの条件値です。ユーティリティ・ルーチンはすべて,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値については,"戻される条件値" にまとめられています。


引数

flags

OpenVMS 用法 ロングワード・マスク
データ型 符号なしロングワード
アクセス 読み取りのみ
受け渡し方 参照による


クリーンアップ・オプションを定義するフラグ(あるいはマスク)です。 flags 引数は,クリーンアップ・オプションを定義するロングワード・ビット・マスクのアドレス,または32ビット・マスクのアドレスです。このマスクは,セットしたいフラグ・ビットの論理和(OR)です。XTPU$V... はビット・アイテムを示し, XTPU$M... はマスクを示します。クリーンアップ・オプションは 表 6-1 に示されているとおりです。

表 6-1 クリーンアップ・オプション
シンボル1 機能
XTPU$M_CLOSE_KANJI_DIC かな漢字変換辞書をオープンしていた場合,かな漢字変換辞書をクローズします。
XTPU$M_CLOSE_KANJI_DIC かな漢字変換辞書をオープンしていた場合,かな漢字変換辞書をクローズします。
XTPU$M_CLOSE_SECTION 2 セクション・ファイルをクローズし,関連するメモリを解放します。バッファ,ウィンドウ,およびプロセスがすべて削除されます。キャッシュは整理され,初期化ファイルと初期化プロシージャの再実行のためのフラグがセットされます。セクションがクローズされ,しかもオプション・ビットが SECTION 修飾子の存在を示している場合には,次に XTPU$INITIALIZE をコールすると,新しいセクション・ファイルが読み込まれます。
XTPU$M_DELETE_BUFFERS すべてのテキスト・バッファを削除します。このあともDEC XTPU をコールする場合には,これらのデータ構造を参照する変数はすべて,DELETE 組込みプロシージャの場合と同様にリセットされます。バッファが削除される場合には,そのバッファに含まれるレンジとマーカ,およびそのバッファを使用するサブプロセスもすべて削除されます。
XTPU$M_DELETE_CACHE 仮想ファイル・マネージャのデータ構造とキャッシュを削除します。この削除が要求された場合には,バッファもすべて削除されます。キャッシュが削除される場合には,次にコールされるときに,初期化ルーチンは仮想ファイル・マネージャを再初期化しなければなりません。
XTPU$M_DELETE_CONTEXT DEC XTPU のコンテキスト全体を削除します。このオプションが指定されている場合には,初期化ファイルと初期化プロシージャの実行のためのオプションを除き,他のオプションもすべて指定されているものと解釈されます。
XTPU$M_DELETE_EXITH DEC XTPU の終了ハンドラを削除します。
XTPU$M_DELETE_JOURNAL ジャーナル・ファイルがオープンされている場合には,そのファイルをクローズし,削除します。
XTPU$M_DELETE_OTHERS 前もって割り当てられているすべてのデータ構造を削除します。これらのデータ構造のために使用されていたメモリは,次に XTPU$INITIALIZE をコールするときに再割り当てされます。
XTPU$M_DELETE_WINDOWS すべてのウィンドウを削除します。このあとも DEC XTPU をコールする場合には,これらのデータ構造を参照する変数はすべて, DELETE 組込みプロシージャの場合と同様にリセットされます。
XTPU$M_EXECUTE_FILE XTPU$EXECUTE_INIFILE をもう一度コールしたときに,コマンド・ファイルを再実行します。コマンド・ファイルに新しいファイル名を指定したい場合には,このビットをセットしなければなりません。このオプションは /COMMAND 修飾子の存在を示すために,XTPU$INITIALIZE に渡されるオプション・ビットといっしょに使用します。
XTPU$M_EXECUTE_PROC XTPU$INIT_PROCEDURE を検索し,
XTPU$EXECUTE_INIFILE が次にコールされたときに,XTPU$INIT_PROCEDURE を実行します。
XTPU$M_KILL_PROCESSES セッションで生成されたすべてのサブプロセスを削除します。
XTPU$M_LAST_TIME このビットは,DEC XTPU を最後にコールする場合にだけセットしなければなりません。このビットをセットしたのに,そのあとで DEC XTPU をコールした場合には,結果は予測できないものとなります。
XTPU$M_PRUNE_CACHE バッファにページが割り当てられていない仮想ファイル・マネージャ・キャッシュをすべて解放します。このオプションは,セッションで作成されたあと,現在は不要になったキャッシュを解放します。
XTPU$M_RESET_TERMINAL DEC XTPU を起動したときの状態にターミナルをリセットします。ターミナル・メールボックスとウィンドウもすべて削除されます。ターミナルがリセットされた場合には,次に XTPU$INITIALIZE をコールするときに,ターミナルは再初期化されます。


1プリフィックスは XTPU$M_ または XTPU$V_ です。 XTPU$M_ は,ビットがセットされるマスクが特定のフィールドに対応することを示しています。 XTPU$V_ はビット番号です。
2単純なコール可能インタフェースを使用する場合には, XTPU$CLOSE_SECTION はセットされません。この機能を使用すれば,XTPU$XTPU を 2回以上呼び出すときに,コールする度にセクション・ファイルをオープン/クローズされません。


説明

クリーンアップ・ルーチンは,DEC XTPU を使用するときに,最後にコールしなければならないルーチンです。このルーチンは,内部データ構造をクリーンアップし,次の呼び出しのための準備をするように,DEC XTPU に指示を与えます。このルーチンが何をリセットするかは,上記のフラグをセットまたはクリアすることによって,制御することができます。

DEC XTPU の使用を終了する場合には,このルーチンをコールすることにより,メモリを解放し,ターミナルの設定を初期状態に戻しておかなければなりません。

XTPU$CLEANUP をコールしたあとすぐにユーザ・アプリケーションを終了する場合には,データ構造を削除しないでください。OpenVMS が自動的にデータ構造を削除します。 OpenVMS システムがデータ構造を削除することで,プログラムの性能は向上します。

注意

  1. 単純なインタフェースを使用する場合には,DEC XTPU は以下のフラグを自動的にセットします。

    • XTPU$V_DELETE_BUFFERS

    • XTPU$V_DELETE_EXITH

    • XTPU$V_DELETE_JOURNAL

    • XTPU$V_DELETE_WINDOWS

    • XTPU$V_EXECUTE_FILE

    • XTPU$V_EXECUTE_PROC

    • XTPU$V_KILL_PROCESSES

    • XTPU$V_PRUNE_CACHE

    • XTPU$V_RESET_TERMINAL

  2. このルーチンがサクセス・ステータスを戻さなかった場合には,再度エディタを呼び出さないようにしなければなりません。


戻される状件値

XTPU$_SUCCESS 正常終了したことを示します。


XTPU$CLIPARSE

コマンド・ラインを解析し,XTPU$INITIALIZE のためにアイテム・リストを作成します。

このルーチンは,CLI$DCL_PARSE をコールし,解析するコマンドとコマンド・テーブルを設定します。次に XTPU$PARSEINFO をコールし,XTPU$INITIALIZE のためにアイテム・リストを作成します。

ユーザのアプリケーションがDEC XTPU の動作に無関係の情報をコマンド・ラインから解析している時には,アプリケーションは XTPU$CLIPARSE を呼び出す前にすべての情報の解析を終っていなければなりません。XTPU$CLIPARSE は XTPU$CLIPARSE を呼びだす前に得たコマンド行の解析の情報を破壊します。


形式

XTPU$CLIPARSE string, fileio, call_user


戻り値

OpenVMS 用法 アイテム・リスト
データ型 符号なしロングワード
アクセス 読み取りのみ
受け渡し方 参照による


このルーチンはアイテム・リストのアドレスを返します。


引数

string

OpenVMS 用法 文字列
データ型 文字列
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


コマンド・ラインです。string 引数は,DEC XTPU コマンドのディスクリプタのアドレスです。

fileio

OpenVMS 用法 符号なしロングワード・ベクタ
データ型 バウンド・プロシージャ値
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


ファイル入出力ルーチンです。fileio 引数は,ファイル入出力ルーチンのデスクリプタのアドレスです。

call_user

OpenVMS 用法 符号なしロングワード・ベクタ
データ型 バウンド・プロシージャ値
アクセス 読み取りのみ
受け渡し方 ディスクリプタによる


コールユーザ・ルーチンです。call_user 引数は,コールユーザ・ルーチンのディスクリプタのアドレスです。


XTPU$CLOSE_TERMINAL

このルーチンはターミナルへのチャネルをクローズします。

形式

XTPU$CLOSE_TERMINAL


戻り値

OpenVMS 用法 条件値
データ型 符号なしロングワード
アクセス 書き込みのみ
受け渡し方 値による


ロングワードの条件値です。ユーティリティ・ルーチンのほとんどは,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値については, "戻される条件値"にまとめられています。


引数

なし

説明

このルーチンは CALL_USER 組込みプロシージャと対応するコールユーザ・ルーチンとともに用いて,DEC XTPU の端末へのアクセスを制御します。コールユーザ・ルーチンが XTPU$CLOSE_TERMINAL を呼ぶと,DEC XTPU は端末へのチャネルと,対応する DEC XTPU のメイル・ボックスをクローズします。

コールユーザ・ルーチンから制御が戻されると,DEC XTPU は自動的に端末へのチャネルを再オープンし,他のウィンドウで隠されていないウィンドウを再表示します。

コールユーザ・ルーチンは,そのプログラム中でいつでも XTPU$CLOSE_TERMINAL を使用することができます。また,必要に応じて何度でも使用することができます。 XTPU$CLOSE_TERMINAL を使用したときに,すでにターミナルがクローズされている場合は,そのコールは無視されます。


戻される状件値

XTPU$_SUCCESS 正常終了したことを示します。


XTPU$CONTROL

DEC XTPU エディタのメイン処理ルーチンです。このルーチンは,テキストとコマンドを読み取り,それを実行します。このルーチンをコールすると (XTPU$INITIALIZE をコールしたあと),制御はDEC XTPU に渡されます。

形式

XTPU$CONTROL [integer]


戻り値

OpenVMS 用法 条件値
データ型 符号なしロングワード
アクセス 書き込みのみ
受け渡し方 値による


ロングワードの条件値です。ユーティリティ・ルーチンはほとんど,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値は,"戻される条件値" にまとめられています。


引数

integer

OpenVMS 用法 整数
データ型 符号なしロングワード
アクセス 読み取りのみ
受け渡し方 参照による


呼び出しプログラムがDEC XTPU に制御を渡した時に,"Editing Session is not being journaled" というメッセージが表示されないようにします。将来のコンパティビリティを保つために,真(奇数)の整数を指定してください。引数を省略した場合,ジャーナリングされていないときには,DEC XTPU はメッセージを表示します。


説明

このルーチンは編集セッションを制御します。このルーチンは,テキストとコマンドを読み取り,それを実行します。実行された編集内容を示すように,スクリーン上のウィンドウが更新されます。 XTPU$SPECIFY_ASYN_ACTION ルーチンを XTPU$TRIGGER_ASYN_ACTION ルーチンとともに使って,DEC XTPU を中断しユーザ・プログラムがコントロールを取り戻すようにすることもできます。

注意

制御がユーザ・プログラムに戻されるのは,エラーが発生した場合,または QUIT 組込みプロシージャか EXIT 組込みプロシージャを実行したあとだけです。


戻される状件値

XTPU$_EXITING EXIT の結果として戻されます(省略時の条件ハンドラが設定されている場合)。
XTPU$_NONANSICRT 処理の中断の結果として戻されます。この条件値が戻されるのは,XTPU$_DISPLAYFILE を NODISPLAY に設定して DEC XTPU を呼び出し,スクリーン関係のコマンドを実行しようとしたときです。
XTPU$_QUITTING QUIT の結果として戻されます(省略時の条件ハンドラが設定されている場合)。
XTPU$_RECOVERFAIL 回復操作が異常終了したことを示します。


前へ 次へ 目次 索引