Provided by: manpages-ru-dev_4.21.0-2_all 

ИМЯ
catopen, catclose - открывает/закрывает каталог сообщений
LIBRARY
Standard C library (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
Может быть источником LC_MESSAGES для локали и, таким образом, определять используемый язык в
случае, когда flag установлен в NL_CAT_LOCALE.
LANG Язык, используемый в случае, когда flag равен 0.
АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
┌──────────────────────────────────────────────────────────────────┬──────────────────────┬─────────────┐
│ Интерфейс │ Атрибут │ Значение │
├──────────────────────────────────────────────────────────────────┼──────────────────────┼─────────────┤
│ catopen() │ Безвредность в нитях │ MT-Safe env │
├──────────────────────────────────────────────────────────────────┼──────────────────────┼─────────────┤
│ catclose() │ Безвредность в нитях │ MT-Safe │
└──────────────────────────────────────────────────────────────────┴──────────────────────┴─────────────┘
СТАНДАРТЫ
POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ
Описание выше соответствует POSIX.1. В glibc значение NL_CAT_LOCALE равно. Путь, используемый по
умолчанию, варьируется, но, обычно, представляет собой различные подкаталоги /usr/share/locale.
СМ. ТАКЖЕ
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 версии 3
или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
на man-pages-ru-talks@lists.sourceforge.net.
Linux man-pages 6.03 5 февраля 2023 г. catopen(3)