Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

       sysconf - Konfigurationsinformationen zur Laufzeit abfragen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <unistd.h>

       long sysconf(int name);

BESCHREIBUNG

       POSIX  erlaubt  es  einer  Anwendung  zur Kompilier- oder Laufzeit zu testen, ob bestimmte
       Optionen unterstützt werden oder wie der Wert bestimmter konfigurierbarer Konstanten  oder
       Beschränkungen ist.

       Zur  Kompilierzeit wird dies durch Einbinden von <unistd.h> und/oder <limits.h> und Testen
       des Wertes durch bestimmte Makros erledigt.

       Zur Laufzeit können numerische Werte durch die  vorhandene  Funktion  sysconf()  abgefragt
       werden.  Vom Dateisystem, auf dem sich eine Datei befindet, abhängige Werte können mittels
       fpathconf(3)  und  pathconf(3)  abgefragt  werden.   Zeichenkettenwerte   können   mittels
       confstr(3) abgefragt werden.

       Die  Werte,  die  diese  Funktionen zurückgeben, sind Systemkonfigurations-Konstanten. Sie
       ändern sich während der Lebensdauer eines Prozesses nicht.

       Für jede optionale Funktionalität gibt es typischerweise eine Konstante _POSIX_FOO, die in
       <unistd.h>  definiert würde. Wenn sie nicht definiert ist, sollte zur Laufzeit nachgefragt
       werden. Wenn sie als -1 definiert ist, wird die Funktionalität nicht unterstützt. Wenn sie
       als  0  definiert  ist, existieren die notwendigen Funktionen und Header, aber es muss zur
       Laufzeit nachgefragt werden, wie weit die Option unterstützt wird. Wenn sie definiert  und
       nicht  0  oder  -1  ist,  wird  die  Option unterstützt. Üblicherweise gibt der Wert (z.B.
       200112L) das Jahr und den Monat der POSIX-Überarbeitung an, die diese  Option  hinzufügte.
       Glibc benutzt dem Wert 1, um die Unterstützung anzuzeigen, solange die POSIX-Überarbeitung
       noch nicht veröffentlicht wurde. Das sysconf()-Argument wird _SC_FOO sein. Eine Liste  der
       Optionen finden die unter posixoptions(7).

       Für  Variablen  oder  Begrenzungen  gibt  es  typischerweise  eine  Konstante _FOO, die in
       <limits.h> definiert würde, oder _POSIX_FOO, die möglicherweise  in  <unistd.h>  definiert
       wurde. Die Konstante ist nicht definiert, wenn keine Begrenzung angegeben wurde. Falls die
       Konstante definiert ist, gibt es einen garantierten Wert, es könnte aber  tatsächlich  ein
       größerer  unterstützt  werden. Falls eine Anwendung Werte nutzen möchte, die sich zwischen
       Systemen ändern könnten, 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 Länge von Argumenten für  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 Länge des Rechnernamens, ausschließlich des abschließenden Nullbytes,  wie
              er  von  gethostname(2)  zurückgegeben  wird.  Muss mindestens _POSIX_HOST_NAME_MAX
              (255) sein.

       LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX
              maximale Länge des Anmeldenamens, einschließlich des abschließenden Nullbytes. Muss
              mindestens _POSIX_LOGIN_NAME_MAX (9) sein.

       NGROUPS_MAX - _SC_NGROUPS_MAX
              maximale Anzahl zusätzlicher Gruppenkennungen.

       Takte - _SC_CLK_TCK
              die  Anzahl  der Takte pro Sekunde. Die zugehörige 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 geöffnet haben kann.
              Muss mindestens _POSIX_OPEN_MAX (20) sein.

       PAGESIZE - _SC_PAGESIZE
              Größe einer Seite in Byte. Muss mindestens 1 sein.

       PAGE_SIZE - _SC_PAGE_SIZE
              Ein Synonym für 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
              gewöhnlichen regulären Ausdruck. Muss mindestens _POSIX2_RE_DUP_MAX (255) sein.

       STREAM_MAX - _SC_STREAM_MAX
              die maximale Anzahl von Datenströmen, die ein Prozess gleichzeitig  geöffnet  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  Auflösung  eines  Pfadnamens
              ELOOP zurückgibt. Muss mindestens _POSIX_SYMLOOP_MAX (8) sein.

       TTY_NAME_MAX - _SC_TTY_NAME_MAX
              die  maximale  Länge  von  Terminal-Gerätenamen  einschließlich  des abschließenden
              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 Überarbeitung vom September 1990 an.

   POSIX.2-Variablen
       Als nächstes die POSIX.2-Werte, die Begrenzungen für Hilfswerkzeuge angeben:

       BC_BASE_MAX - _SC_BC_BASE_MAX
              zeigt den maximalen Wert für 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 für scale an, der für bc(1) erlaubt ist.

       BC_STRING_MAX - _SC_BC_STRING_MAX
              zeigt die maximale Länge 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  Schlüsselworts
              LC_COLLATE order in der Locale-Definitionsdatei zugewiesen werden können.

       EXPR_NEST_MAX - _SC_EXPR_NEST_MAX
              ist   die   maximale   Anzahl  von  Ausdrücken,  die  bei  expr(1)  durch  Klammern
              eingeschlossen werden dürfen.

       LINE_MAX - _SC_LINE_MAX
              die  maximale  Länge  der  Eingabezeile  eines  Hilfsprogramms,  entweder  von  der
              Standardeingabe  oder  aus einer Datei. Dies schließt den Platz für einen folgenden
              Zeilenumbruch ein.

       RE_DUP_MAX - _SC_RE_DUP_MAX
              die  maximale  Anzahl  wiederholten  Auftretens  von  regulären  Ausdrücken,   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 unterstützt werden.

       POSIX2_FORT_DEV - _SC_2_FORT_DEV
              zeigt an, ob die POSIX.2-FORTRAN-Entwicklungshilfsprogramme unterstützt werden.

       POSIX2_FORT_RUN - _SC_2_FORT_RUN
              zeigt an, ob die POSIX.2-FORTRAN-Laufzeithilfsprogramme unterstützt werden.

       _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF
              zeigt  an,  ob  die  POSIX.2-Erzeugung von Locales mittels localedef(1) unterstützt
              wird.

       POSIX2_SW_DEV - _SC_2_SW_DEV
              zeigt an, ob die POSIX.2-Softwareentwicklungs-Hilfsprogrammoption unterstützt wird.

       Diese Werte existieren auch, sind möglicherweise aber kein Standard:

       _SC_PHYS_PAGES
              die Anzahl physischer Speicherseiten. Beachten Sie, dass es möglich ist,  dass  das
              Produkt dieses Wertes und des Werts von _SC_PAGESIZE überlaufen kann.

        - _SC_AVPHYS_PAGES
              die Anzahl derzeit verfügbarer 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  (verfügbar)  sind. Siehe auch
              get_nprocs_conf(3).

