.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 17:51:42 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Tue Aug 17 11:42:20 1999 by Ariel Scolnicov (ariels@compugen.co.il)
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH sysconf 3 "15 czerwca 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
sysconf \- pobiera informacje o konfiguracji w trakcie uruchomienia
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.P
\fBlong sysconf(int \fP\fIname\fP\fB);\fP
.fi
.SH 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.
.P
W czasie kompilacji jest to robione przez zainkludowanie
\fI<unistd.h>\fP lub \fI<limits.h>\fP i testowanie wartości
pewnych makr.
.P
W czasie działania programu, można odpytać o wartości liczbowe, używając
opisywanej tutaj funkcji \fBsysconf\fP(). Wartości liczbowe dotyczące systemu
plików, w którym jest umieszczony dany plik, można uzyskać za pomocą
\fBfpathconf\fP(3) i \fBpathconf\fP(3). Wartości będące łańcuchami znaków zwraca
funkcja \fBconfstr\fP(3).
.P
.\" except that sysconf(_SC_OPEN_MAX) may change answer after a call
.\" to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
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.
.P
.\" and 999 to indicate support for options no longer present in the latest
.\" standard. (?)
Dla opcji zazwyczaj istnieje stała \fB_POSIX_COŚ\fP, która może być
zdefiniowana w \fI<unistd.h>\fP. 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 \fBsysconf\fP() będzie
\fB_SC_COŚ\fP. Listę opcji można znaleźć w \fBposixoptions\fP(7).
.P
Dla zmiennych lub limitów zazwyczaj istnieje stała \fB_COŚ\fP definiowana w
\fI<limits.h>\fP lub \fB_POSIX_COŚ\fP definiowana w
\fI<unistd.h>\fP. 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ę
\fBsysconf\fP(). Argumentem funkcji \fBsysconf\fP() będzie \fB_SC_COŚ\fP.
.SS "Zmienne POSIX.1"
W tabeli poniżej podajemy nazwę zmiennej, nazwę argumentu funkcji
\fBsysconf\fP(), używanego do odpytania o jej wartość, oraz krótki opis.
.P
.\" [for the moment: only the things that are unconditionally present]
.\" .TP
.\" .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
.\" (if _POSIX_ASYNCHRONOUS_IO)
.\" Maximum number of I/O operations in a single list I/O call.
.\" Must not be less than _POSIX_AIO_LISTIO_MAX.
.\" .TP
.\" .BR AIO_MAX " - " _SC_AIO_MAX
.\" (if _POSIX_ASYNCHRONOUS_IO)
.\" Maximum number of outstanding asynchronous I/O operations.
.\" Must not be less than _POSIX_AIO_MAX.
.\" .TP
.\" .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
.\" (if _POSIX_ASYNCHRONOUS_IO)
.\" The maximum amount by which a process can decrease its
.\" asynchronous I/O priority level from its own scheduling priority.
.\" Must be nonnegative.
Najpierw wartości zgodne z POSIX.1.
.TP 
\fBARG_MAX\fP \- \fB_SC_ARG_MAX\fP
Maksymalna długość argumentów funkcji z rodziny \fBexec\fP(3). Nie może być
mniejsza niż   \fB_POSIX_ARG_MAX\fP (4096).
.TP 
\fBCHILD_MAX\fP \- \fB_SC_CHILD_MAX\fP
Maksymalna liczba równoczesnych procesów jednego użytkownika. Nie może być
mniejsza niż \fB_POSIX_CHILD_MAX\fP (25).
.TP 
\fBHOST_NAME_MAX\fP \- \fB_SC_HOST_NAME_MAX\fP
Maksymalna długość nazwy komputera, pomijając końcowy bajt NULL, zwracana
przez \fBgethostname\fP(2). Nie może być mniejsza niż \fB_POSIX_HOST_NAME_MAX\fP
(255).
.TP 
\fBLOGIN_NAME_MAX\fP \- \fB_SC_LOGIN_NAME_MAX\fP
Maksymalna długość nazwy użytkownika, łącznie z końcowym znakiem NULL. Nie
może być mniejsza niż \fB_POSIX_LOGIN_NAME_MAX\fP (9).
.TP 
\fBNGROUPS_MAX\fP \- \fB_SC_NGROUPS_MAX\fP
Maksymalna liczba identyfikatorów dodatkowych grup.
.TP 
tyknięcia zegara \- \fB_SC_CLK_TCK\fP
Liczba tyknięć zegara na sekundę. Odpowiadająca jej zmienna jest
przestarzała, a była oczywiście nazwana  \fBCLK_TCK\fP. (Uwaga: makro
\fBCLOCKS_PER_SEC\fP nie dostarcza informacji: jego wartość musi być równa
1000000).
.TP 
\fBOPEN_MAX\fP \- \fB_SC_OPEN_MAX\fP
Maksymalna liczba plików, które proces może mieć otwarte w dowolnym
czasie. Nie może być mniejsza niż  \fB_POSIX_OPEN_MAX\fP (20).
.TP 
\fBPAGESIZE\fP \- \fB_SC_PAGESIZE\fP
Rozmiar strony w bajtach. Nie może być mniejszy niż 1.
.TP 
\fBPAGE_SIZE\fP \- \fB_SC_PAGE_SIZE\fP
Synonim \fBPAGESIZE\fP/\fB_SC_PAGESIZE\fP (POSIX określa i \fBPAGESIZE\fP, i
\fBPAGE_SIZE\fP).
.TP 
\fBRE_DUP_MAX\fP \- \fB_SC_RE_DUP_MAX\fP
Liczba powtórzonych wystąpień  BRE dopuszczalnych w \fBregexec\fP(3) i
\fBregcomp\fP(3). Nie może być mniejsza niż \fB_POSIX2_RE_DUP_MAX\fP (255).
.TP 
\fBSTREAM_MAX\fP \- \fB_SC_STREAM_MAX\fP
Maksymalna liczba strumieni, którą proces może otworzyć w dowolnym
czasie. Jeśli jest zdefiniowana, to ma taką samą wartość jak standardowe
makro \fBFOPEN_MAX\fP w C. Nie może być mniejsza niż \fB_POSIX_STREAM_MAX\fP (8).
.TP 
\fBSYMLOOP_MAX\fP \- \fB_SC_SYMLOOP_MAX\fP
Maksymalna liczba dowiązań symbolicznych w ścieżce nie powodująca zwrócenia
błędu \fBELOOP\fP. Nie może być mniejsza niż \fB_POSIX_SYMLOOP_MAX\fP (8).
.TP 
\fBTTY_NAME_MAX\fP \- \fB_SC_TTY_NAME_MAX\fP
Maksymalna długość nazwy urządzenia terminalowego, włączając końcowy znak
NULL. Nie może być mniejsza niż \fB_POSIX_TTY_NAME_MAX\fP (9).
.TP 
\fBTZNAME_MAX\fP \- \fB_SC_TZNAME_MAX\fP
Maksymalna liczba bajtów w nazwie strefy czasowej. Nie może być mniejsza niż
\fB_POSIX_TZNAME_MAX\fP (6).
.TP 
\fB_POSIX_VERSION\fP \- \fB_SC_VERSION\fP
Określa rok i miesiąc, w formacie \fBYYYYMML\fP, w którym został zaakceptowany
standard POSIX.1. Na przykład wartość \fB199009L\fP oznacza wersję standardu z
września 1990 roku.
.SS "Zmienne POSIX.2"
Następnie podajemy wartości POSIX.2 określające limity dla programów
użytkowych.
.TP 
\fBBC_BASE_MAX\fP \- \fB_SC_BC_BASE_MAX\fP
Określa maksymalną wartość \fIobase\fP akceptowaną przez program użytkowy
\fBbc\fP(1).
.TP 
\fBBC_DIM_MAX\fP \- \fB_SC_BC_DIM_MAX\fP
Określa maksymalną dopuszczalną liczbę elementów w tabelach w programie
\fBbc\fP(1).
.TP 
\fBBC_SCALE_MAX\fP \- \fB_SC_BC_SCALE_MAX\fP
Określa maksymalną wartość \fIscale\fP akceptowaną przez program użytkowy
\fBbc\fP(1).
.TP 
\fBBC_STRING_MAX\fP \- \fB_SC_BC_STRING_MAX\fP
Określa maksymalną długość łańcucha znaków akceptowanego przez \fBbc\fP(1).
.TP 
\fBCOLL_WEIGHTS_MAX\fP \- \fB_SC_COLL_WEIGHTS_MAX\fP
Określa maksymalną liczbę wag, które można przypisać do wpisu  słowa
kluczowego \fBLC_COLLATE order\fP w pliku definicji ustawień regionalnych
(locale).
.TP 
\fBEXPR_NEST_MAX\fP \- \fB_SC_EXPR_NEST_MAX\fP
Określa maksymalną liczbę wyrażeń zagnieżdżonych w nawiasach, akceptowaną
przez program \fBexpr\fP(1).
.TP 
\fBLINE_MAX\fP \- \fB_SC_LINE_MAX\fP
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.
.TP 
\fBRE_DUP_MAX\fP \- \fB_SC_RE_DUP_MAX\fP
Maksymalna liczna powtórzonych wystąpień wyrażenia regularnego, jeżeli jest
używana notacja \fB\[rs]{m,n\[rs]}\fP.
.TP 
\fBPOSIX2_VERSION\fP \- \fB_SC_2_VERSION\fP
Określa wersję standardu POSIX.2 w formacie YYYYMML.
.TP 
\fBPOSIX2_C_DEV\fP \- \fB_SC_2_C_DEV\fP
Określa, czy są wspierane użytki zgodne z POSIX.2 służące do rozwijania
oprogramowania w języku C.
.TP 
\fBPOSIX2_FORT_DEV\fP \- \fB_SC_2_FORT_DEV\fP
Określa, czy są wspierane użytki zgodne z POSIX.2 służące do rozwijania
oprogramowania w Fortranie.
.TP 
\fBPOSIX2_FORT_RUN\fP \- \fB_SC_2_FORT_RUN\fP
Określa, czy są wspierane programy użytkowe POSIX.2, służące do uruchamia
programów w Fortranie.
.TP 
\fB_POSIX2_LOCALEDEF\fP \- \fB_SC_2_LOCALEDEF\fP
Określa, czy jest wspierane tworzenie ustawień regionalnych POSIX.2 przez
\fBlocaledef\fP(1) .
.TP 
\fBPOSIX2_SW_DEV\fP \- \fB_SC_2_SW_DEV\fP
Określa, czy są wspierane użytki zgodne z POSIX.2 służące do rozwijania
oprogramowania.
.P
Poniższe wartości także istnieją, ale może nie być ich w standardzie.
.TP 
 \- \fB_SC_PHYS_PAGES\fP
