confstr(3) Library Functions Manual confstr(3) NAZWA confstr - pobranie zmiennych lancuchowych zaleznych od konfiguracji BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include 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 wartosc zaleznych od konfiguracji zmiennych systemowych. Argument name wyznacza pobierana zmienna systemowa. Dostepne sa zmienne: _CS_GNU_LIBC_VERSION (tylko biblioteka GNU C; od glibc 2.3.2) Lancuch znakow identyfikujacy wersje biblioteki GNU C w systemie (np. "glibc 2.3.4"). _CS_GNU_LIBPTHREAD_VERSION (tylko biblioteka GNU C; od glibc 2.3.2) Lancuch znakow identyfikujacy wersje POSIX-owej implementacji watkow dostarczana przez biblioteke C (np. "NPTL 2.3.4" lub "linuxthreads-0.10"). _CS_PATH Wartosc zmiennej PATH zawierajacej sciezke, w ktorej znalezc mozna wszystkie standardowe programy narzedziowe 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. WARTOSC ZWRACANA 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. Jesli name jest poprawna zmienna konfiguracji, ale wartosc tej zmiennej jest pusta, to confstr() zwraca 0. Jesli name nie jest nazwa poprawnej zmiennej konfiguracji, to confstr() zwraca 0 i ustawia errno na EINVAL. BLEDY EINVAL Wartosc name jest nieprawidlowa. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |confstr() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY POSIX.1-2008. HISTORIA POSIX.1-2001. PRZYKLADY Ponizszy fragment kodu podaje sciezke, w ktorej znalezc znalezc mozna 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 TAKZE getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Adam Byrtek , Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. confstr(3)