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


前へ 次へ 目次 索引



XTPU$HANDLER

このルーチンはDEC XTPU の条件ハンドラです。DEC XTPU 条件ハンドラは, Put Message(SYS$PUTMSG) システム・サービスを呼び出し,そのシステム・サービスに XTPU$MESSAGE のアドレスを渡します。

形式

XTPU$HANDLER signal_vector, mechanism_vector


戻り値

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


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


引数

signal_vector

OpenVMS 用法 引数リスト
データ型 符号なしロングワード
アクセス 変更
受け渡し方 参照による


シグナル・ベクタです。条件ハンドラに渡されるシグナル・ベクタについての説明は,『OpenVMS System Services Reference Manual』を参照してください。

mechanism_vector

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


条件ハンドラに渡されるメカニズム・ベクタについての説明は,『OpenVMS System Services Reference Manual』を参照してください。


説明

XTPU$MESSAGE ルーチンは実際のメッセージ出力を実行します。 Put Message (SYS$PUTMSG) システム・サービスはメッセージをフォーマッティングするだけです。このルーチンは, 第 6.1.2 項 で説明した変数からメッセージ・フラグの設定と機能名を入手します。これらの値を変更できるのは,DEC XTPU の SET 組込みプロシージャだけです。

ハンドラが受け取った条件値に FATAL ステータスが含まれている場合や, DEC XTPU のファシリティ・コードが含まれていない場合には,条件が再通知されます。

条件が XTPU$_QUITTING,XTPU$_EXITING,またはXTPU$_RECOVERFAIL の場合には,条件ハンドラを設定したルーチンに対して,UNWIND 要求が与えられます。

メッセージを処理したあと,条件ハンドラは継続ステータスを戻します。 DEC XTPU エラー・メッセージ要求は,どのメッセージを出力しなければならないかを示す条件を通知することによって実行されます。シグナル・アレイに含まれる引数は,正しくフォーマッティングされたメッセージ引数ベクタです。このベクタには,関連するメッセージに対する複数の条件とフォーマッティングされた ASCII 出力(FAO) 引数が含まれていることがあります。たとえば,存在しないファイルをエデイタがオープンしようとした場合には,DEC XTPU のメッセージとして XTPU$_NOFILEACCESS が通知されます。このメッセージに対する FAO 引数は,ファイルの名前を示す文字列です。この条件にはエラー・ステータスが含まれており,そのあとに RMS のステータス・フィールド(STS)とステータス値フィールド (STV)が続きます。この条件には回復不可能な重大なエラーは含まれていないので,エラーを処理したあと,エディタは処理を継続できます。

エディタは XTPU$CONTROL から自動的に戻るわけではありません。したがって,XTPU$CONTROL ルーチンをコールする場合には,制御をエディタに戻すための方法を設定しておかなければなりません(たとえば,CALL_USER 組込みプロシージャを使用します)。また,ユーザ作成条件ハンドラを設定したものの,特定の条件に対してはDEC XTPU ハンドラをコールする場合には,プログラムの中で制御を戻したい場所に,省略時の条件ハンドラを設定しておかなければなりません。また,XTPU$SPECIFY_ASYN_ACTION および XTPU$TRIGGER_ASYNC_ACTION の非同期ルーチンを使って,XTPU$CONTROL を中断することもできます。

『OpenVMS Calling Standard』を参照してください。


XTPU$INITIALIZE

このルーチンは編集を行えるようにDEC XTPU を初期化します。このルーチンはグローバル・データ構造を割り当て,グローバル変数を初期化し,仮想ファイル・マネージャやスクリーン・マネージャ,入出カサブシステムも含めて,エディタの主要コンポーネントのそれぞれに対して,適切なセットアップ・ルーチンをコールします。

形式

XTPU$INITIALIZE callback [,user_arg]


戻り値

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


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


引数

callback

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