Liczba stron pamięci fizycznej. Proszę zauważyć, że nie jest możliwe, aby
iloczyn tej wartości z \fB_SC_PAGESIZE\fP przekroczył (overflow) dopuszczalny
zakres wartości liczbowych.
.TP 
 \- \fB_SC_AVPHYS_PAGES\fP
Liczba obecnie dostępnych stron fizycznej pamięci.
.TP 
 \- \fB_SC_NPROCESSORS_CONF\fP
Liczba skonfigurowanych procesorów. Zob. też \fBget_nprocs_conf\fP(3).
.TP 
 \- \fB_SC_NPROCESSORS_ONLN\fP
Liczba obecnie dostępnych procesorów. Zob. też \fBget_nprocs_conf\fP(3).
.SH "WARTOŚĆ ZWRACANA"
Zwracaną wartością \fBsysconf\fP() jest jedna z poniższych:
.IP \[bu] 3
W razie wystąpienia błędu zwracane jest \-1 i ustawiane \fIerrno\fP wskazując
błąd (na przykład na \fBEINVAL\fP wskazujące, że \fIname\fP jest niepoprawna).
.IP \[bu]
Jeśli \fIname\fP odpowiada jakiemuś ograniczeniu typu maksimum lub minimum, ale
nie można określić wartości tego ograniczenia, to zwracane jest \-1 bez
zmieniana wartości \fIerrno\fP. (W celu odróżnienia nieokreślalnego
ograniczenia od innego błędu, należy ustawić \fIerrno\fP na zero przed
wywołaniem tej funcji, i następnie sprawdzić, czy \fIerrno\fP jest niezerowe,
jeśli funkcja zwróci wartość \-1).
.IP \[bu]
Jeśli \fIname\fP odpowiada jakiejś nazwie opcji, to zwracana jest wartość
dodatnia, gdy ta opcja jest wspierana, w przeciwnym wypadku zwracane jest
\-1.
.IP \[bu]
W przeciwnym wypadku zwracana jest bieżąca wartość opcji lub
ograniczenia. Wartość ta nie będzie bardziej restrykcyjna niż odpowiednia
wartość dostępna w pliku \fI<unistd.h>\fP lub \fI<limits.h>\fP w
czasie kompilowania aplikacji.
.SH BŁĘDY
.TP 
\fBEINVAL\fP
\fIname\fP jest niepoprawne.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBsysconf\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne env
.TE
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001.
.SH USTERKI
Użycie \fBARG_MAX\fP jest skomplikowane, ponieważ nie jest określone, jak dużo
przestrzeni argumentów funkcji \fBexec\fP(3) jest zabierane przez zmienne
środowiskowe użytkownika.
.P
Niektóre ze zwracanych wartości mogą być olbrzymie, więc nie nadają się do
alokowania pamięci.
.SH "ZOBACZ TAKŻE"
\fBbc\fP(1), \fBexpr\fP(1), \fBgetconf\fP(1), \fBlocale\fP(1), \fBconfstr\fP(3),
\fBfpathconf\fP(3), \fBpathconf\fP(3), \fBposixoptions\fP(7)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
