前へ | 次へ | 目次 | 索引 |
このルーチンは,パラメータからコマンド文字列を作成し,そのコマンド文字列をXTPU$XTPU ルーチンに渡します。XTPU$EDIT は,もうひとつのDEC XTPU の単純なコール可能インタフェースのエントリ・ポイントです。
XTPU$EDIT input, output
OpenVMS 用法 条件値 データ型 符号なしロングワード アクセス 書き込みのみ 受け渡し方 値による
ロングワードの条件値です。ユーティリティ・ルーチンはほとんど,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値については, "戻される条件値"にまとめられています。
input
OpenVMS 用法 文字列 データ型 文字列 アクセス 読み取りのみ 受け渡し方 ディスクリプタによる
入力ファイル名です。input 引数は,ファイル指定のディスクリプタのアドレスです。output
OpenVMS 用法 文字列 データ型 文字列 アクセス 読み取りのみ 受け渡し方 ディスクリプタによる
出力ファイル名です。output 引数は,出力ファイル指定のディスクリプタのアドレスです。これは /OUTPUT コマンド修飾子で使用される文字列です。
このルーチンはコマンド列を作成し,それを XTPU$XTPU に渡します。出力文字列の長さが0より大きい場合には,以下に示されているように,出力文字列は /OUTPUT 修飾子を使ってコマンド・ラインに指定します。
EDIT/XTPU [/OUTPUT= output] input
もし,アプリケーションが DEC XTPU の操作に関係しない修飾子情報を解析するときには,そのアプリケーションが XTPU$EDIT をコールする前にすべての DEC XTPU に関係しない修飾子情報を入手している必要があります。その理由は,XTPU$EDIT は XTPU$EDIT が呼ばれる前のすべての修飾子情報を破壊してしまうからです。
XTPU$XTPU から戻される値。
このルーチンは,ユーザ・プログラムがDEC XTPU ステートメントを実行できるようにします。
XTPU$EXECUTE_COMMAND string
OpenVMS 用法 条件値 データ型 符号なしロングワード アクセス 書き込みのみ 受け渡し方 値による
ロングワードの条件値です。ユーティリティ・ルーチンはほとんど,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値は,"戻される条件値" にまとめられています。
string
OpenVMS 用法 文字列 データ型 文字列 アクセス 読み取りのみ 受け渡し方 ディスクリプタによる
DEC XTPU ステートメントです。string 引数は,1つかまたはそれ以上の DEC XTPU ステートメントを示す文字列のディスクリプタのアドレスです。
このルーチンは,『DEC Text Processing Utility Reference Manual』に説明されている EXECUTE 組込みプロシージャと同じ機能を実行します。
XTPU$_SUCCESS 正常終了したことを示します。 XTPU$_EXITING EXIT 組込みプロシージャが呼び出されたことを示します。 XTPU$_QUITTING QUIT 組込みプロシージャが呼び出されたことを示します。 XTPU$_EXECUTEFAIL 実行が異常終了したことを示します。これは,実行エラーまたはコンパイラ・エラーが発生したためです。
このルーチンは,ユーザがユーザ作成初期化ファイルを実行できるようにします。このルーチンは,エディタを初期化したあとで,他のコマンドを処理する前に実行しなければなりません。
XTPU$EXECUTE_INIFILE
OpenVMS 用法 条件値 データ型 符号なしロングワード アクセス 書き込みのみ 受け渡し方 値による
ロングワードの条件値です。ユーティリティ・ルーチンはほとんど,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値は,"戻される条件値" にまとめられています。
なし
XTPU$EXECUTE_INIFILE ルーチンを呼び出すと,DEC XTPU は以下の手順で実行します。
- バッファにコマンド・ファイルが読み込まれます。省略時のファイルは XTPU$COMMAND.TPU です。もし,コマンド・ラインで指定したファイルが見つからなかった場合には,エラー・メッセージが表示され,ルーチンは強制終了されます。
- /DEBUG 修飾子をコマンド・ラインで指定した場合には,バッファに DEBUG ファイルが読み込まれます。省略時のファイルは SYS$SHARE:XTPU$DEBUG
.TPU です。- DEBUG ファイルをコンパイルし,実行します。
- TPU$INIT_PROCEDURE を実行します。
- コマンド・バッファをコンパイルし,実行します。
- TPU$INIT_POSTPROCEDURE を実行します。
注意
XTPU$CLEANUP をコールしたあと,このルーチンをコールする場合には,XTPU$_EXECUTEPROCEDURE フラグと XTPU$_EXECUTEFILE フラグをセットしなければなりません。これらのフラグをセットしなかった場合には,初期化ファイルは実行されません。
XTPU$_SUCCESS 正常終了。 XTPU$_EXITING EXIT の結果として戻されます。省略時の条件ハンドラを使用している場合には,セッションは終了します。 XTPU$_QUITTING QUIT の結果として戻されます。省略時の条件ハンドラを使用している場合には,セッションは終了します。 XTPU$_COMPILEFAIL 初期化ファイルのコンパイルが異常終了したことを示します。 XTPU$_EXECUTEFAIL 初期化ファイルに含まれるステートメントの実行が異常終了したことを示します。 XTPU$_FAILURE 他のすべてのエラーを示す汎用コード。
このルーチンはファイル操作を処理します。ユーザが作成したファイル入出力ルーチンは,何らかの操作を実行するためにこのルーチンを呼び出すことができます。しかし,ファイルをオープンするルーチンは,そのファイルに対してすべての操作を実行しなければなりません。たとえば,XTPU$FILEIO がファイルをオープンする場合には,そのファイルをクローズする操作も実行しなければなりません。
XTPU$FILEIO code, stream, data
OpenVMS 用法 条件値 データ型 符号なしロングワード アクセス 書き込みのみ 受け渡し方 値による
ロングワードの条件値です。ユーティリティ・ルーチンはほとんど,条件値を R0 に戻します。このルーチンから戻される可能性のある条件値は,"戻される条件値" にまとめられています。
code
OpenVMS 用法 符号なしロングワード データ型 符号なしロングワード アクセス 読み取りのみ 受け渡し方 参照による
ある DEC XTPU 機能を指定するアイテム・コードです。code 引数は,実行する機能を指定するDEC XTPU からのアイテム・コードを含むロングワードのアドレスです。ファイル入出力ルーチンに指定できるアイテム・コードは,以下のとおりです。
- XTPU$K_OPEN −このアイテム・コードは,data 引数がアイテム・リストのアドレスであることを指定します。このアイテム・リストには,ファイルをオープンするのに必要な情報が含まれます。stream 引数には,このファイルを将来参照するために使用される固有の値を指定しなければなりません。この結果作成されたファイル名は,動的な文字列ディスクリプタといっしょにコピーしなければなりません。
- XTPU$K_CLOSE − stream 引数によって指定されるファイルがクローズされます。構造が使用しているメモリをすベて解放することができます。
- XTPU$K_CLOSE_DELETE − stream 引数によって指定されるファイルがクローズされ,削除されます。構造が使用しているメモリをすべて解放することができます。
- XTPU$K_GET − data 引数は,stream 引数によって指定されるファイルの,次のレコードが格納される動的な文字列ディスクリプタのアドレスです。このルーチンは,テキストをこのディスクリプタにコピーするために, OpenVMS ランタイム・ライブラリが提供するルーチンを使用しなければなりません。 DEC XTPU は,ファイルの最後に到達したことをファイル入出力ルーチンが示したときに,読み取られるデータのために割り当てられたメモリを解放します。
- XTPU$K_PUT − data 引数は,stream 引数によって指定されるファイルに書き込まれるデータのディスクリプタのアドレスです。
stream
OpenVMS 用法 不定 データ型 符号なしロングワード アクセス 変更 受け渡し方 参照による
ファイル指定です。stream 引数は,4つのロングワードで構成されるデータ構造のアドレスです。このデータ構造は,操作されるファイルを記述するために使用されます。このデータ構造は,すべてのファイルを参照するために使用されます。ファイル・オープン要求が実行されたときには,このデータ構造にデータが書き込まれます。他の要求はすべて,この構造の情報を使って,どのファイルが参照されているかを判断します。
図 6-2 はストリーム・データ構造を示しています。
図 6-2 ストリーム・データ構造
最初のロングワードは,各ファイルの固有の識別子を格納するために使用されます。ユーザ作成ファイル入出力ルーチンは,0から 511 までの値に制限されています。したがって,最大 512 のファイルを同時にオープンすることができます。
2番目のロングワードは3つのフィールドに分かれています。下位ワードは, FAB (FAB$L_ALQ) から割り当てられるサイズ,つまり,このファイルに割り当てられるブロック数を格納するために使用されます。この値はあとで,ディスク空間を前もって割り当てるために出力ファイル・サイズを計算するときに使用されます。2ワード目の下位バイトは,既存のファイルをオープンするときに,レコード属性バイト (FAB$B_RAT) を格納するために使用されます。上位バイトは,既存のファイルをオープンするときに,レコード・フォーマット・バイト (FAB$B_RFM) を格納するために使用されます。これらは,入力ファイルと同じフォーマットで出力ファイルを作成するために使用されます。これらのフィールドには,ファイルをオープンするルーチンがデータを書き込みます。
最後の2つのロングワードは,作成または拡張されるファイル名のディスクリプタとして使用されます。この名前はあとで,EXIT を処理するときに使用されます。このディスクリプタには,オープン操作のあとで,ファイル名が書き込まれます。このディスクリプタは,ランタイム・ライブラリの LIB$SCOPY_R_DX ルーチンまたは LIB$SCOPY_DX ルーチンを使って割り当てなければなりません。この空間が不要になった場合には,DEC XTPU によって解放されます。
OpenVMS 用法 | アイテム・リスト3 |
データ型 | 符号なしロングワード |
アクセス | 変更 |
受け渡し方 | 参照による |
ストリーム・データです。data
引数はアイテム・リストのアドレス,またはディスクリプタのアドレスです。
このパラメータの意味は,コード・フィールドに指定したアイテム・コードによって異なります。 |
XTPU$K_OPEN アイテム・コードを指定した場合には,data 引数は,オープン要求に関する情報を含むアイテム・リストのアドレスです。オープン要求に関する情報を指定する場合には,以下のDEC XTPU アイテム・コードを使用できます。
省略時の状態では,XTPU$FILEIO はキャリッジ・リターン・レコード属性を持った可変長ファイルを作成します(fab$b_rtm=var, fab$b_rat=cr)。 XTPU$K_RECORD_ATTR アイテムまたは XTPU$K_RECORD_FORM アイテムを指定した場合には,それらのアイテムが使用されます。使用できるフォーマットと属性の組み合わせは以下のとおりです。
フォーマット 属性 STM, STMLF, STMCR O, BLK, CR, BLK+CR VAR O, BLK, FTN, CR, BLK+FTN, BLK+CR
他の組み合わせはすべて,CR 属性を持った VAR フォーマットに変換されます。
このルーチンは常に,ストリーム・データ構造の最初のロングワードに511より大きな値をセットします。ユーザ作成ファイル入出力ルーチンは0−511の値に制限されているため,このルーチンがセットするファイル制御ブロック(FCB)とユーザが作成したブロックは簡単に区別することができます。
注意
DEC XTPU は単純なコール可能インタフェースを使用する場合には,省略時の値により XTPU$FILEIO を使用します。完全なコール可能インタフェースを使用する場合には,XTPU$FILEIO を呼び出すか,または自分で作成した入出力ルーチンを使用しなければなりません。
ファイル入出力ルーチンは,RMSステータス・コードを DEC XTPU に戻します。エラー・メッセージが必要な場合には,ファイル入出力ルーチンがすべてのエラーを通知しなければなりません。
前へ | 次へ | 目次 | 索引 |