plucky (3) sysconf.3.gz

Provided by: manpages-de-dev_4.25.1-1_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-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 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⟩.