SYSCONF(3)

BEZEICHNUNG
sysconf - hole Konfigurationsinformationen zur Laufzeit

ÜBERSICHT
#include <unistd.h>

long sysconf(int name);

BESCHREIBUNG
sysconf() ermöglicht einer Anwendung, Werte für Systemlimits oder -optionen zur Laufzeit zu erfahren.

Die äquivalenten Makros, die in <unistd.h> definiert sind, können nur statische Werte angeben; wenn eine Anwendung veränderliche Werte ermitteln will, so kann sysconf() aufgerufen werden, wobei sich liberalere Werte ergeben können.

Um Informationen über eine bestimmte Datei zu erhalten, stehen fpathconf() oder pathconf() zur Verfügung.

Die folgenden Werte werden für name unterstützt. Zuerst die POSIX.1-kompatiblen Werte:

_SC_ARG_MAX
    Die maximale Länge von Argumenten für die Funktionsfamilie exec(); das entsprechende Makro ist ARG_MAX.

_SC_CHILD_MAX
    Die Anzahl von simultanen Prozessen pro Benutzerkennung; das entsprechende Makro ist _POSIX_CHILD_MAX.

_SC_CLK_TCK
    Die Anzahl von Uhr-Ticks pro Sekunde; das entsprechende Makro ist CLK_TCK.

_SC_STREAM_MAX
    Die maximale Anzahl von Streams, die ein Prozess gleichzeitig geöffnet haben kann. Das entsprechende POSIX-Makros ist STREAM_MAX, das entsprechende Standard-C-Makros ist FOPEN_MAX.

_SC_TZNAME_MAX
    Die maximale Anzahl von Bytes eines Zeitzonennamens; das entsprechende Makro ist TZNAME_MAX.

_SC_OPEN_MAX
    Die maximale Anzahl von Dateien, die ein Prozess gleichzeitig geöffnet haben kann; das entsprechende Makro ist _POSIX_OPEN_MAX.

_SC_JOB_CONTROL
    Dies zeigt an, ob Job-Kontroller nach POSIX unterstützt wird; das entsprechende Makro ist _POSIX_JOB_CONTROL.

_SC_SAVED_IDS
    Dies gibt an, ob ein Prozess eine gesicherte Benutzerkennung und eine gesicherte Gruppenkennung hat; das entsprechende Makro ist _POSIX_SAVED_IDS.

_SC_VERSION
    gibt Jahr und Monat, zu dem der Standard POSIX.1 festgesetzt wurde, in dem Format YYYYMML an; der Wert 199009L zeigt die neuste Revision von 1990.

Nun die Werte für POSIX.2:

_SC_BC_BASE_MAX
    zeigt den maximalen Wert für obase, der von dem Hilfprogramm bc(1) akzeptiert wird; das entsprechende Makro ist BC_BASE_MAX.

_SC_BC_DIM_MAX
    zeigt den maximalen Wert von Elementen an, die in einem Feld von bc(1) zugelassen sind; das entsprechende Makro ist BC_DIM_MAX.

_SC_BC_SCALE_MAX
    zeigt den maximalen Wert für scale an, der für bc(1) erlaubt ist; das entsprechende Makro ist BC_SCALE_MAX.

_SC_BC_STRING_MAX
    zeigt die maximale Länge eines Strings, die von bc(1) akzeptier wird; das entsprechende Makro ist BC_STRING_MAX.

_SC_COLL_WEIGHTS_MAX
    zeigt die maximale Anzahl von Gewichtungen, die einem Eintrag des Schlüsselworts LC_COLLATE in der Lokale-Definitionsdatei zugewiesen werden können; das entsprechende Makro ist COLL_WEIGHTS_MAX.

_SC_EXPR_NEST_MAX
    ist die maximale Anzahl von Ausdrücken, die durch Klammern eingeschlossen sein dürfen bei expr(1); das entsprechende Makro ist EXPR_NEST_MAX.

_SC_LINE_MAX
    Die maximale Länge der Eingabezeile eines Hilfsprogramms, entweder von der Standardeingabe oder aus einer Datei. Dies schließt die Länge eines folgendes Zeilenumbruchs ein. Das entsprechende Makro ist LINE_MAX.

_SC_RE_DUP_MAX
    Die maximale Anzahl wiederholten Auftretens von regulären Ausdrücken wenn Intervallschreibweise \{m,n\} benutzt wird. Das entsprechende Makro ist RE_DUP_MAX.

_SC_2_VERSION
    zeigt die Version des Standards POSIX.2 im Format YYYYMML. Das entsprechende Makro ist POSIX2_VERSION.

_SC_2_DEV
    zeigt an ob die POSIX.2 C Sprachentwicklungseinrichtungen unterstützt werden. Das entsprechende Makro ist POSIX2_C_DEV.

_SC_2_FORT_DEV
    zeigt an ob die POSIX.2 FORTRAN Entwicklungshilfsprogramme unterstützt werden. Das entsprechende Makro ist POSIX2_FORT_RUN.

_SC_2_FORT_RUN
    zeigt an ob die POSIX.2 FORTRAN Laufzeithilfsprogramme unterstützt werden. Das entsprechende Makro ist POSIX2_FORT_RUN.

POSIX2_LOCALEDEF
    zeigt an ob die POSIX.2 - Erzeugung von Locates via locale(1) unterstützt wird. Das entsprechende Makro ist POSIX2_LOCALEDEF.

_SC_2_SW_DEV
    zeigt an ob die POSIX.2 Softwareentwicklungshilfsprogrammoption unterstützt wird. Das entsprechende Makro ist POSIX2_SW_DEV.

RÜCKGABEWERT
Der zurückgegebene Wert ist der Wert für die Systemressource, 1 wenn eine abgefragte Option verfügbar ist, 0 wenn sie nicht verfügbar ist, oder -1 im Fehlerfall. Die Variable errno wird nicht gesezt.

KONFORM ZU
POSIX.1, vorläufigem POSIX.2

BUGS
Es ist schwierig, ARG_MAX zu benutzen, da es nicht angibt, wie viel des Argumentbereichs für exec() von den Umgebungsvariablen des Benutzers belegt wird.

Einige zurückgegebene Werte können riesig sein; sie sind nicht geeignet um Speicher zu belegen.

POSIX.2 ist noch kein verabschiedeter Standard; die Angaben in dieser Handbuchseite werden sich vermutlich ändern.

SIEHE AUCH
bc(1), expr(1), locale(1), fpathconf(3), pathconf(3).