Provided by: manpages-pl-dev_0.7-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.

ATRYBUTY

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌──────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├──────────┼────────────────────────┼─────────┤
       │confstr() │ Bezpieczeństwo wątkowe │ MT-Safe │
       └──────────┴────────────────────────┴─────────┘

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008.

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  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/.

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