CATOPEN(3) | Podręcznik programisty Linuksa | CATOPEN(3) |
catopen, catclose - otwarcie/zamknięcie katalogu komunikatów
#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.
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 |
POSIX.1-2001, POSIX.1-2008.
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.
Angielska wersja tej strony pochodzi z wydania 4.07 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/.
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <abyrtek@priv.onet.pl>, Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.
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ą 4.07 oryginału.
2015-08-08 | GNU |