Provided by: manpages-pl-dev_20060617-1_all bug

NAZWA

       sysconf - pobiera informacje o konfiguracji

SKŁADNIA

       #include <unistd.h>

       long sysconf(int name);

OPIS

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

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

       W  czasie  działania  programu,  można  odpytać  o  wartości  liczbowe,
       używająć obecnej funkcji sysconf(). Wartości liczbowe dotyczące systemu
       plików w którym jest umieszczony  dany  plik  można  uzyskać  wywołując
       funkcje  fpathconf(3)  i pathconf(3). Wartości będące łańcuchami znaków
       zwraca funkcja confstr(3)

       Wartości zwracane przez te 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ć  wspierane  więcej  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

       Podajemy nazwę zmiennej,nazwę parametru 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(). 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  hosta,  pomijając  końcowy bajt NUL,
              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
              NUL. Nie może być mniejsza niż _POSIX_LOGIN_NAME_MAX (9).

       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
              Rozmiar strony w bajtach. Nie może być mniejsza niż 1. (Niektóre
              systemy używają zamiast tego PAGE_SIZE).

       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
              Maksymalna   liczba   dowiązań   symbolicznych   w  ścieżce  nie
              powodująca  zwrócenia  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 NUL. 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 1990r.

ZMIENNE POSIX.2

       Następnie 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
              określa  maksymalną  liczbę  wag, które można przypisać do wpisu
              słowa kluczowego LC_COLLATE order  w  pliku  definicji  ustawień
              regionalnych.

       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
              określa, czy  jest  wspierane  tworzenie  ustawień  regionalnych
              POSIX.2 przez localedef(1) .

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

       Te 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_PAGE_SIZE przekroczył
              dopuszczalny zakres wartości liczbowych (overflow)

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

WARTOŚĆ ZWRACANA

       Jeżeli argument name jest niepoprawny, to zwracane  jest  -1,  a  errno
       jest ustawiane na EINVAL.  W przeciwnym wypadku wartością zwracaną jest
       wartość zasobu systemowego,  a  wartość  errno  nie  jst  zmieniana.  W
       przypadku  opcji  zwracana  jest  wartość  dodatnia,  jeśli  opcja jest
       dostępna, a -1, jeśli nie jest. W  przypadku  limitów  -1  oznacza,  że
       limit nie został określony.

ZGODNE Z

       POSIX.1.

BŁĘDY

       Użycie  ARG_MAX  jest  skomplikowane,  ponieważ nie jest określone, jak
       dużo przestrzeni argumentów funkcji exec() jest zabierana 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), locale(1), fpathconf(3), pathconf(3), posixoptions(7)