このルーチンには、操作コードといくつかの追加パラメーターが (呼び出される操作に応じて) 渡されます。戻りコードは呼び出し後に自動的に設定されます。検出されたエラーに準じて、外部変数 F-ERRNO が設定されます。F-ERRNO は、I$IO への入力時にリセットされない場合があり、I$IO によってエラー状態が返される場合に限りチェックする必要があります。
実行されるファイル処理ルーチンを指定します。次の表に、操作と各操作コードとの対応を示します。操作の説明については、以降の記述を参照してください。
コード | 操作 |
---|---|
1 | OPEN-FUNCTION |
2 | CLOSE-FUNCTION |
3 | MAKE-FUNCTION |
4 | INFO-FUNCTION |
5 | READ-FUNCTION |
6 | NEXT-FUNCTION |
7 | PREVIOUS-FUNCTION |
8 | START-FUNCTION |
9 | WRITE-FUNCTION |
10 | REWRITE-FUNCTION |
11 | DELETE-FUNCTION |
12 | UNLOCK-FUNCTION |
13 | REMOVE-FUNCTION |
14 | SYNC-FUNCTION |
15 | EXECUTE-FUNCTION |
16 | BEGIN-FUNCTION |
17 | COMMIT-FUNCTION |
18 | ROLLBACK-FUNCTION |
19 | RECOVER-FUNCTION |
21 | IN-TRANSACTION-FUNCTION |
その他のパラメーターは、選択する操作に応じて異なります。それらのパラメーターは情報を提供し、指定した操作の結果を保持します。すべてのパラメーターは参照渡しになります。パラメーターは、パラメーターを必要としない操作からは省略できます。
I$IO に渡されるすべてのパラメーターは、参照渡しになります。これは、対応するファイル処理ルーチンで整数値のパラメーターにも当てはまります。すべての数値パラメーターは、SIGNED-SHORT 値として I$IO に渡される必要があります。I$IO ルーチンでは、必要な任意のアドレス変換が可能です。なお、パラメーターはそのタイプに応じて正しい形式であることが必要です。PIC X パラメーターは、LOW-VALUES 文字によって終了する必要があります。
MAKE 関数を除き、I$IO は任意の PIC X パラメーターを LOW-VALUES バイトによって自動的に終了します。また、レベル 01 またはレベル 77 パラメーターに対して SYNC を指定する必要はありません。これらは ACUCOBOL-GT によって自動的に同期されるからです。
ファイル filesys.def は、COBOL COPY ファイルで、I$IO で使用するための多くの便利な定義を含んでいます。このファイルには、I$IO コードの定義と F-ERRNO のエラー値、および適切なタイプとして利用可能な多数の便利な宣言済み変数を含んでいます。
このルーチンの動作は、FILENAME_SPACES 構成変数の影響を受けます。FILENAME_SPACES の値は、ファイル名でスペースが許可されるかどうかによって決まります。