BEZEICHNUNG¶
sysconf - Konfigurationsinformationen zur Laufzeit abfragen
Ü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 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 Null-Bytes, 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 Null-Bytes. Muss mindestens
      _POSIX_LOGIN_NAME_MAX (9) sein.
 
  - 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 Bytes. Muss mindestens 1
      sein. (Einige Systeme benutzen stattdessen PAGE_SIZE.)
 
  - 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 Null-Bytes. 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 Hilfprogramm 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 für die Reihenfolge LC_COLLATE
      in der Lokale-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 der Wert von
      _SC_PAGE_SIZE überlaufen können.
 
  - 
  
   - _SC_AVPHYS_PAGES 
  - die Anzahl derzeit verfügbarer physischer
      Speicherseiten
 
  - 
  
   - _SC_NPROCESSORS_CONF 
  - die Anzahl konfigurierter Prozessoren
 
  - 
  
   - _SC_NPROCESSORS_ONLN 
  - die Anzahl der Prozessoren, die derzeit online
      (verfügbar) sind
 
RÜCKGABEWERT¶
Wenn 
name ungültig ist, wird -1 zurückgegeben und 
errno
  wird auf 
EINVAL gesetzt. Andernfalls ist der zurückgegebene Wert,
  der Wert der Systemressource und 
errno bleibt unverändert. Im Fall
  von Optionen wird ein positiver Wert zurückgegeben, wenn eine abgefragte
  Option verfügbar ist und -1, wenn nicht. Im Fall von Begrenzungen
  bedeutet -1, dass dort keine Beschränkung definiert wurde.
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),
  
fpathconf(3), 
pathconf(3), 
posixoptions(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
  
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
  gemeldet werden können, finden sich unter
  
http://www.kernel.org/doc/man-pages/.
 
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother
  <krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.
 
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
  License Version 3 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 <debian-l10n-german@lists.debian.org>.