| confstr(3) | Library Functions Manual | confstr(3) |
confstr - pobiera zmienne łańcuchowe zależne od konfiguracji
Standardowa biblioteka C (libc, -lc)
#include <unistd.h>
size_t confstr(int name, char buf[.size], size_t size);
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:
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.
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.
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-bezpieczne |
POSIX.1-2008.
POSIX.1-2001.
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);
getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3)
Tłumaczenie niniejszej strony podręcznika: 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.
| 15 czerwca 2024 r. | Linux man-pages 6.9.1 |