sysconf(3) Library Functions Manual sysconf(3) BEZEICHNUNG sysconf - Konfigurationsinformationen zur Laufzeit abfragen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include long sysconf(int name); BESCHREIBUNG POSIX erlaubt es einer Anwendung zur Kompilier- oder Laufzeit zu testen, ob bestimmte Optionen unterstutzt werden oder wie der Wert bestimmter konfigurierbarer Konstanten oder Beschrankungen ist. Zur Kompilierzeit wird dies durch Einbinden von und/oder und Testen des Wertes durch bestimmte Makros erledigt. Zur Laufzeit konnen numerische Werte durch die vorhandene Funktion sysconf() abgefragt werden. Vom Dateisystem, auf dem sich eine Datei befindet, abhangige Werte konnen mittels fpathconf(3) und pathconf(3) abgefragt werden. Zeichenkettenwerte konnen mittels confstr(3) abgefragt werden. Die Werte, die diese Funktionen zuruckgeben, sind Systemkonfigurations-Konstanten. Sie andern sich wahrend der Lebensdauer eines Prozesses nicht. Fur jede optionale Funktionalitat gibt es typischerweise eine Konstante _POSIX_FOO, die in definiert wurde. Wenn sie nicht definiert ist, sollte zur Laufzeit nachgefragt werden. Wenn sie als -1 definiert ist, wird die Funktionalitat nicht unterstutzt. Wenn sie als 0 definiert ist, existieren die notwendigen Funktionen und Header, aber es muss zur Laufzeit nachgefragt werden, wie weit die Option unterstutzt wird. Wenn sie definiert und nicht 0 oder -1 ist, wird die Option unterstutzt. Ublicherweise gibt der Wert (z.B. 200112L) das Jahr und den Monat der POSIX-Uberarbeitung an, die diese Option hinzufugte. Glibc benutzt dem Wert 1, um die Unterstutzung anzuzeigen, solange die POSIX-Uberarbeitung noch nicht veroffentlicht wurde. Das sysconf()-Argument wird _SC_FOO sein. Eine Liste der Optionen finden die unter posixoptions(7). Fur Variablen oder Begrenzungen gibt es typischerweise eine Konstante _FOO, die in definiert wurde, oder _POSIX_FOO, die moglicherweise in definiert wurde. Die Konstante ist nicht definiert, wenn keine Begrenzung angegeben wurde. Falls die Konstante definiert ist, gibt es einen garantierten Wert, es konnte aber tatsachlich ein grosserer unterstutzt werden. Falls eine Anwendung Werte nutzen mochte, die sich zwischen Systemen andern konnten, kann sysconf() aufgerufen werden. Das sysconf()-Argument wird _SC_FOO sein. POSIX.1-Variablen Es werden der Name der Variable, der Name des sysconf()-Arguments, das zum Abfragen ihres Wertes benutzt wird und eine kurze Beschreibung angegeben. Zuerst die POSIX.1-kompatiblen Werte: ARG_MAX - _SC_ARG_MAX die maximale Lange von Argumenten fur die Funktionsfamilie exec(3). Darf nicht weniger als _POSIX_ARG_MAX (4096) sein. CHILD_MAX - _SC_CHILD_MAX die maximale Anzahl von simultanen Prozessen pro Benutzerkennung. Muss mindestens _POSIX_CHILD_MAX (25) sein. HOST_NAME_MAX - _SC_HOST_NAME_MAX maximale Lange des Rechnernamens, ausschliesslich des abschliessenden Nullbytes, wie er von gethostname(2) zuruckgegeben wird. Muss mindestens _POSIX_HOST_NAME_MAX (255) sein. LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX maximale Lange des Anmeldenamens, einschliesslich des abschliessenden Nullbytes. Muss mindestens _POSIX_LOGIN_NAME_MAX (9) sein. NGROUPS_MAX - _SC_NGROUPS_MAX maximale Anzahl zusatzlicher Gruppenkennungen. Takte - _SC_CLK_TCK die Anzahl der Takte pro Sekunde. Die zugehorige Variable ist veraltet. Sie wurde sicherlich CLK_TCK genannt. (Beachten Sie: Das Makro CLOCKS_PER_SEC gibt keinen Hinweis. Es muss 1000000 sein.) OPEN_MAX - _SC_OPEN_MAX die maximale Anzahl von Dateien, die ein Prozess gleichzeitig geoffnet haben kann. Muss mindestens _POSIX_OPEN_MAX (20) sein. PAGESIZE - _SC_PAGESIZE Grosse einer Seite in Byte. Muss mindestens 1 sein. PAGE_SIZE - _SC_PAGE_SIZE Ein Synonym fur PAGESIZE/_SC_PAGESIZE. (Sowohl PAGESIZE als auch PAGE_SIZE sind in POSIX spezifiziert.) RE_DUP_MAX - _SC_RE_DUP_MAX maximale von regexec(3) und regcomp(3) erlaubte Wiederholungsanzahl in einem gewohnlichen regularen Ausdruck. Muss mindestens _POSIX2_RE_DUP_MAX (255) sein. STREAM_MAX - _SC_STREAM_MAX die maximale Anzahl von Datenstromen, die ein Prozess gleichzeitig geoffnet haben kann. Falls es definiert ist, hat es den gleichen Wert wie das Standard-C-Makro FOPEN_MAX. Muss mindestens _POSIX_STREAM_MAX (8) sein. SYMLOOP_MAX - _SC_SYMLOOP_MAX die maximale Anzahl symbolischer Links an, bevor die Auflosung eines Pfadnamens ELOOP zuruckgibt. Muss mindestens _POSIX_SYMLOOP_MAX (8) sein. TTY_NAME_MAX - _SC_TTY_NAME_MAX die maximale Lange von Terminal-Geratenamen einschliesslich des abschliessenden Nullbytes. Muss mindestens _POSIX_TTY_NAME_MAX (9) sein. TZNAME_MAX - _SC_TZNAME_MAX die maximale Anzahl von Bytes eines Zeitzonennamens. Muss mindestens _POSIX_TZNAME_MAX (6) sein. _POSIX_VERSION - _SC_VERSION zeigt Jahr und Monat, zu dem der Standard POSIX.1 festgesetzt wurde, im Format YYYYMML an; der Wert 199009L zeigt die Uberarbeitung vom September 1990 an. POSIX.2-Variablen Als nachstes die POSIX.2-Werte, die Begrenzungen fur Hilfswerkzeuge angeben: BC_BASE_MAX - _SC_BC_BASE_MAX zeigt den maximalen Wert fur obase an, der von dem Hilfsprogramm bc(1) akzeptiert wird. BC_DIM_MAX - _SC_BC_DIM_MAX zeigt den maximalen Wert von Elementen an, die in einem Feld von bc(1) zugelassen sind. BC_SCALE_MAX - _SC_BC_SCALE_MAX zeigt den maximalen Wert fur scale an, der fur bc(1) erlaubt ist. BC_STRING_MAX - _SC_BC_STRING_MAX zeigt die maximale Lange einer Zeichenkette an, die von bc(1) akzeptiert wird. COLL_WEIGHTS_MAX - _SC_COLL_WEIGHTS_MAX zeigt die maximale Anzahl von Gewichtungen, die einem Eintrag des Schlusselworts LC_COLLATE order in der Locale-Definitionsdatei zugewiesen werden konnen. EXPR_NEST_MAX - _SC_EXPR_NEST_MAX ist die maximale Anzahl von Ausdrucken, die bei expr(1) durch Klammern eingeschlossen werden durfen. LINE_MAX - _SC_LINE_MAX die maximale Lange der Eingabezeile eines Hilfsprogramms, entweder von der Standardeingabe oder aus einer Datei. Dies schliesst den Platz fur einen folgenden Zeilenumbruch ein. RE_DUP_MAX - _SC_RE_DUP_MAX die maximale Anzahl wiederholten Auftretens von regularen Ausdrucken, wenn Intervallschreibweise \{m,n\} benutzt wird. POSIX2_VERSION - _SC_2_VERSION zeigt die Version des Standards POSIX.2 im Format YYYYMML an. POSIX2_C_DEV - _SC_2_C_DEV zeigt an, ob die POSIX.2-C-Sprachentwicklungseinrichtungen unterstutzt werden. POSIX2_FORT_DEV - _SC_2_FORT_DEV zeigt an, ob die POSIX.2-FORTRAN-Entwicklungshilfsprogramme unterstutzt werden. POSIX2_FORT_RUN - _SC_2_FORT_RUN zeigt an, ob die POSIX.2-FORTRAN-Laufzeithilfsprogramme unterstutzt werden. _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF zeigt an, ob die POSIX.2-Erzeugung von Locales mittels localedef(1) unterstutzt wird. POSIX2_SW_DEV - _SC_2_SW_DEV zeigt an, ob die POSIX.2-Softwareentwicklungs-Hilfsprogrammoption unterstutzt wird. Diese Werte existieren auch, sind moglicherweise aber kein Standard: _SC_PHYS_PAGES die Anzahl physischer Speicherseiten. Beachten Sie, dass es moglich ist, dass das Produkt dieses Wertes und des Werts von _SC_PAGESIZE uberlaufen kann. - _SC_AVPHYS_PAGES die Anzahl derzeit verfugbarer physischer Speicherseiten. - _SC_NPROCESSORS_CONF die Anzahl konfigurierter Prozessoren. Siehe auch get_nprocs_conf(3). - _SC_NPROCESSORS_ONLN die Anzahl der Prozessoren, die derzeit online (verfugbar) sind. Siehe auch get_nprocs_conf(3). RUCKGABEWERT Der Ruckgabewert von sysconf() ist einer der Folgenden: o Bei Fehlern wird -1 zuruckgeliefert und errno gesetzt, um den Fehler anzuzeigen (beispielsweise EINVAL, um anzuzeigen, dass der name ungultig ist). o Falls name einer Maximal- oder Minimalgrenze entspricht und diese Grenze unbestimmt ist, wird -1 zuruckgeliefert und errno nicht geandert. (Um eine unbestimmte Grenze von einem Fehler zu unterscheiden, setzen Sie errno vor dem Aufruf auf Null und prufen dann, ob errno von Null verschieden ist, wenn -1 zuruckgeliefert wird.) o Falls name einer Option entspricht, wird ein positiver Wert zuruckgeliefert, falls die Option unterstutzt wird und -1, falls die Option nicht unterstutzt wird. o Andernfalls wird der aktuelle Wert der Option oder Grenze zuruckgeliefert. Dieser Wert ist nicht eingeschrankter als der entsprechende Wert, der der Anwendung in oder beschrieben wurde, als die Anwendung ubersetzt wurde. FEHLER EINVAL name ist ungultig. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +----------------------------+-------------------------+---------------+ |Schnittstelle | Attribut | Wert | +----------------------------+-------------------------+---------------+ |sysconf() | Multithread-Fahigkeit | MT-Sicher env | +----------------------------+-------------------------+---------------+ STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001. FEHLER Es ist schwierig ARG_MAX zu benutzen, da unbekannt ist, wie viel des Argumentbereichs fur exec(3) von den Umgebungsvariablen des Benutzers belegt wird. Einige zuruckgegebene Werte konnten riesig sein; sie sind nicht geeignet, um Speicher zu reservieren. SIEHE AUCH bc(1), expr(1), getconf(1), locale(1), confstr(3), fpathconf(3), pathconf(3), posixoptions(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: . Linux man-pages 6.15 17. Mai 2025 sysconf(3)