sysconf

SYSCONF(3)               Podręcznik programisty Linuksa               SYSCONF(3)



NAZWA
       sysconf - pobieranie informacje o konfiguracji w trakcie uruchomienia

SKŁADNIA
       #include <unistd.h>

       long sysconf(int name);

OPIS
       POSIX pozwala testować w czasie kompilowania aplikacji lub w czasie jej
       działania, czy pewne opcje są wspierane lub jakie są wartości pewnych
       konfigurowalnych stałych lub limitów.

       W czasie kompilacji jest to robione przez zainkludowanie <unistd.h> lub
       <limits.h> i testowanie wartości pewnych makr.

       At run time, one can ask for numerical values using the present function
       sysconf().  One can ask for numerical values that may depend on the
       filesystem in which a file resides using fpathconf(3)  and pathconf(3).
       One can ask for string values using confstr(3).

       Wartości zwracane przez powyższe funkcje są stałymi dotyczącymi
       konfiguracji systemu, które nie zmienią się przez cały czas życia
       procesu.

       Dla opcji zazwyczaj istnieje stała _POSIX_COŚ, która może być
       zdefiniowana w <unistd.h>. Jeżeli nie jest zdefiniowana, można uzyskać
       jej wartość w czasie działania programu. Jeżeli wartością jest -1, to
       dana opcja nie jest wspierana  w systemie. Wartość 0 oznacza, że istnieją
       odpowiednie funkcje i pliki nagłówkowe, ale należy sprawdzić w czasie
       działania, w jakim stopniu dana opcja jest wspierana. Wartość inna niż -1
       i 0 oznacza, że dana opcja jest wspierana. Zazwyczaj wartości (takie jak
       200112L) oznaczają rok i miesiąc rewizji standardu POSIX opisującej tę
       opcję. Dopóki odpowiedni standard POSIX opisujący opcję nie zostanie
       opublikowany, glibc używa wartości 1, aby zasygnalizować, że opcja jest
       wspierana. Odpowiednim argumentem funkcji sysconf() będzie _SC_COŚ. Listę
       opcji można znaleźć w posixoptions(7).

       Dla zmiennych lub limitów zazwyczaj istnieje stała _COŚ definiowana w
       <limits.h> lub _POSIX_COŚ definiowana w <unistd.h>. Stała nie będzie
       zdefiniowana, jeżeli limit nie jest określony. Jeżeli  stała jest
       zdefiniowana, to określa gwarantowany limit, ale w rzeczywistości może
       być wspierana wartość większa niż wynosi wartość tej stałej. Jeśli
       aplikacja chce zrobić użytek ze zmiennych, których wartości mogą się
       różnić w zależności od systemu, może wywołać funkcję sysconf().
       Argumentem funkcji sysconf() będzie _SC_COŚ.

   Zmienne POSIX.1
       W tabeli poniżej podajemy nazwę zmiennej, nazwę argumentu funkcji
       sysconf(), używanego do odpytania o jej wartość, oraz krótki opis.

       Najpierw wartości zgodne z POSIX.1.

       ARG_MAX - _SC_ARG_MAX
              Maksymalna długość argumentów funkcji z rodziny exec(3). Nie może
              być mniejsza niż   _POSIX_ARG_MAX (4096).

       CHILD_MAX - _SC_CHILD_MAX
              Maksymalna liczba równoczesnych procesów jednego użytkownika. Nie
              może być mniejsza niż _POSIX_CHILD_MAX (25).

       HOST_NAME_MAX - _SC_HOST_NAME_MAX
              Maksymalna długość nazwy komputera, pomijając końcowy bajt NULL,
              zwracana przez gethostname(2). Nie może być mniejsza niż
              _POSIX_HOST_NAME_MAX (255).

       LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX
              Maksymalna długość nazwy użytkownika, łącznie z końcowym znakiem
              NULL. Nie może być mniejsza niż _POSIX_LOGIN_NAME_MAX (9).

       NGROUPS_MAX - _SC_NGROUPS_MAX
              Maksymalna liczba identyfikatorów dodatkowych grup.

       tyknięcia zegara - _SC_CLK_TCK
              Liczba tyknięć zegara na sekundę. Odpowiadająca jej zmienna jest
              przestarzała, a była oczywiście nazwana  CLK_TCK. (Uwaga: makro
              CLOCKS_PER_SEC nie dostarcza informacji: jego wartość musi być
              równa 1000000).

       OPEN_MAX - _SC_OPEN_MAX
              Maksymalna liczba plików, które proces może mieć otwarte w
              dowolnym czasie. Nie może być mniejsza niż  _POSIX_OPEN_MAX (20).

       PAGESIZE - _SC_PAGESIZE
              Size of a page in bytes.  Must not be less than 1.

       PAGE_SIZE - _SC_PAGE_SIZE
              A synonym for PAGESIZE/_SC_PAGESIZE.  (Both PAGESIZE and PAGE_SIZE
              are specified in POSIX.)

       RE_DUP_MAX - _SC_RE_DUP_MAX
              Liczba powtórzonych wystąpień  BRE dopuszczalnych w regexec(3) i
              regcomp(3). Nie może być mniejsza niż _POSIX2_RE_DUP_MAX (255).

       STREAM_MAX - _SC_STREAM_MAX
              Maksymalna liczba strumieni, którą proces może otworzyć w dowolnym
              czasie. Jeśli jest zdefiniowana, to ma taką samą wartość jak
              standardowe makro FOPEN_MAX w C. Nie może być mniejsza niż
              _POSIX_STREAM_MAX (8).

       SYMLOOP_MAX - _SC_SYMLOOP_MAX
              Maksymalna liczba dowiązań symbolicznych w ścieżce nie powodująca
              zwrócenia błędu ELOOP. Nie może być mniejsza niż
              _POSIX_SYMLOOP_MAX (8).

       TTY_NAME_MAX - _SC_TTY_NAME_MAX
              Maksymalna długość nazwy urządzenia terminalowego, włączając
              końcowy znak NULL. Nie może być mniejsza niż _POSIX_TTY_NAME_MAX
              (9).

       TZNAME_MAX - _SC_TZNAME_MAX
              Maksymalna liczba bajtów w nazwie strefy czasowej. Nie może być
              mniejsza niż _POSIX_TZNAME_MAX (6).

       _POSIX_VERSION - _SC_VERSION
              Określa rok i miesiąc, w formacie YYYYMML, w którym został
              zaakceptowany standard POSIX.1. Na przykład wartość 199009L
              oznacza wersję standardu z września 1990 roku.

   Zmienne POSIX.2
       Następnie podajemy wartości POSIX.2 określające limity dla programów
       użytkowych.

       BC_BASE_MAX - _SC_BC_BASE_MAX
              Określa maksymalną wartość obase akceptowaną przez program
              użytkowy bc(1).

       BC_DIM_MAX - _SC_BC_DIM_MAX
              Określa maksymalną dopuszczalną liczbę elementów w tabelach w
              programie bc(1).

       BC_SCALE_MAX - _SC_BC_SCALE_MAX
              Określa maksymalną wartość scale akceptowaną przez program
              użytkowy bc(1).

       BC_STRING_MAX - _SC_BC_STRING_MAX
              Określa maksymalną długość łańcucha znaków akceptowanego przez
              bc(1).

       COLL_WEIGHTS_MAX - _SC_COLL_WEIGHTS_MAX
              indicates the maximum numbers of weights that can be assigned to
              an entry of the LC_COLLATE order keyword in the locale definition
              file.

       EXPR_NEST_MAX - _SC_EXPR_NEST_MAX
              Określa maksymalną liczbę wyrażeń zagnieżdżonych w nawiasach,
              akceptowaną przez program expr(1).

       LINE_MAX - _SC_LINE_MAX
              Maksymalna długość linii wejściowej (łącznie ze znakiem końca
              linii) programu użytkowego pochodzącej albo ze standardowego
              wejścia, albo z pliku.

       RE_DUP_MAX - _SC_RE_DUP_MAX
              Maksymalna liczna powtórzonych wystąpień wyrażenia regularnego,
              jeżeli jest używana notacja \{m,n\}.

       POSIX2_VERSION - _SC_2_VERSION
              Określa wersję standardu POSIX.2 w formacie YYYYMML.

       POSIX2_C_DEV - _SC_2_C_DEV
              Określa, czy są wspierane użytki zgodne z POSIX.2 służące do
              rozwijania oprogramowania w języku C.

       POSIX2_FORT_DEV - _SC_2_FORT_DEV
              Określa, czy są wspierane użytki zgodne z POSIX.2 służące do
              rozwijania oprogramowania w Fortranie.

       POSIX2_FORT_RUN - _SC_2_FORT_RUN
              Określa, czy są wspierane programy użytkowe POSIX.2, służące do
              uruchamia programów w Fortranie.

       _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF
              indicates whether the POSIX.2 creation of locales via localedef(1)
              is supported.

       POSIX2_SW_DEV - _SC_2_SW_DEV
              Określa, czy są wspierane użytki zgodne z POSIX.2 służące do
              rozwijania oprogramowania.

       Poniższe wartości także istnieją, ale może nie być ich w standardzie.

        - _SC_PHYS_PAGES
              Liczba stron pamięci fizycznej. Proszę zauważyć, że nie jest
              możliwe, aby iloczyn tej wartości z _SC_PAGESIZE przekroczył
              (overflow) dopuszczalny zakres wartości liczbowych.

        - _SC_AVPHYS_PAGES
              Liczba obecnie dostępnych stron fizycznej pamięci.

        - _SC_NPROCESSORS_CONF
              The number of processors configured.  See also get_nprocs_conf(3).

        - _SC_NPROCESSORS_ONLN
              The number of processors currently online (available).  See also
              get_nprocs_conf(3).

