Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ MrmOpenHierarchy(3XM) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

MrmCloseHierarchy(3XM)

MrmOpenHierarchy(3XM)  —  NEWS-OS Programmer’s Manual

名称

MrmOpenHierarchy − 階層構造 ID を割り当て、階層構造中のすべての uid ファイルをオープンします。

形式

#include <Xm/Intrinsics>
#include <Mrm/MrmPublic.h>
Cardinal MrmOpenHierarchy(num_files, file_names_list, ancillary_structures_list, hierarchy_id)

MrmCount num_files;
String file_names_list[];
MrmOsOpenParamPtr ∗ancillary_structures_list;
MrmHierarchy ∗hierarchy_id;

解説

MrmOpenHierarchy 関数を用いることによって、MRM が後でフェッチ操作をするときに検索する uid ファイルのリストを指定することができます。 以降のすべてのフェッチ操作は、uid 階層構造を最初のエレメント (uid ファイルの仕様) から最後のエレメントまでトラバースして最初に出現した名前つきの項目を返します。 この関数は階層構造 ID を割り当て、階層構造の中のすべての uid ファイルをオープンします。 また、階層構造の中の最適化された検索リストを初期化します。 MrmOpenHierarchy の実行中にエラーが起きた場合は、オープンされたすべてのファイルがクローズされます。

num_files名前リストの中のファイルの数を指定します。

file_names_list
  .uid ファイルを指定する文字列へのポインタの配列を指定します。

ancillary_structures_list
ファイル名、clobber flag などに対応した、オペレーティングシステムに依存する付属的構造体のリストです。 多くの場合この引数は NULL のはずです。 この構造体を参照したい場合、詳細は MrmPublic.h の中の MrmOsOpenParamPtr の定義を見てください。

hierarchy_id検索階層構造 ID を返します。 検索階層構造 ID は、MRM が以降のフェッチ操作を実行する際に (順番に) 検索する .uid ファイルのリストを指定するために利用できます。 file_names_list で指定されている各 uid ファイルは、絶対指定のディレクトリパス名でもファイル名でも指定できます。 uid ファイルがパス名を指定していないとき、それはスラッシュ (/) を 1 つも含んではならず、環境変数の UIDPATH を用いてアクセスされます。 環境変数の UIDPATH は、uid ファイルに関連する検索パスと命名の規約を指定します。 ここには %L と %N という代入フィールドを持つことが可能です。%L には 環境変数 LANG の現在設定されている値が代入され、%N には MrmOpenHierarchy に渡された .uid 名が代入されます。 たとえば、以下の uid パスおよび MrmOpenHierarchy の呼び出しにより、MRM は 2 つの .uid ファイルをオープンします。

UIDPATH=/uidlib/%L/%N.uid:/uidlib/%N/%L
 static char ∗uid_files[] = {"usr/users/me/test.uid", "test2"};
  MrmHierarchy ∗Hierarchy_id;
  MrmOpenHierarchy((MrmCount)2,uid_files,NULL,Hierarchy_id)

最初のファイル /usr/users/me/test.uid はファイルの指定にパス名が指定されているので、指定通りにオープンされます。 2 番目のファイル test2 はまず /uidlib/$LANG/test2.uid として捜され、つぎに /uidlib/test2/$LANG として捜されます。 MrmOpenHierarchy が uid 階層構造をオープンした後は、MrmCloseHierarchy を呼び出して uid 階層構造をクローズするまで uid ファイルを消去したり変更したりしてはなりません。

リターン値

この関数は、状態を示す以下の定数のうちのいずれかを返します。

MrmSUCCESS関数が正常に実行された。

MrmNOT_FOUND
ファイルが見つからなかった。

MrmFAILURE関数の実行が失敗した。

関連事項

MrmCloseHierarchy(3XM)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026