focal (3) confstr.3.gz

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.