DOKK / manpages / debian 12 / manpages-pl-dev / confstr.3.pl
confstr(3) Library Functions Manual confstr(3)

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

Standardowa biblioteka C (libc, -lc)

#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

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.

If buf is not NULL and size is not zero, confstr() copies the value of the string to buf truncated to size - 1 bytes if necessary, with a null byte ('\0') as terminator. This can be detected by comparing the return value of confstr() against size.

If size is zero and buf is NULL, confstr() just returns the value as defined below.

If name is a valid configuration variable, confstr() returns the number of bytes (including the terminating null byte) that would be required to hold the entire value of that variable. This value may be greater than size, which means that the value in buf is truncated.

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.

Wartość name jest nieprawidłowa.

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

Interfejs Atrybut Wartość
confstr() Bezpieczeństwo wątkowe MT-Safe

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

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);

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

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.

5 lutego 2023 r. Linux man-pages 6.03