Provided by: manpages-pl-dev_0.6-2_all bug

NAZWA

       confstr - pobranie zmiennych łańcuchowych zależnych od konfiguracji

SKŁADNIA

       #include <unistd.h>

       size_t confstr(int name, char *buf, size_t len);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       confstr(): _POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE

OPIS

       Funkcja confstr() pobiera wartość zależnych od konfiguracji zmiennych systemowych.

       Argument name wyznacza pobieraną zmienną systemową.  Dostępne są zmienne:

       _CS_GNU_LIBC_VERSION (tylko biblioteka GNU C; od glibc 2.3.2)
              Łańcuch  znaków  identyfikujący  wersję  biblioteki  GNU  C  w systemie (np. "glibc
              2.3.4").

       _CS_GNU_LIBPTHREAD_VERSION (tylko biblioteka GNU C; od glibc 2.3.2)
              Łańcuch znaków identyfikujący wersję POSIX-owej  implementacji  wątków  dostarczaną
              przez bibliotekę  C (np. "NPTL 2.3.4" lub "linuxthreads-0.10").

       _CS_PATH
              Wartość  zmiennej  PATH  zawierającej  ścieżkę,  w  której  znaleźć można wszystkie
              standardowe programy narzędziowe POSIX.2.

       Jeśli argument buf jest różny od NULL i len jest  różne  od  zera,  to  funkcja  confstr()
       kopiuje  wartość  łańcucha  znaków do buf obciętą, jeśli to konieczne, do len - 1 bajtów i
       zakończoną bajtem null ("\0"). Może to zostać wykryte  przez  porównanie  zwracanej  przez
       confstr() wartości z argumentem len.

       Jeśli len wynosi zero i buf jest równe NULL, to funkcja confstr() po prostu zwraca wartość
       podaną poniżej.

WARTOŚĆ ZWRACANA

       Jeśli  name  jest  poprawną  zmienną  konfiguracji,  to  confstr()  zwraca  liczbę  bajtów
       (włączając kończący bajt null), które byłyby potrzebne do przechowania pełnej wartości tej
       zmiennej. Wartość może być większa niż len, co oznacza, że wartość w buf jest obcięta.

       Jeśli name jest poprawną zmienną konfiguracji, ale wartość tej  zmiennej  jest  pusta,  to
       confstr()  zwraca  0.  Jeśli  name  nie  jest  nazwą  poprawnej  zmiennej konfiguracji, to
       confstr() zwraca 0 i ustawia errno na EINVAL.

BŁĘDY

       EINVAL Wartość name jest nieprawidłowa.

ZGODNE Z

       POSIX.1-2001.

PRZYKŁAD

       Poniższy fragment kodu podaje ścieżkę, w której znaleźć znaleźć można  programy  systemowe
       POSIX.2:

           char *pathbuf;
           size_t n;

           n = confstr(_CS_PATH, NULL, (size_t) 0);
           pathbuf = malloc(n);
           if (pathbuf == NULL)
               abort();
           confstr(_CS_PATH, pathbuf, n);

ZOBACZ TAKŻE

       getconf(1), sh(1), exec(3), fpathconf(3)  sysconf(3) pathconf(3)  system(3)

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)
       <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ą    3.71
       oryginału.