Scroll to navigation

catopen(3) Library Functions Manual catopen(3)

ИМЯ

catopen, catclose - открывает/закрывает каталог сообщений

БИБЛИОТЕКА

Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС

#include <nl_types.h>
nl_catd catopen(const char *name, int flag);
int catclose(nl_catd catalog);

ОПИСАНИЕ

Функция catopen() открывает каталог сообщений и возвращает дескриптор каталога. Дескриптор остаётся действительным до вызова catclose() или execve(2). Если для реализации дескрипторов каталогов используется файловый дескриптор, то для него будет установлен флаг FD_CLOEXEC.

The argument name specifies the name of the message catalog to be opened. If name specifies an absolute path (i.e., contains a '/'), then name specifies a pathname for the message catalog. Otherwise, the environment variable NLSPATH is used with name substituted for %N (see locale(7)). It is unspecified whether NLSPATH will be used when the process has root privileges. If NLSPATH does not exist in the environment, or if a message catalog cannot be opened in any of the paths specified by it, then an implementation defined path is used. This latter default path may depend on the LC_MESSAGES locale setting when the flag argument is NL_CAT_LOCALE and on the LANG environment variable when the flag argument is 0. Changing the LC_MESSAGES part of the locale may invalidate open catalog descriptors.

В аргументе flag функции catopen() задаётся источник используемого языка. Если его значение равно NL_CAT_LOCALE, то для LC_MESSAGES будет использована текущая локаль. В противном случае будет использована переменная окружения LANG.

Функция catclose() закрывает каталог сообщений, указанный в catalog. Все последующие обращения к каталогу сообщений, определяемому catalog, считаются ошибкой.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

The function catopen() returns a message catalog descriptor of type nl_catd on success. On failure, it returns (nl_catd) -1 and sets errno to indicate the error. The possible error values include all possible values for the open(2) call.

При успешном выполнении функция catclose() возвращает 0, а в случае ошибки значение -1.

СРЕДА ОКРУЖЕНИЯ

Может быть источником LC_MESSAGES для локали и, таким образом, определять используемый язык в случае, когда flag установлен в NL_CAT_LOCALE.
Язык, используемый в случае, когда flag равен 0.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
catopen() Безвредность в нитях MT-Safe env
catclose() Безвредность в нитях MT-Safe

ВЕРСИИ

Описание выше соответствует POSIX.1. В glibc значение NL_CAT_LOCALE равно. Путь, используемый по умолчанию, варьируется, но, обычно, представляет собой различные подкаталоги /usr/share/locale.

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001.

СМОТРИТЕ ТАКЖЕ

catgets(3), setlocale(3)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Справочные страницы Linux 6.8