コールバック・ルーチンです。callback 引数は,初期化パラメータを含むアイテム・リストのアドレスを戻すユーザ作成ルーチンまたはファイル入出力操作を処理するルーチンのアドレスです。このコールバック・ルーチンは XTPU$CLIPARSE またはユーザ作成のパース・ルーチンのどちらかを呼び出さなければなりません。

コール可能なDEC XTPU は,初期化パラメータを指定するために使用できるアイテム・コードを定義しています。これらのコードを使用するときには,以下の基準に従ってください。

図 6-3 は,アイテムディスクリプタの一般的な形式を示しています。アイテム・リストの作成方法についての詳しい説明は,使用する各言語のプログラマ・マニュアルを参照してください。

図 6-3 アイテムディスクリプタのフォーマット


アイテムディスクリプタのリターン・アドレスは,通常0です。

使用できるアイテム・コードは 表 6-2 に示すとおりです。

表 6-2 使用できるアイテム・コード
アイテム・コード 説明
XTPU$_OPTIONS コマンド修飾子を使用可能にします。バッファ・アドレス・フィールドの14ビットは,いろいろな DEC XTPU コマンド修飾子に対応しています。バッファ・アドレス・フィールドの残りの18ビットは使用されません。
XTPU$_JOURNALFILE /JOURNAL 修飾子に指定されている文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスです。これは,GET_INFO (COMMAND_LINE,"JOURNAL_FILE") で使用できる文字列です。この文字列はヌル文字列でもかまいません。
XTPU$_SECTIONFILE マッピングされるバイナリ初期化ファイル(セクション・ファイル)の名前を示す文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスです。DEC XTPU の CLD ファイルには,この文字列の省略時の値が含まれています。 XTPU$V_SECTION ビットがセットされている場合には,このアイテム・コードを指定しなければなりません。
XTPU$_OUTPUTFILE /OUTPUT 修飾子に指定されている文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスを指定します。これは,GET_INFO (COMMAND_LINE,"OUTPUT_FILE") 組込みプロシージャから戻される文字列です。文字列はヌル文字列でもかまいません。
XTPU$_DISPLAYFILE /DISPLAY 修飾子に指定されている文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスを指定します。
XTPU$_COMMANDFILE /COMMAND 修飾子に指定されている文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスです。この文字列は,GET_INFO (COMMAND_LINE,"COMMAND_FILE") 組込みプロシージャから戻される文字列です。文字列はヌル文字列でもかまいません。
XTPU$_FILENAME コマンド・ラインに指定されている入力ファイルの名前を示す文字列を渡します。バッファ長フィールドはこの文字列の長さを指定し,バッファ・アドレス・フィールドはアドレスを指定します。これは, GET_INFO (COMMAND_LINE,"FILE_NAME") 組込みプロシージャから戻される文字列です。このファイル名はヌル文字列でもかまいません。
XTPU$_OTHER_FILENAMES コマンド・ラインに指定されている入力ファイルのうち一番目を除くものの名前を示す文字列を渡します。バッファ長フィールドはこの文字列の長さを指定し,バッファ・アドレス・フィールドはアドレスを指定します。 2番目以降の入力ファイルはそれぞれ XTPU$_OTHER_FILENAMES のエントリが必要です。これは,GET_INFO (COMMAND_LINE,"NEXT_FILE_NAME") 組込みプロシージャから戻される文字列です。
XTPU$_FILEIO ファイル操作を処理するために使用されるルーチンのバウンド・プロシージャ値を渡します。自分で作成したファイル入出力ルーチンを使用することができ,また,ファイル操作を処理するためにDEC XTPU が提供するユーティリティ・ルーチンである XTPU$FILEIO をコールすることもできます。ファイル入出力ルーチンのアドレスは,バッファ・アドレス・フィールドに指定します。
XTPU$_CALLUSER CALL_USER 組込みプロシージャがコールするユーザ作成ルーチンのバウンド・プロシージャ値を渡します。このルーチンのアドレスはバッファ・アドレス・フィールドに指定します。
XTPU$_INIT_FILE /INITIALIZATION 修飾子に指定されている文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスです。この文字列は,GET_INFO (COMMAND_LINE, "INIT_FILE") 組込みプロシージャから戻される文字列です。
XTPU$_KANJI_DICFILE /KANJI_DICTIONARY 修飾子に指定されている文字列を渡します。バッファ長フィールドはこの文字列の長さを指定し,バッファ・アドレス・フィールドはアドレスを指定します。これは,GET_INFO (COMMAND_LINE, "KANJI_DICTIONARY_FILE") 組込みプロシージャから戻される文字列です。
XTPU$_START_LINE その編集セッションの開始行番号を渡します。バッファ・アドレス・フィールドは /START_POSITION 修飾子で指定した2つの整数値の最初の値です。この値は GET_INFO (COMMAND_LINE,"LINE") 組込みプロシージャから戻される値です。通常,初期化プロシージャがこの情報を用いて,編集するバッファの先頭位置を設定します。バッファの先頭行は line 1 です。
XTPU$_START_CHAR その編集セッションの開始カラム位置を渡します。バッファ・アドレス・フィールドは /START_POSITION 修飾子で指定した2つの整数値の2番目の値です。この値は GET_INFO (COMMAND_LINE,"CHARACTER") 組込みプロシージャから戻される値です。通常,初期化プロシージャがこの情報を用いて,編集するバッファの先頭位置をを設定します。バッファの先頭カラムは character 1 です。
XTPU$_WORKFILE /WORK 修飾子で指定される文字列を渡します。バッファ長フィールドはこの文字列の長さを指定し,バッファ・アドレス・フィールドはアドレスを指定します。これは,GET_INFO (COMMAND_LINE, "WORK_FILE") 組込みプロシージャから戻される文字列です。
XTPU$_CHAIN バッファ・アドレス・フィールドに次のアイテム・リストのアドレスを指定します。
XTPU$_ENDLIST アイテム・リストの最後を示します。
XTPU$_CTRL_C_ROUTINE Ctrl/C ASTを処理するためのルーチンのバウンド・プロシージャ値を渡します。DEC XTPU は Ctrl/C AST が発生すると,そのルーチンを呼び出します。そのルーチンが FALSE 値を返すと,DEC XTPU は Ctrl/C が処理されたものと仮定します。TRUE 値が返されると, DEC XTPU は現在実行しているDEC XTPU プロシージャの実行を強制終了させます。バッファ・アドレス・フィールドは,2つのロングワード・ベクタのアドレスを指定しています。最初のロングワードはルーチンのアドレスであり,2番目のロングワードはそのルーチンを呼ぶ前に R1 にDEC XTPU がロードする環境値です。
XTPU$_DEBUGFILE /DEBUG 修飾子で指定された文字列を渡します。バッファ長フィールドは文字列の長さであり,バッファ・アドレス・フィールドは文字列のアドレスです。

