Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       confstr - pobiera zmienne łańcuchowe zależne od konfiguracji

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <unistd.h>

       size_t confstr(int name, char buf[.size], size_t size);

   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 size jest różne od zera, to funkcja confstr() kopiuje wartość
       łańcucha znaków do buf obciętą, jeśli to konieczne, do size - 1 bajtów i zakończoną bajtem  null  („\0”).
       Może to zostać wykryte przez porównanie zwracanej przez confstr() wartości z argumentem size.

       Jeśli  size  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ż
       size, 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-bezpieczne │
       └──────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       POSIX.1-2008.

HISTORIA

       POSIX.1-2001.

PRZYKŁADY

       Poniższy fragment kodu podaje ścieżkę, w której 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), pathconf(3), sysconf(3), system(3)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej
       Krzysztofowicz  <ankry@green.mf.pg.gda.pl>,  Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.8                              2 maja 2024 r.                                       confstr(3)