Provided by:
manpages-pl-dev_20060617-1_all 
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 catalog);
OPIS
Funkcja catopen() otwiera katalog komunikatów i zwraca deskryptor tego
katalogu. Deskryptor pozostaje ważny aż do wywołania catclose() lub
exec(). 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 zmianna NLSPATH zostanie
użyta, gdy proces ma uprawnienia root-a. 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 ściężka zależna od
implementacji. Ta domyślna ścieżka może zależeć od ustawienia locale
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ń locale może unieważnić otwarte deskryptory
katalogów.
Argument catopen() flag 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
locale 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 ona każde następne odwołania do
katalogu catalog.
WARTOŚĆ ZWRACANA
Jeśli funkcja catopen() zakończy się pomyślnie, zwraca deskryptor
katalogu komunikatow, 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().
Funkcja catclose() zwraca 0 jeśli zakończy się pomyślnie, a -1 w
przeciwnym przypadku.
ŚRODOWISKO
LC_MESSAGES
Może stanowić źródło ustawienia locale 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.
UWAGI
Powyższe stanowi opis wg POSIX 1003.1-2001. Dla glibcwartość
NL_CAT_LOCALE wynosi 1. (Porównaj MCLoadAll poniżej.) Domyślna
ścieżka może być różna, ale zazwyczaj stanowi kilka miejsc wewnątrz
katalogu /usr/share/locale.
UWAGI DLA LIBC4 I LIBC5
Funkcje te są dostępne w Linuksie od libc 4.4.4c. W przypadku
linuksowych libc4 i libc5, deskryptor katalogu nl_catd, jest
odwzorowanym przez mmap() obszarem pamięci, a nie deskryptorem pliku.
Argument catopen() flag Powinien być równy albo MCLoadBySet (=0) albo
MCLoadAll (=1). Pierwsza z wartości wskazuje, że zestaw z katalogu ma
być załadowany, gdy będzie to potrzebne, podczas gdy druga z nich
powoduje, że pierwsze wywołanie catopen() załaduje cały katalog do
poamieci. Domyślna ścieżka przeszukiwania może być różna, ale
zazwyczaj stanowi kilka miejsc wewnątrz katalogów /etc/locale i
/usr/lib/locale.
ZGODNE Z
POSIX 1003.1-2001. W XPG 1987, Vol. 3 mówi on: Argument flag funkcji
catopen jest zarezerwowany do wykorzystania w przyszoci i powinien
by ustawiony na 0. Nie jest jasne, co było źródłem dla stałych
MCLoadBySet i MCLoadAll.
ZOBACZ TAKŻE
catgets(3), setlocale(3)
2001-12-14 CATOPEN(3)