スポンサーリンク

CATOPEN(3) FreeBSD ライブラリ関数マニュアル CATOPEN(3)

名称

catopen − メッセージカタログのオープン

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <nl_types.h>

nl_catd

catopen(const char *name, int oflag);

解説

catopen() 関数は、 name によって指定されたメッセージカタログをオープン し、メッセージカタログの記述子を返します。 name に 1 つの ‘/’ が含まれて いる場合には、 name はメッセージカタログのフルパス名を指定します。そうで ない場合には、環境変数の値 NLSPATH が以下の置換とともに使用されます。

       %N

name 引数の値です。

%L
LANG 環境変数または LC_MESSAGES カテゴリ (下記参照) の値です。

%l
LANG 環境変数または LC_MESSAGES カテゴリの言語要素です。

%t
LANG 環境変数または LC_MESSAGES カテゴリの地域要素です。

%c
LANG 環境変数または LC_MESSAGES カテゴリのコードセット要素です。

%%
単一の % 文字です。

空の文字列は未定義の値に置換されます。

NLSPATH で定義されるパス名のテンプレートは、コロン (‘:’) で区切られます。 先頭のまたは 2 つの隣接するコロンは、%N を指定したのと同等です。

oflag 引数が NL_CAT_LOCALE 定数に設定されている場合には、 LC_MESSAGES ロ ケールカテゴリがメッセージカタログをオープンするために使用されます。 NL_CAT_LOCALE の使用は、 X/Open Portability Guide Issue 4 (‘‘XPG4’’) 規格 に適合しています。 X/Open Portability Guide Issue 3 (‘‘XPG3’’) との互換性 のために 0 を指定することができます。 oflag が 0 に設定されている時には、 LANG 環境変数がメッセージカタログのロケールを決定します。

メッセージカタログの記述子は、プロセスがそれをクローズするまで、または 1 つの exec(3) 関数の呼び出しの成功まで、有効に残ります。

戻り値

成功して完了した時には、 catopen() はメッセージカタログの記述子を返しま す。そうでない場合には、(nl_catd) -1 が返され、 errno がそのエラーを示す ために設定されます。

エラー

       [EINVAL]

引数 name が有効なメッセージカタログを指していません。

[ENAMETOOLONG]
メッセージカタログのパス名全体が 1024 文字を超過してい ます。

[ENOENT]
その名前のメッセージカタログが存在しません。または、 name 引数が空の文字列を指しています。

[ENOMEM]
十分なメモリが有効ではありません。

関連項目

gencat(1), catclose(3), catgets(3), setlocale(3)

規格

catopen() 関数は、 X/Open Portability Guide Issue 4 (‘‘XPG4’’) に適合して います。

FreeBSD 10.0 May 29, 1994 FreeBSD 10.0

スポンサーリンク