catopen(3) otwarcie/zamknięcie katalogu komunikatów

Other Alias

catclose

SKŁADNIA

#include <nl_types.h>

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

int catclose(nl_catd catalog);

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.

ZGODNE Z

POSIX.1-2001.

UWAGI

Powyższe stanowi opis wg POSIX.1-2001. 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.

O STRONIE

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

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <[email protected]>, Andrzej Krzysztofowicz (PTM) <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.71 oryginału.