# 日本語 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 システムがデータ構造を削除することで，プログラムの性能は向上します。

> 注意 単純なインタフェースを使用する場合には，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 このルーチンがサクセス・ステータスを戻さなかった場合には，再度エディタを呼び出さないようにしなければなりません。

## 戻される状件値

> 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 | 回復操作が異常終了したことを示します。

前へ | 次へ | 目次 | 索引