移植性のある Terminfo データベースとシステムの Terminfo データベースの検索

注: 本トピックは UNIX 環境にのみ該当します。

COBOL システムは 2 つのタイプの Terminfo データベース、つまり移植性のある COBOL の Terminfo とシステムの Terminfo を認識できます。システムで、端末の詳細情報が必要になると、環境に指定されているそれぞれのデータベースが検索されます。システムが必要とする端末の詳細情報が検出されると、検索は終了します。

COBOL システムでは、最初に COBOL 固有の terminfo ファイルが検索され、これが検出されない場合は、システムの Terminfo ファイルが検索されます (次の手順を参照してください)。vi のような非 COBOL のユーティリティでは、システムの Terminfo ファイルのみが検索されます。

個々の端末に関して、COBOL アプリケーションと、vi のような非 COBOL アプリケーションで、terminfo ファイルに対し、異なる要求を行うことができます。異なるエントリを要求できるだけでなく、異なるバイナリ形式を要求することができます。COBOL アプリケーションでは、移植性のある形式が要求され、非 COBOL アプリケーションでは、システム固有の形式が要求されるなどです。

共通の terminfo ファイルと COBOL 固有の terminfo ファイル (このシステムでは例が提供されています) は、別の場所に置いて区別する必要があります。また、実行時には、COBOL 固有のファイルは環境変数 COBTERMINFO (付録「環境変数」を参照してください) で、システムの共通の terminfo ファイルは TERMINFO で適切に設定する必要があります。これらが設定されると、COBOL システムは、terminfo ファイルを次の手順で検索します。

  1. COBTERMINFO 環境変数が設定されていない場合は、$COBDIR/terminfo が設定されたものとして動作します。
  2. COBTERMINFO が設定されると、この環境変数が読み取られます。環境変数に Terminfo データベースへの複数のパスが指定されている場合は、コロン区切りで 1 つのパスとして解釈されます。いずれかのパスで必要なファイルが検出されると、(左から右に解析されます) 検索されたファイルが使用されます。
  3. TERMINFO 環境変数が設定されると、この環境変数が Terminfo データベースへのパスとして使用されます。必要なファイルが検出されると、それが使用されます。
  4. デフォルトのシステムの Terminfo データベースが Terminfo データベースへのパスとして使用されます。この場所にファイルがあれば、そのファイルが使用されます。
  5. 5. ファイルが見つからない場合は、エラーが返されます。