SYSCONF(3)

JMÉNO
sysconf - Získej konfigurační informace za běhu.

SYNTAXE
#include <unistd.h>

long sysconf(int name);

POPIS
sysconf() poskytuje aplikaci možnost, jak získat hodnoty systémových omezení nebo voleb za běhu.

Ekvivalentní makra definovaná v <unistd.h> mohou poskytnout pouze informativní hodnoty; jestliže aplikace bude chtít využít hodnot, které se mohou měnit, je lépe použít volání sysconf() , které vrátí aktuální hodnoty.

Limity, jež závisí na konkrétním souboru lze získat pomocí fpathconf() or pathconf().

Následující hodnoty můžete dosadit za name. Nejdříve POSIX.1 kompatibilní hodnoty:

_SC_ARG_MAX
    Maximální délka argumentů pro funkce z rodiny exec() ; odpovídající makro z <unistd.h> je ARG_MAX.

_SC_CHILD_MAX
    Počet simultánně běžících procesů jednoho uživatele, odpovídající makro je _POSIX_CHILD_MAX.

_SC_CLK_TCK
    Počet taktů hodin za sekundu; odpovídající makro je CLK_TCK.

_SC_STREAM_MAX
    Maximální počet proudů, které může mít proces kdykoliv otevřen. Odpovídající POSIX makro je STREAM_MAX, odpovídající standard C makro je FOPEN_MAX.

_SC_TZNAME_MAX
    Maximální počet bytů ve jménu časového pásma, odpovídající makro je TZNAME_MAX.

_SC_OPEN_MAX
    Maximální počet souborů, které může mít proces kdykoliv otevřen, odpovídající makro je _POSIX_OPEN_MAX.

_SC_JOB_CONTROL
    Indikuje je-li podporováno POSIXové řízení procesů, odpovídající makro je _POSIX_JOB_CONTROL.

_SC_SAVED_IDS
    Indikuje, má-li proces uloženo set-user-ID a set-group-ID; odpovídající makro je _POSIX_SAVED_IDS.

_SC_VERSION
    značí měsíc a rok POSIX.1 standardu ve formátu YYYYMML ; hodnota 199309L je nejnovější revize - z roku 1993.

Dále, hodnoty POSIX.2 :

_SC_BC_BASE_MAX
    maximální hodnota obase braná jako správná v utilitě bc(1) ; odpovídající makro je BC_BASE_MAX.

_SC_BC_DIM_MAX
    maximální počet prvků v poli pro utilitu bc(1); odpovídající makro je BC_DIM_MAX.

_SC_BC_SCALE_MAX
    maximální hodnota scale povolená bc(1); odpovídající makro je BC_SCALE_MAX.

_SC_BC_STRING_MAX
    maximální délka řetězce povolená bc(1); odpovídající makro je BC_STRING_MAX.

_SC_COLL_WEIGHTS_MAX
    maximální počet šířek, které mohou být přiřazeny záznamu LC_COLLATE order v definičním souboru locale; odpovídající makro je COLL_WEIGHTS_MAX.

_SC_EXPR_NEST_MAX
    maximální počet výrazů, které mohou být vnořeny v závorkách v expr(1). Odpovídající makro je EXPR_NEST_MAX.

_SC_LINE_MAX
    Maximální délka vstupního řádku pro utility, jak ze standardního vstupu, tak i ze souboru. Odpovídající makro je LINE_MAX.

_SC_RE_DUP_MAX
    Maximální počet opakovaných výskytů regulárního výrazu v intervalové notaci \{m,n\} ; odpovídající makro je RE_DUP_MAX.

_SC_2_VERSION
    verze POSIX.2 standardu ve formátu YYYYMML. Odpovídající makro je POSIX2_VERSION.

_SC_2_DEV
    jsou podporovány POSIX.2 standardy týkající se jazyka C ? Odpovídající makro je POSIX2_C_DEV.

_SC_2_FORT_DEV
    jsou podporovány POSIX.2 standardy týkající se jazyka FORTRAN ? Odpovídající makro je POSIX2_FORT_RUN.

_SC_2_FORT_RUN
    jsou podporovány POSIX.2 FORTRAN utility ? Odpovídající makro je POSIX2_FORT_RUN.

POSIX2_LOCALEDEF
    je možno vytvářet POSIX.2 locales pomocí locale(1); odpovídající makro je POSIX2_LOCALEDEF.

_SC_2_SW_DEV
    je podporována volba POSIX.2 vývojových utilit ? Odpovídající makro je POSIX2_SW_DEV.

NÁVRATOVÁ HODNOTA
Navrácená hodnota je hodnota systémového parametru. 1 je-li tato volba k dispozici, 0 jestliže není, nebo -1 v případě chyby. Proměnná errno není nastavena.

SPLŇUJE STANDARDY
POSIX.1, návrh POSIX.2

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() 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.

POSIX.2 ještě není standardem a proto se informace v této manuálové stránce jistě stanou předmětem změn.

DALŠÍ INFORMACE
bc(1), expr(1), locale(1), fpathconf(3), pathconf(3)