WARTOŚĆ ZWRACANA
       The return value of sysconf()  is one of the following:

       *  On error, -1 is returned and errno is set to indicate the cause of the
          error (for example, EINVAL, indicating that name is invalid).

       *  If name corresponds to a maximum or minimum limit, and that limit is
          indeterminate, -1 is returned and errno is not changed.  (To
          distinguish an indeterminate limit from an error, set errno to zero
          before the call, and then check whether errno is nonzero when -1 is
          returned.)

       *  If name corresponds to an option, a positive value is returned if the
          option is supported, and -1 is returned if the option is not
          supported.

       *  Otherwise, the current value of the option or limit is returned.  This
          value will not be more restrictive than the corresponding value that
          was described to the application in <unistd.h> or <limits.h> when the
          application was compiled.

BŁĘDY
       EINVAL name is invalid.

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

       ┌──────────┬────────────────────────┬─────────────┐
       │Interfejs Atrybut                Wartość     │
       ├──────────┼────────────────────────┼─────────────┤
       │sysconf() │ Bezpieczeństwo wątkowe │ MT-Safe env │
       └──────────┴────────────────────────┴─────────────┘
ZGODNE Z
       POSIX.1-2001, POSIX.1-2008.

BŁĘDY
       Użycie ARG_MAX jest skomplikowane, ponieważ nie jest określone, jak dużo
       przestrzeni argumentów funkcji exec(3) jest zabierane przez zmienne
       środowiskowe użytkownika.

       Niektóre zwracane wartości mogą być duże; nie są one odpowiednie do
       przydzielania pamięci.

ZOBACZ TAKŻE
       bc(1), expr(1), getconf(1), locale(1), confstr(3), fpathconf(3),
       pathconf(3), posixoptions(7)

O STRONIE
       Angielska wersja tej strony pochodzi z wydania 5.10 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 są: 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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



GNU                              9 maja 2019 r.                       SYSCONF(3)