表 6-3 は,XTPU$K_OPTIONS アイテム・コードによって与えられるビットと対応するマスクをまとめたものです。

表 6-3 XTPU$OPTIONS アイテム・コードによって与えられるビットと対応するマスク
マスク フラグ 機能
XTPU$M_RECOVER 1 XTPU$V_RECOVER 2 回復操作を実行します。
XTPU$M_JOURNAL XTPU$V_JOURNAL 編集セッションをジャーナルします。
XTPU$M_READ XTPU$V_READ メイン・バッファに対しては READ_ONLY 編集セッションとします。
XTPU$M_SECTION XTPU$V_SECTION 起動時にバイナリ初期化ファイル( DEC XTPU セクション・ファイル)にマッピングします。
XTPU$M_CREATE XTPU$V_CREATE 指定した入力ファイルが存在しない場合,入力ファイルを作成します。
XTPU$M_OUTPUT XTPU$V_OUTPUT セッションを終了するときに,変更された入力ファイルを書き出します。
XTPU$M_COMMAND XTPU$V_COMMAND 起動時にコマンド・ファイルを実行します。
XTPU$M_DISPLAY XTPU$V_DISPLAY スクリーンを使用する編集と表示のために,ターミナルを使用します。
XTPU$M_INIT XTPU$V_INIT イニシャライゼーション・ファイルがあります。
XTPU$M_COMMAND
_DFLTED
XTPU$V_COMMAND
_DFLTED
コマンド・ラインのユーザが指定した省略値の名前があるかどうかを指示します。これが TRUE である場合には,ユーザがコマンド・ファイルを指定しなかったことを意味します。このビットが FALSE にセットされていて,かつファイルが指定されていなかったら,XTPU$INITIALIZE は失敗します。
XTPU$M_WRITE XTPU$V_WRITE /WRITE がコマンド・ラインで指定されたかどうかを示します。
XTPU$M_MODIFY XTPU$V_MODIFY /MODIFY がコマンド・ラインで指定されたかどうかを示します。
XTPU$M_NOMODIFY XTPU$V_NOMODIFY /NOMODIFY がコマンド・ラインで指定されたかどうかを示します。
XTPU$M_NOKANJI_DIC XTPU$V_NOKANJI_DIC /NOKANJI_DICTIONARY がコマンド・ラインで指定されたかどうかを示します。
XTPU$M_SEC_LNM_MODE XTPU$V_SEC_LNM_MODE イメージが特権付きでインストールされ,このビットがセットされていると,セクション・ファイルを開けるときに信用のある論理名のみが使用されます。


