CATOPEN(3)

NAZWA
catopen, catclose - otwarcie/zamknięcie katalogu komunikatów

SKŁADNIA
#include <nl_types.h>

nl_catd catopen(const char *name, int flag);
int catclose(nl_catd katalog);

OPIS
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.

WARTOŚĆ ZWRACANA
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

LC_MESSAGES
    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.

LANG
    Język używany, gdy flag wynosi 0.

ATRYBUTY
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-Safe env
catclose() | Bezpieczeństwo wątkowe | MT-Safe

ZGODNE Z
POSIX.1-2001, POSIX.1-2008.

UWAGI
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.

ZOBACZ TAKŻE
catgets(3), setlocale(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.