Provided by: manpages-cs-dev_4.13-4_all 

JMÉNO
sysconf - získej konfigurační informace za běhu
POUŽITÍ
#include <unistd.h>
long sysconf(int name);
POPIS
POSIX dovoluje aplikaci v čase překladu, nebo běhu aplikace, testovat, zda jsou určité volby podporovány,
nebo jaké jsou hodnoty těchto konfigurovatelných systémových parametrů.
V čase překladu se toto děje pomocí vložení <unistd.h> a/nebo <limits.h> a testování hodnot příslušných
maker.
V čase běhu, se můžeme dotazovat na numerické hodnoty použitím funkce sysconf(). Pokud se budeme
dotazovat na hodnoty, které jsou závislé na souborovém systému, je vhodné použít volání fpathconf(3) nebo
pathconf(3). Pro dotazování se na hodnoty řetězců je vhodné použít confstr(3).
Hodnoty získané z těchto funkcí jsou systémové konstanty. Nemění se po dobu života procesu.
Pro jednotlivé proměnné existuje obvykle konstanta _POSIX_FOO definovaná v <unistd.h>. Pokud definované
nejsou, můžeme se dotazovat v době běhu programu. Pokud je hodnota definována jako -1, potom není
podporována. Pokud je definováno na hodnotu 0, pak dané funkce a hlavičky existují, nicméně musíme se
dotazovat v době běhu programu, jaký stupeň podpory je k dispozici. Pokud je hodnota definována jinak než
0 nebo -1 pak je nastaveni podporováno. Obvykle hodnota (jako například 200112L) signalizuje rok a měsíc
POSIXové revize popisující dané nastavení. Glibc používá hodnotu 1 k signalizace podpory, protože POSIX
standard ještě stále nebyl zapracován do Glibc. Argumentem sysconf() bude _SC_FOO. Pro seznam voleb viz
posixoptions(7).
Pro proměnné, nebo limity obvykle existuje konstanta _FOO, která je definována v <limits.h>, nebo
_POSIX_FOO, kterou lze nalézt v <unistd.h>. Konstanta nebude definována, pokud není specifikován limit.
Pokud je konstanta definována, definuje zaručenou hodnotu a dokonce může být podporována i vyšší hodnota.
Pokud chce aplikace využívat hodnot, které se mohou měnit mezi jednotlivými systémy, může být volán
sysconf(). Argumentem sysconf() bude _SC_FOO.
Proměnné POSIX.1
Uvádíme jméno proměnné, jméno parametru funkce sysconf(), který je používán pro dotazování se na tuto
hodnotu, a krátký popis.
Nejdříve proměnné kompatibilní s POSIX.1.
ARG_MAX - _SC_ARG_MAX
Maximální délka argumentů pro funkce z rodiny exec(3). Nesmí být méně než _POSIX_ARG_MAX (4096).
CHILD_MAX - _SC_CHILD_MAX
Počet simultánně běžících procesů jednoho uživatele. Nesmí být méně než _POSIX_CHILD_MAX (25).
HOST_NAME_MAX - _SC_HOST_NAME_MAX
Maximální délka hostname, která nezahrnuje ukončující null byte, tak jak jej vrací funkce
gethostname(2). Nesmí být méně než _POSIX_HOST_NAME_MAX (255).
LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX
Maximální délka loginu, která zahrnuje i ukončující null byte. Nesmí být méně než
_POSIX_LOGIN_NAME_MAX (9).
NGROUPS_MAX - _SC_NGROUPS_MAX
Maximum number of supplementary group IDs.
takt hodin - _SC_CLK_TCK
Počet taktů hodin za sekundu. Odpovídající proměnná je zastaralá. Samozřejmě byla nazvána CLK_TCK.
(Poznámka: makro CLOCKS_PER_SEC nedává žádnou informaci: musí být rovno 1000000.)
OPEN_MAX - _SC_OPEN_MAX
Maximální počet souborů, které může mít proces v libovolný okamžik otevřen. Nesmí být méně než
_POSIX_OPEN_MAX (20).
PAGESIZE - _SC_PAGESIZE
Velikost stránky v bytech. Nesmí být méně než 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
Počet opakujících se výskytů BRE povolených regexec(3) a regcomp(3). Nesmí být méně než
_POSIX2_RE_DUP_MAX (255).
STREAM_MAX - _SC_STREAM_MAX
Maximální počet proudů, které může mít proces kdykoliv otevřen. Pokud je definován, má stejnou
hodnotu jako C makro FOPEN_MAX. Nesmí být méně než _POSIX_STREAM_MAX (8).
SYMLOOP_MAX - _SC_SYMLOOP_MAX
Maximální počet symbolických linků, které jsou vidět ve jméně souboru, než se vrátí ELOOP. Nesmí
být méně než _POSIX_SYMLOOP_MAX (8).
TTY_NAME_MAX - _SC_TTY_NAME_MAX
Maximální délka jména terminálu, včetně ukončujícího null bytu. Nesmí být méně než
_POSIX_TTY_NAME_MAX (9).
TZNAME_MAX - _SC_TZNAME_MAX
Maximální počet bytů ve jménu časového pásma. Nesmí být méně než _POSIX_TZNAME_MAX (6).
_POSIX_VERSION - _SC_VERSION
indicates the year and month the POSIX.1 standard was approved in the format YYYYMML; the value
199009L indicates the Sept. 1990 revision.
Proměnné POSIX.2
Next, the POSIX.2 values, giving limits for utilities.
BC_BASE_MAX - _SC_BC_BASE_MAX
maximální hodnota obase braná jako správná v utilitě bc(1).
BC_DIM_MAX - _SC_BC_DIM_MAX
indicates the maximum value of elements permitted in an array by bc(1).
BC_SCALE_MAX - _SC_BC_SCALE_MAX
maximální hodnota scale povolená bc(1).
BC_STRING_MAX - _SC_BC_STRING_MAX
maximální délka řetězce povolená 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
maximální počet výrazů, které mohou být vnořeny v závorkách v expr(1).
LINE_MAX - _SC_LINE_MAX
The maximum length of a utility's input line, either from standard input or from a file. This
includes space for a trailing newline.
RE_DUP_MAX - _SC_RE_DUP_MAX
Maximální počet opakovaných výskytů regulárního výrazu v intervalové notaci \{m,n\}.
POSIX2_VERSION - _SC_2_VERSION
verze POSIX.2 standardu ve formátu YYYYMML.
POSIX2_C_DEV - _SC_2_C_DEV
jsou podporovány POSIX.2 standardy týkající se jazyka C ?
POSIX2_FORT_DEV - _SC_2_FORT_DEV
jsou podporovány POSIX.2 standardy týkající se jazyka FORTRAN ?
POSIX2_FORT_RUN - _SC_2_FORT_RUN
jsou podporovány POSIX.2 FORTRAN utility ?
_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
je podporována volba POSIX.2 vývojových utilit ?
Následující hodnoty také existují, ale nejsou standard.
- _SC_PHYS_PAGES
The number of pages of physical memory. Note that it is possible for the product of this value and
the value of _SC_PAGESIZE to overflow.
- _SC_AVPHYS_PAGES
Počet aktuálně dostupných stránek fyzické paměti.
- _SC_NPROCESSORS_CONF
Počet nakonfigurovaných procesorů. Viz get_nprocs_conf(3).
- _SC_NPROCESSORS_ONLN
Počet dostupných online procesorů. Viz get_nprocs_conf(3).
NÁVRATOVÉ HODNOTY
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.
CHYBOVÉ STAVY
EINVAL name je neplatný.
ATRIBUTY
For an explanation of the terms used in this section, see attributes(7).
┌───────────┬───────────────┬─────────────┐
│ Interface │ Atribut │ Hodnota │
├───────────┼───────────────┼─────────────┤
│ sysconf() │ Thread safety │ MT-Safe env │
└───────────┴───────────────┴─────────────┘
SPLŇUJE STANDARDY
POSIX.1-2001, POSIX.1-2008.
CHYBY
Je velmi těžké používat ARG_MAX protože není specifikováno, jaké množství paměti je při volání exec(3)
spotřebováno uživatelskými proměnnými v prostředí.
Některé hodnoty mohou být příliš velké; nejsou vhodné k alokování paměti.
DALŠÍ INFORMACE
bc(1), expr(1), getconf(1), locale(1), confstr(3), fpathconf(3), pathconf(3), posixoptions(7)
TIRÁŽ
Tato stránka je součástí projektu Linux man-pages v5.10. Popis projektu a informace o hlášení chyb
najdete na https://www.kernel.org/doc/man-pages/.
P◈EKLAD
Překlad této příručky do španělštiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>
Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější
ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.
Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-
cs@lists.sourceforge.net.
GNU 9. května 2019 SYSCONF(3)