bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

catopen、catclose(3c)

名前

catopen()catclose()−メッセージ・カタログのオープン/クローズ

形式

#include <nl_types.h> 
nl_catd catopen (char *name, int oflag)
int catclose (nl_catd catd)

機能説明

catopen() はメッセージ・カタログをオープンし、カタログ記述子を返します。name はオープンするメッセージ・カタログの名前を指定します。name に &“&”があると、次にくる name はメッセージ・カタログのパス名を示します。それ以外の場合、環境変数 NLSPATH が使用されます。NLSPATH が環境にない場合や、NLSPATH で指定されたパスでメッセージ・カタログをオープンできない場合には、デフォルトのパスが使用されます (nl_types(5) を参照)。

メッセージ・カタログの名前とそれらの格納場所は、システムによって異なる可能性があります。個々のアプリケーションは、それぞれのニーズに従ってメッセージ・カタログの名前を付けたり、格納場所を指定したりすることができます。したがって、カタログを格納する場所を指定するためのメカニズムが必要となります。

NLSPATH 変数では、メッセージ・カタログの格納場所を検索パスの形式で指定したり、メッセージ・カタログ・ファイルに対応するネーミング規則を使用することができます。次に例を示します。

NLSPATH=/nlslib/%L/%N.cat:/nlslib/%N/%L

メタキャラクタ % は、置換フィールドを示します。この例で、%LLANG 環境変数の現在の設定と置き替わります (下記の項を参照)。また、%Ncatopen() に渡される name パラメータの値と置き替わります。このため、上例で、catopen() はまず /nlslib/$LANG/name.cat、次に /nlslib/name/$LANG を検索して、目的のメッセージ・カタログを見つけようとします。

NLSPATH は通常、システム全体にわたって有効になるよう設定されるので (すなわち、/etc/profile)、メッセージ・カタログに関連する格納場所とネーミング規則をプログラムもユーザも意識する必要はありません。

次の表は、メタキャラクタ・セットのリストです。

メタキャラクタ

説明

%N

catopen に渡される名前パラメータの値

%L

LANG の値

%l

LANG の言語要素の値

%t

LANG の地域要素の値

%c

LANG のコードセット要素の値

%%

1 文字の %


 

LANG 環境変数では、ネイティブ言語、地域の習慣および文字セットに関してユーザの要求条件を ASCII 文字列の形式 (LANG=language[_territory[.codeset]]) で指定することができます。

オーストリアで使用されるドイツ語を話すユーザが、ISO 8859/1 コードセットを用いている端末を使用する場合、LANG 環境変数は次のように設定します。

LANG=De_A.88591

この設定により、ユーザは関連するカタログ (存在すれば) を見つけることができるはずです。

LANG 変数が設定されていない場合、setlocale(3c) によって返される LC_MESSAGES の値が使用されます。この値が NULL の場合、nl_types(5) に定義されているデフォルトのパスが使用されます。

引数 oflag() は使用されません。この引数は将来使用する予定であり、現在は必ずゼロを指定してください。このフィールドの値を別の値に変更した場合の動作は不定です。

catclose()catd によって指定されたメッセージ・カタログをクローズします。

マルチスレッドのアプリケーションのスレッドは、TPINVALIDCONTEXT を含むどんなコンテキスト状態でも、catopen() または catclose() 呼び出すことができます。

診断

正常終了の場合、catopen() は、以後の catgets() および catclose() の呼び出し時に使用するメッセージ・カタログ記述子を返します。異常終了であれば、catopen()(nl_catd) -1 を返します。catclose() は、正常終了のとき 0、異常終了のとき -1 を返します。

関連項目

catgets(3c)setlocale(3c)nl_types(5)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy