.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 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 "9 maja 2019 r." GNU "Podręcznik programisty Linuksa" .SH NAZWA sysconf \- pobieranie informacje o konfiguracji w trakcie uruchomienia .SH SKŁADNIA .nf \fB#include \fP .PP \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. .PP W czasie kompilacji jest to robione przez zainkludowanie \fI\fP lub \fI\fP i testowanie wartości pewnych makr. .PP At run time, one can ask for numerical values using the present function \fBsysconf\fP(). One can ask for numerical values that may depend on the filesystem in which a file resides using \fBfpathconf\fP(3) and \fBpathconf\fP(3). One can ask for string values using \fBconfstr\fP(3). .PP .\" 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. .PP .\" 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\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). .PP Dla zmiennych lub limitów zazwyczaj istnieje stała \fB_COŚ\fP definiowana w \fI\fP lub \fB_POSIX_COŚ\fP definiowana w \fI\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. .PP .\" [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 Size of a page in bytes. Must not be less than 1. .TP \fBPAGE_SIZE\fP \- \fB_SC_PAGE_SIZE\fP A synonym for \fBPAGESIZE\fP/\fB_SC_PAGESIZE\fP. (Both \fBPAGESIZE\fP and \fBPAGE_SIZE\fP are specified in POSIX.) .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 indicates the maximum numbers of weights that can be assigned to an entry of the \fBLC_COLLATE order\fP keyword in the locale definition file. .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\e{m,n\e}\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 indicates whether the POSIX.2 creation of locales via \fBlocaledef\fP(1) is supported. .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. .PP 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 The number of processors configured. See also \fBget_nprocs_conf\fP(3). .TP \- \fB_SC_NPROCESSORS_ONLN\fP The number of processors currently online (available). See also \fBget_nprocs_conf\fP(3). .SH "WARTOŚĆ ZWRACANA" The return value of \fBsysconf\fP() is one of the following: .IP * 3 On error, \-1 is returned and \fIerrno\fP is set to indicate the cause of the error (for example, \fBEINVAL\fP, indicating that \fIname\fP is invalid). .IP * If \fIname\fP corresponds to a maximum or minimum limit, and that limit is indeterminate, \-1 is returned and \fIerrno\fP is not changed. (To distinguish an indeterminate limit from an error, set \fIerrno\fP to zero before the call, and then check whether \fIerrno\fP is nonzero when \-1 is returned.) .IP * If \fIname\fP corresponds to an option, a positive value is returned if the option is supported, and \-1 is returned if the option is not supported. .IP * 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 \fI\fP or \fI\fP when the application was compiled. .SH BŁĘDY .TP \fBEINVAL\fP \fIname\fP is invalid. .SH ATRYBUTY Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Interfejs Atrybut Wartość T{ \fBsysconf\fP() T} Bezpieczeństwo wątkowe MT\-Safe env .TE .SH "ZGODNE Z" POSIX.1\-2001, POSIX.1\-2008. .SH BŁĘDY 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. .PP Niektóre zwracane wartości mogą być duże; nie są one odpowiednie do przydzielania 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) .SH "O STRONIE" Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux \fIman\-pages\fP. 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/. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Robert Luberda i Michał Kułach . 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. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres .MT manpages-pl-list@lists.sourceforge.net .ME .