.\" Copyright (c) 1994 Winning Strategies, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Winning Strategies, Inc. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/lib/libc/nls/catopen.3,v 1.9.2.4 2000/12/08 13:49:28 ru Exp % .\" $FreeBSD$ .Dd May 29, 1994 .Dt CATOPEN 3 .Os .Sh 名称 .Nm catopen .Nd メッセージカタログのオープン .Sh ライブラリ .Lb libc .Sh 書式 .Fd #include .Ft nl_catd .Fn catopen "const char *name" "int oflag" .Sh 解説 .Fn catopen 関数は、 .Fa name によって指定されたメッセージカタログをオープンし、メッセージカタログの 記述子を返します。 .Fa name に 1 つの .Sq / が含まれている場合には、 .Fa name はメッセージカタログのフルパス名を指定します。そうでない場合には、環境変数の値 .Ev NLSPATH が以下の置換とともに使用されます。 .Bl -tag -width XXX .It \&%N .Fa name 引数の値です。 .It \&%L .Ev LANG 環境変数または .Dv LC_MESSAGES カテゴリ (下記参照) の値です。 .It \&%l .Ev LANG 環境変数または .Dv LC_MESSAGES カテゴリの言語要素です。 .It \&%t .Ev LANG 環境変数または .Dv LC_MESSAGES カテゴリの地域要素です。 .It \&%c .Ev LANG 環境変数または .Dv LC_MESSAGES カテゴリのコードセット要素です。 .It \&%% 単一の % 文字です。 .El .Pp 空の文字列は未定義の値に置換されます。 .Pp .Ev NLSPATH で定義されるパス名のテンプレートは、コロン .No ( Sq \&: ) で区切られます。 先頭のまたは 2 つの隣接するコロンは、%N を指定したのと同等です。 .Pp .Fa oflag 引数が .Dv NL_CAT_LOCALE 定数に設定されている場合には、 .Dv LC_MESSAGES ロケールカテゴリがメッセージカタログをオープンするために使用されます。 .Dv NL_CAT_LOCALE の使用は、 .St -xpg4 規格に適合しています。 .St -xpg3 との互換性のために 0 を指定することができます。 .Fa oflag が 0 に設定されている時には、 .Ev LANG 環境変数がメッセージカタログのロケールを決定します。 .Pp メッセージカタログの記述子は、プロセスがそれをクローズするまで、または 1 つの .Xr exec 3 関数の呼び出しの成功まで、有効に残ります。 .Sh 戻り値 成功して完了した時には、 .Fn catopen はメッセージカタログの記述子を返します。 そうでない場合には、(nl_catd) -1 が返され、 .Va errno がそのエラーを示すために設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL 引数 .Fa name が有効なメッセージカタログを指していません。 .It Bq Er ENAMETOOLONG メッセージカタログのパス名全体が 1024 文字を超過しています。 .It Bq Er ENOENT その名前のメッセージカタログが存在しません。または、 .Fa name 引数が空の文字列を指しています。 .It Bq Er ENOMEM 十分なメモリが有効ではありません。 .El .Sh 関連項目 .Xr gencat 1 , .Xr catclose 3 , .Xr catgets 3 , .Xr setlocale 3 .Sh 規格 .Fn catopen 関数は、 .St -xpg4 に適合しています。