XrmInitialize(3X11) — NEWS-OS Programmer’s Manual
名称
XrmInitialize, XrmParseCommand, XrmValue, XrmOptionKind, XrmOptionDescRec − リソースマネジャおよびリソースマネジャ構造体を初期化し、コマンド行をパースする
形式
void XrmInitialize(); void XrmParseCommand(database, table, table_count, name, argc_in_out, argv_in_out)
XrmDatabase ∗database;
XrmOptionDescList table;
int table_count;
char ∗name;
int ∗argc_in_out;
char ∗∗argv_in_out;
引数
argc_in_out引数の数を指定し、残りの引数の数を返します。
argv_in_outコマンド行 (command line) 引数を指定し、 残りの引数を返します。
databaseリソースデータベースを指すポインタを指定します。
nameアプリケーション名を指定します。
tableパースするコマンド行 (command line) 引数のテーブルを指定します。
table_countテーブルのエントリ数を指定します。
解説
XrmInitialize 関数は、リソースマネージャを初期化します。 他の Xrm 関数を使用する前に、この関数を呼ばなければいけません。 XrmParseCommand 関数は、指定されたオプションテーブルに従って (argc, argv) ペアを パースし、認識されたオプションを指定されたデータベースに “String” タイプでロードし、(argc, argv) ペアを変更し、認識されたすべての オプションを削除します。 データベースがナルを含む場合、 XrmParseCommand 関数は、新たなデータベースを作成し、 そのデータベースを指すポインタを返します。 それ以外の場合は、 指定したデータベースにエントリを追加します。 データベースが作成される場合は、 現在の locale で作成されます。 指定されたテーブルを使用し、コマンド行をパースします。 テーブルの認識されたオプションは argv から削除され、 エントリは指定されたリソースデータベースに追加されます。 テーブルエントリには、オプション文字列、オプション名、オプションの スタイルおよびオプションの種類が XrmoptionNoArg か否かを指定する情報が含まれます。 オプション名は、argv の引数と バイトごとに比較されます (locale は関係なし)。 テーブルに指定されたリソース値は、 リソースデータベースに、変更されずにそのまま格納されます。 リソースデータベースのエントリは全て、 “String” タイプで作成されます。 argc 引数は argv の引数の数を指定し、 リターン時に パースされなかった残りの引数の数に設定されます。 name 引数は、データベースエントリの構築にあたって使用するための アプリケーションの名前です。 name 引数は、データベースのエントリを格納する前に、 オプションテーブルの resourceName の前に付されます。 いかなる区切り文字も挿入されません。 そのため、テーブルには、 各 resourceName エントリの最初の文字としてピリオド (.) またはアスタリスク (∗) がなければなりません。 完全修飾リソース名を指定するため、 resourceName エントリに複数の構成要素を含めることができます。 name 引数および resourceName が ホストポータブル文字コード (Host Portable Character Encoding) に ない場合は、結果はインプリメンテーションにより異なります。
構造体
XrmValue、 XrmOptionKind、 XrmOptionDescRec の構造体を以下に示します。
typedef struct {
unsigned int size;
XPointer addr;
} XrmValue, ∗XrmValuePtr;
typedef enum {
XrmoptionNoArg,/∗ XrmOptionDescRec.value に値を指定 ∗/
XrmoptionIsArg,/∗ 値は、オプション文字列自身 ∗/
XrmoptionStickyArg,/∗ 値は、オプションのすぐ後の文字 ∗/
XrmoptionSepArg,/∗ 値は、argv の次の引数 ∗/
XrmoptionResArg,/∗ argv の次の引数のリソースと値 ∗/
XrmoptionSkipLine,/∗ このオプションおよび argv の残りの部分は無視されます ∗/
XrmoptionSkipNArgs/∗ このオプションおよび argv の次の
XrmOptionDescRec.value 引数は無視されます ∗/
} XrmOptionKind;
typedef struct {
char ∗option;/∗ argv のオプション指定の文字列 ∗/
char ∗specifier;/∗ バインディングとリソース名 (sans application name) ∗/
XrmOptionKind argKind;/∗ オプションのスタイル ∗/
XPointer value;/∗ XrmoptionNoArg または XrmoptionSkipNArgs の
場合に使用する値 ∗/
} XrmOptionDescRec, ∗XrmOptionDescList;
関連事項
XrmGetResource(3X11), XrmMergeDatabases(3X11), XrmPutResource(3X11), XrmUniqueQuark(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.2.1R