CATOPEN(3) | FreeBSD Library Functions Manual | CATOPEN(3) |
名称
catopen — メッセージカタログをオープンするライブラリ
Standard C Library (libc, -lc)解説
catopen() 関数は、 name によって指定されたメッセージカタログをオープンし、メッセージカタログの記述子を返します。 name に‘/’が含まれている場合、 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 環境変数がメッセージカタログのロケールを決定します。
メッセージカタログの記述子は、プロセスがそれをクローズするまで、または exec(3) 関数の 1 つの呼び出しが成功するまで、プロセスで有効のままです。
戻り値
成功して終了すれば、 catopen() はメッセージカタログの記述子を返します。そうでない場合には、(nl_catd) -1 が返され、 errno にエラーを示す値が設定されます。エラー
- [ EINVAL]
- 引数 name が有効なメッセージカタログを指していません。
- [ ENAMETOOLONG]
- メッセージカタログのパス名全体が 1024 文字を超過しています。
- [ ENOENT]
- 指定されたメッセージカタログが存在しないか、または、 name 引数が空の文字列を指しています。
- [ ENOMEM]
- 十分なメモリが利用可能ではありません。
規格
catopen() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。February 12, 2005 | FreeBSD |