MIO_FILES

MIO_FILES は、MIO_open64 が呼び出されるときに指定されるファイルに対して、どのモジュールが呼び出されるかを決定するキーを提供します。

MIO_FILES のフォーマットは、次のとおりです。
first_file_name_list [ module list ] second_file_name_list [ module list] ...

MIO_open64 が呼び出されるときに、MIO は MIO_FILES 環境変数が存在していることを検査します。 環境変数が存在していれば MIO はこのデータを解析して、 それぞれのファイルに対して起動すべきモジュールを決定します。

MIO_FILES は左から右へと解析されます。 先頭に左大括弧 ([) が付けられたすべての文字は file_name_list と見なされます。 file_name_list は、コロン (:) で区切られた file_name_template パターンのリストです。 File_name_template パターンは、MIO でオープンされているファイル名と突き合わせるために使用され、以下のワイルドカード文字を使用できます。

  • アスタリスク (*) はディレクトリー名またはファイル名について、ゼロ個または 1 個以上の文字を突き合わせします。
  • 疑問符 (?) はディレクトリー名またはファイル名について、1 個以上の文字を突き合わせします。
  • 2 個のアスタリスク (**) は絶対パス名について、指定位置以後の残りのすべての文字を突き合わせします。

file_name_template パターンにスラッシュ (/) が含まれていない場合、MIO_open64 サブルーチンに受け渡されたファイル名のすべてのパス・ディレクトリー情報は無視され、突き合わせはオープン済みのファイルのリーフ名のみに適用されます。

file_name_list にリストされたファイル名が file_name_list にあるいずれかの file_name_template パターンと一致すると、file_name_list のすぐ後に大括弧で示されたモジュール・リストが呼び出されます。file_name_list にリストされたファイル名が最初の file_name_list にある file_name_template パターンのいずれとも一致しない場合、構文解析プログラムは次の file_name_list に移り、そこにあるファイル名との突き合わせを試行します。ファイル名が複数の file_name_template パターンと一致する場合は、最初のパターンが使われます。オープンされるファイル名が、すべての file_name_lists のいずれの file_name_template パターンとも一致しない場合、このファイルは aix モジュールのデフォルトの起動によりオープンされます。一致する場合、モジュールは MIO_FILES 環境変数にリストされた関連モジュールから取り込まれます。 モジュールは左から右への順序で呼びだされ、最左端はユーザー・プログラムに最も近いモジュール、最右端はオペレーティング・システムに最も近いモジュールになります。モジュール・リストが mio モジュールで始まっていない場合は、mio モジュールのデフォルト設定により、プレフィックスが環境変数に追加されます。aix モジュールが指定されていない場合、aix モジュールのデフォルト設定が環境変数に付加されます。

MIO_FILES の簡単な処理方法について例示します。

MIO_FILES= *.dat:*.scr [ trace ] *.f01:*.f02:*.f03 [ trace | pf | trace ]

MIO_open64 サブルーチンは test.dat ファイルをオープンし、この名前が *.dat file_name_template パターンと一致すると、mio モジュール、trace モジュール、および aix モジュールを起動します。

MIO_open64 サブルーチンは test.f02 ファイルをオープンし、この名前が *.f02、2 番目の file_name_list の 2 番目の file_name_template パターンと一致すると、mio モジュール、traceモジュール、pf モジュール、trace モジュール、および aix モジュールを起動します。

環境変数へのデフォルトの呼び出しに対して、各モジュールのデフォルト・オプションがハードコーディングされています。 ユーザーは関連した MIO_FILES モジュール・リストに値を指定して、デフォルト・オプションをオーバーライドできます。以下のコード例では、trace モジュールに対して統計情報をオンにして、my.stats ファイルに出力先を変更します。
MIO_FILES= *.dat : *.scr [ trace/stats=my.stats ]
モジュールのオプションはスラッシュで区切ります。 一部のオプションには関連した整数値またはストリング値が必要です。ストリング値が必須のオプションであり、そのストリングにスラッシュ (/) が含まれている場合は、ストリングを中括弧 {} で囲みます。整数値が必須のオプションには、ユーザーは k、m、g、または t (それぞれキロバイト、メガバイト、ギガバイト、テラバイトを表す) を付加することができます。整数値は 10 進数、8 進数、16 進数でも入力できます。整数値にプレフィックスとして 0x が使用されている場合、この整数は 16 進数として解釈されます。 整数値にプレフィックスとして 0 が使用されている場合、この整数は 8 進数として解釈されます。上記の 2 つのテストに失敗した場合、この整数は 10 進数として解釈されます。