Provided by: manpages-pl-dev_20060617-1_all bug

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)