RÜCKGABEWERT

       Der Rückgabewert von sysconf() ist einer der Folgenden:

       •  Bei Fehlern wird -1  zurückgeliefert  und  errno  gesetzt,  um  den  Fehler  anzuzeigen
          (beispielsweise EINVAL, um anzuzeigen, dass der name ungültig ist).

       •  Falls  name  einer  Maximal-  oder Minimalgrenze entspricht und diese Grenze unbestimmt
          ist, wird -1 zurückgeliefert und errno nicht geändert. (Um eine unbestimmte Grenze  von
          einem  Fehler  zu  unterscheiden,  setzen  Sie errno vor dem Aufruf auf Null und prüfen
          dann, ob errno von Null verschieden ist, wenn -1 zurückgeliefert wird.)

       •  Falls name einer Option entspricht, wird ein positiver Wert zurückgeliefert, falls  die
          Option unterstützt wird und -1, falls die Option nicht unterstützt wird.

       •  Andernfalls  wird der aktuelle Wert der Option oder Grenze zurückgeliefert. Dieser Wert
          ist nicht eingeschränkter als der entsprechende Wert, der der Anwendung  in  <unistd.h>
          oder <limits.h> beschrieben wurde, als die Anwendung übersetzt wurde.

FEHLER

       EINVAL name ist ungültig.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌───────────────────────────────────────────────────┬───────────────────────┬─────────────┐
       │SchnittstelleAttributWert        │
       ├───────────────────────────────────────────────────┼───────────────────────┼─────────────┤
       │sysconf()                                          │ Multithread-Fähigkeit │ MT-Safe env │
       └───────────────────────────────────────────────────┴───────────────────────┴─────────────┘

STANDARDS

       POSIX.1-2001, POSIX.1-2008.

FEHLER

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

       Einige zurückgegebene Werte könnten 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)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde  von  Patrick  Rother  <krd@gulu.net>,
       Chris Leick <c.leick@vollbio.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.