1XTPU$M...マスクを示します。
2XTPU$V...ビット・アイテムを示します。

フラグを作成するには,0という値から開始し,セットしたい各アイテムのマスク (XTPU$M…)に対して,OR 演算子を使用します。また,フラグを作成する別の方法として,32 ビットをビット・ベクタとして取り扱い,希望するアイテムに対応するビット(XTPU$V…)をセットする方法もあります。

user_arg

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


ユーザ引数。user_arg 引数はユーザによって書かれた初期化ルーチン INITIALIZEに渡されます。

user_arg 引数によって,アプリケーションは XTPU$INITIALIZE を通してユーザによって書かれた初期化ルーチンに情報を渡すことができます。 DEC XTPU はこのデータを解釈しません。


説明

このルーチンは,条件ハンドラを設定したあとで最初にコールしなければならないルーチンです。

このルーチンは,コールバック・ルーチンから受け取った情報に応じてエディタを初期化します。初期化ルーチンは,省略時の値として,すべてファイル指定をヌル文字列に設定し,すべてのオプションをオフの状態に設定します。しかし,ファイル入出力ルーチンやコールユーザ・ルーチンの省略時のアドレスは設定しません。

セクション・ファイルを指定しなかった場合には,エディタのソフトウェア機能は制限されます。


戻される状件値

XTPU$_SUCCESS 初期化が正常終了したことを示します。
XTPU$_SYSERROR システム・サービスが正しく機能しなかったことを示します。
XTPU$_NONANSICRT 入力装置(SYS$INPUT)がサポートされないターミナルであることを示します。
XTPU$_RESTOREFAIL 復元操作でエラーが発生したことを示します。
XTPU$_NOFILEROUTINE ファイル操作を実行するためのルーチンが設定されていないことを示します。
XTPU$_OPENDIC かな漢字変換辞書がオープンできなかったことを示します。
XTPU$_INSVIRMEM エディタが初期化を実行するのに十分な仮想メモリが存在しないことを示します。
XTPU$_FAILURE 初期化を実行しているときに発生した他のすべてのエラーを示す汎用コードです。


前へ 次へ 目次 索引