catopen(3) Library Functions Manual catopen(3)

catopen, catclose - otwiera/zamyka katalog komunikatów

Standardowa biblioteka C (libc, -lc)

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

Funkcja catopen() otwiera katalog komunikatów i zwraca deskryptor tego katalogu. Deskryptor pozostaje ważny aż do wywołania catclose() lub execve(2). Jeśli w celu implementacji deskryptorów katalogów, użyty zostanie deskryptor pliku, to zostanie ustawiony znacznik FD_CLOEXEC.

Argument name określa nazwę otwieranego katalogu komunikatów. Jeśli name jest ścieżką bezwzględną (tzn. zawiera znak „/”), to name wyznacza ścieżkę do katalogu komunikatów. W przeciwnym wypadku używana jest zmienna środowiskowa NLSPATH z ciągiem %N zastąpionym przez name (zobacz locale(7)). Nie jest określone, czy zmienna NLSPATH zostanie użyta, gdy proces ma uprawnienia administratora. Jeśli zmienna NLSPATH nie istnieje lub katalog komunikatów nie może zostać otwarty w żadnej ze ścieżek przez nią określonych, to zostanie użyta ścieżka zależna od implementacji. Ta domyślna ścieżka może zależeć od bieżących ustawień regionalnych LC_MESSAGES, gdy argument flag jest równy NL_CAT_LOCALE, lub od zmiennej środowiskowej LANG, gdy argument flag jest równy 0. Zmiana części LC_MESSAGES ustawień regionalnych może unieważnić otwarte deskryptory katalogów.

Argument flag funkcji catopen() służy do wskazania źródeł dla używanego języka. Jeśli ma wartość NL_CAT_LOCALE, to użyte zostanie bieżące ustawienie regionalne dla LC_MESSAGES. W przeciwnym przypadku użyta zostanie zmienna środowiskowa LANG.

Funkcja catclose() zamyka katalog komunikatów określony przez deskryptor catalog. Unieważnia każde następne odwołania do katalogu komunikatów określonego przez catalog.

Jeśli funkcja catopen() zakończy się pomyślnie, zwraca deskryptor katalogu komunikatów, który jest typu nl_catd. Jeśli funkcja zawiedzie, zwraca (nl_catd) -1 i ustawia errno, wskazując rodzaj błędu. Możliwe wartości błędów obejmują wszystkie możliwe wartości dla wywołania open(2).

Funkcja catclose() zwraca 0, jeśli zakończy się pomyślnie, a -1 w przypadku błędu.

ŚRODOWISKO

Może stanowić źródło ustawienia regionalnego LC_MESSAGES i wówczas określa język używany, gdy flag jest ustawione na NL_CAT_LOCALE.
Język używany, gdy flag wynosi 0.

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
catopen() Bezpieczeństwo wątkowe MT-bezpieczne env
catclose() Bezpieczeństwo wątkowe MT-bezpieczne

Powyższe stanowi opis wg POSIX.1. W glibc wartość NL_CAT_LOCALE wynosi 1. Domyślna ścieżka może być różna, ale zazwyczaj stanowi kilka miejsc wewnątrz katalogu /usr/share/locale.

POSIX.1-2008.

POSIX.1-2001.

catgets(3), setlocale(3)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.8