sysconf, Subroutine

Zweck

Bestimmt den aktuellen Wert einer angegebenen Systembegrenzung oder -option.

Bibliothek

Standard-C-Bibliothek (libc.a)

Syntax

#include <unistd.h>
long int sysconf ( Name)
int Name;

Beschreibung

Die Subroutine sysconf bestimmt den aktuellen Wert bestimmter Systemparameter, die konfigurierbaren Systemgrenzwerte oder ob optionale Features unterstützt werden. Der Parameter Name stellt die Systemvariable dar, die abgefragt wird.

Parameter

Element Beschreibung
Name Gibt an, welche Systemvariableneinstellung zurückgegeben werden soll Die gültigen Werte für den Parameter Name sind in den Dateien limits.h, time.hund unistd.h definiert und nachfolgend beschrieben:
Element Beschreibung
_SC_AIO_LISTIO_MAX Maximale Anzahl der Eingabe-und Ausgabeoperationen, die in einem Listeneingabe-und -ausgabeaufruf angegeben werden können
_SC_AIO_MAX Maximale Anzahl ausstehender asynchroner Ein-und Ausgabeoperationen.
_SC_AIX_ENHANCED_AFFINITY Bestimmt, ob die ENHANCED_AFFINITY-Services aktiviert sind.
_SC_ASYNCHRONOUS_IO Die Implementierung unterstützt die Option für asynchrone Eingabe und Ausgabe.
_SC_ARG_MAX Gibt die maximale Bytelänge der Argumente für eine der exec -Funktionen einschließlich der Umgebungsdaten an.
_SC_BC_BASE_MAX Gibt die maximale Anzahl der Variablen ibase und obase an, die von ../b_commands/bc.html zugelassen werden.
_SC_BC_DIM_MAX Gibt die maximale Anzahl von Elementen an, die der Befehl bc in einem Array zulässt.
_SC_BC_SCALE_MAX Gibt die maximale metrische Variable an, die vom Befehl bc zugelassen wird.
_SC_BC_STRING_MAX Gibt die maximale Länge einer Zeichenfolgekonstante an, die vom Befehl bc zugelassen wird.
_SC_CHILD_MAX Gibt die Anzahl der gleichzeitigen Prozesse pro realer Benutzer-ID an.
_SC_CLK_TCK Gibt das Zeitschrittinkrement an, wie durch CLK_TCK in der Datei time.h definiert.
_SC_COLL_WEIGHTS_MAX Gibt die maximale Anzahl von Gewichtungen an, die einem Eintrag des Schlüsselworts LC_COLLATE in der Definitionsdatei für die Ländereinstellung zugewiesen werden kann.
_SC_DELAYTIMER_MAX Maximale Anzahl Zeitgeberverfallsüberläufe.
_SC_AUSDR_NEST_MAX Gibt die maximale Anzahl von Ausdrücken an, die durch den Befehl expr in Klammern verschachtelt werden können.
_SC_JOB_CONTROL Wenn dieses Symbol definiert ist, wird die Jobsteuerung unterstützt.
_SC_IOV_MAX Gibt die maximale Anzahl von iovec-Strukturen an, die ein Prozess zur Verwendung mit den Subroutinen readv und writev verfügbar hat.
_SC_LARGE_PAGESIZE Größe (in Byte) einer großen Seite.
_SC_LINE_MAX Gibt die maximale Bytelänge der Eingabezeile eines Befehls (Standardeingabe oder andere Datei) an, wenn ein Befehl als Verarbeitung von Textdateien beschrieben wird. In die Länge werden auch abschließende Zeilenvorschubzeichen eingerechnet.
_SC_LOGIN_NAME_MAX Maximale Länge eines Anmeldenamens.
_SC_MQ_OPEN_MAX Maximale Anzahl offener Nachrichtenwarteschlangendeskriptoren.
_SC_MQ_PRIO_MAX Maximale Anzahl Nachrichtenprioritäten.
_SC_MEMLOCK Die Implementierung unterstützt die Option zum Sperren von Prozessspeicher.
_SC_MEMLOCK_RANGE Die Implementierung unterstützt die Option "Range Memory Locking".
_SC_MEMORY_PROTECTION Die Implementierung unterstützt die Speicherschutzoption.
_SC_MESSAGE_PASSING Die Implementierung unterstützt die Option "Message Passing".
_SC_NGROUPS_MAX Gibt die maximale Anzahl gleichzeitiger ergänzender Gruppen-IDs pro Prozess an
_SC_OPEN_MAX Gibt die maximale Anzahl Dateien an, die ein Prozess gleichzeitig öffnen kann.
_SC_PASS_MAX Gibt die maximale Anzahl signifikanter Zeichen in einem Kennwort an (ohne das abschließende Nullzeichen)
_SC_PASS_MAX Maximale Anzahl signifikanter Byte in einem Kennwort.
_SC_PAGESIZE Äquivalent zu _SC_PAGE_SIZE.
_SC_PAGE_SIZE Größe einer Seite in Byte.
_SC_PRIORITIZED_E/A Die Implementierung unterstützt die Option für priorisierte Eingabe und Ausgabe.
_SC_PRIORITY_SCHEDULING Die Implementierung unterstützt die Option "Prozessplanung".
_SC_RE_DUP_MAX Gibt die maximale Anzahl wiederholter Vorkommen eines regulären Ausdrucks an, die zulässig sind, wenn \ { mverwendet wird. n \} Intervallnotation.
_SC_RTSIG_MAX Maximale Anzahl von Echtzeitsignalen, die für Anwendungen reserviert sind.
Element Beschreibung
_SC_REALTIME_SIGNALS Die Implementierung unterstützt die Option Realtime Signals Extension.
_SC_SAVED_IDS Wenn dieses Symbol definiert ist, hat jeder Prozess eine gespeicherte Satzbenutzer-ID und Satzgruppen-ID.
_SC_SEM_NSEMS_MAX Maximale Anzahl Semaphore pro Prozess.
_SC_SEM_VALUE_MAX Maximalwert, den ein Semaphor haben kann.
_SC_SEMAPHORES Die Implementierung unterstützt die Option "Semaphores".
_SC_SHARED_MEMORY_OBJECTS Die Implementierung unterstützt die Option "Shared Memory Objects".
_SC_SIGQUEUE_MAX Maximale Anzahl von Signalen, die ein Prozess senden kann und zu einem beliebigen Zeitpunkt aussteht.
_SC_STREAM_MAX Gibt die maximale Anzahl Datenströme an, die ein Prozess gleichzeitig öffnen kann.
_SC_SYNCHRONIZED_IO Die Implementierung unterstützt die Option Synchronisierte Eingabe und Ausgabe.
_SC_TIMER_MAX Maximale Anzahl der Zeitgeber pro Prozess.
_SC_TIMERS Die Implementierung unterstützt die Option "Zeitgeber".
_SC_TZNAME_MAX Gibt die maximale Anzahl Byte an, die für den Namen einer Zeitzone unterstützt werden (nicht den Wert TZ ).
_SC_VERSION Gibt an, dass die Versions-oder Revisionsnummer des POSIX -Standards implementiert ist, um das vierstellige Jahr und den zweistelligen Monat anzugeben, in dem der Standard vom IEEE Standards Board genehmigt wurde. Dieser Wert ist momentan die lange ganze Zahl 198808.
_SC_XBS5_ILP32_OFF32 Die Implementierung stellt eine Kompilierungsumgebung in der Programmiersprache C mit den 32-Bit-Typen 'int', 'long', 'pointer' und 'off_t ' bereit.
_SC_XBS5_ILP32_OFFBIG Die Implementierung stellt eine Kompilierungsumgebung in der Programmiersprache C mit 32-Bit-Typen 'int', 'long' und 'pointer 'sowie einem Typ' off_t ' mit mindestens 64 Bit bereit.
_SC_XBS5_LP64_OFF64 Die Implementierung stellt eine Kompilierungsumgebung in der Programmiersprache C mit den Typen 32-Bit int und 64-Bit long, pointer und off_t bereit.
_SC_XBS5_LPBIG_OFFBIG Die Implementierung stellt eine Kompilierungsumgebung in der Programmiersprache C mit einem Typ 'int' mit mindestens 32 Bit und einem Typ 'long', 'pointer' und einem Typ 'off_t' mit mindestens 64 Bit bereit.
_SC_XOPEN_CRYPT Gibt an, dass das System die X/Open Encryption Feature Group unterstützt.
_SC_XOPEN_LEGACY Die Implementierung unterstützt die traditionelle Featuregruppe.
_SC_XOPEN_REALTIME Die Implementierung unterstützt die X/Open Realtime Feature Group.
_SC_XOPEN_REALTIME_THREADS Die Implementierung unterstützt die X/Open Realtime Threads Feature Group.
_SC_XOPEN_ENH_I18N Gibt an, dass das System die X/Open Enhanced Internationalization Feature Group unterstützt.
_SC_XOPEN_SHM Gibt an, dass das System die X/Open Shared Memory-Feature-Gruppe unterstützt.
_SC_XOPEN_VERSION Gibt an, dass die Versions-oder Überarbeitungsnummer des X/Open-Standards implementiert ist.
_SC_XOPEN_XCU_VERSION Gibt den Wert an, der die aktuelle Version der XCU-Spezifikation beschreibt.
_SC_ATEXIT_MAX Gibt die maximale Anzahl der Registerfunktionen für die Subroutine atexit an.
_SC_PAGE_SIZE Gibt die Granularität der Seitengröße des Speichers an
_SC_AES_OS_VERSION Gibt die OSF-AES-Version an
_SC_2_VERSION Gibt den Wert an, der die aktuelle Version von POSIX.2beschreibt.
_SC_2_C_BIND Gibt an, dass das System die Bindungsoption der Programmiersprache C unterstützt.
_SC_2_C_CHAR_TERM Gibt an, dass das System mindestens einen Terminaltyp unterstützt.
_SC_2_C_DEV Gibt an, dass das System die Option C Language Development Utilities unterstützt.
_SC_2_C_VERSION Gibt den Wert an, der die aktuelle Version von POSIX.2 mit der C-Sprachbindung beschreibt.
_SC_2_FORT_DEV Gibt an, dass das System die Option FORTRAN Development Utilities unterstützt.
_SC_2_FORT_RUN Gibt an, dass das System die Option FORTRAN Development Utilities unterstützt.
_SC_2_LOCALEDEF Gibt an, dass das System die Erstellung von Ländereinstellungen unterstützt
_SC_2_SW_DEV Gibt an, dass das System die Option Software Development Utilities unterstützt.
_SC_2_UPE Gibt an, dass das System die Option User Portability Utilities unterstützt.
_SC_NPROCESSORS_CONF Anzahl der konfigurierten Prozessoren.
_SC_NPROCESSORS_ONLN Anzahl der Prozessoren, die online sind.
_SC_THREAD_DATAKEYS_MAX Maximale Anzahl Datenschlüssel, die in einem Prozess definiert sein können.
Element Beschreibung
_SC_THREAD_DESTRUKTOR_ITERATIONEN Die maximale Anzahl der Versuche, die threadspezifischen Daten eines Threads zu löschen.
_SC_THREAD_KEYS_MAX Maximale Anzahl Datenschlüssel pro Prozess.
_SC_THREAD_STACK_MIN Mindestwert für die Thread-Stack-Größe.
_SC_THREAD_THREAD_MAX Maximale Anzahl von Threads in einem Prozess.
_SC_REENTRANT_FUNKTIONEN System unterstützt wiedereintrittsfähige Funktionen (wiedereintrittsfähige Funktionen müssen in Multithread-Anwendungen verwendet werden).
_SC_THREADS System unterstützt POSIX -Threads.
_SC_THREAD_ATTR_STACKADDR Das System unterstützt die Option für Stackadressen für POSIX -Threads (Attribut stackaddr von Threads).
_SC_THREAD_ATTR_STACKSIZE Das System unterstützt die Stackgrößenoption für POSIX -Threads (Stackgrößenattribut von Threads).
_SC_THREAD_PRIORITY_SCHEDULING Das System unterstützt die Prioritätszeitplanung für POSIX -Threads.
_SC_THREAD_PRIO_INHERIT Das System unterstützt das Prioritätsvererbungsprotokoll für POSIX -Threads (Prioritäts-Umkehrprotokoll für Mutexe).
_SC_THREAD_PRIO_PROTECT Das System unterstützt das Protokoll für die Prioritätsgrenze für POSIX -Threads (Prioritäts-Umkehrprotokoll für Mutexes).
_SC_THREAD_PROCESS_SHARED Das System unterstützt die Option zur gemeinsamen Prozessnutzung für POSIX -Threads (pshared-Attribut von Mutexen und Bedingungen).
_SC_TTY_NAME_MAX Maximale Länge eines Terminaleinheitennamens.
_SC_SYNCHRONIZED_IO Die Implementierung unterstützt die Option Synchronisierte Eingabe und Ausgabe .
_SC_FSYNC Die Implementierung unterstützt die Option Dateisynchronisation .
_SC_MAPPED_FILES Die Implementierung unterstützt die Option Memory Mapped Files .
_SC_LPAR_ENABLED Gibt an, ob LPARs aktiviert sind.
_SC_AIX_KERNEL_BITMODE Bestimmt, ob der Kernel ein 32 -Bit-oder 64-Bit-Kernel ist.
_SC_AIX_REALMEM Bestimmt die Größe des Realspeichers in Kilobyte.
_SC_AIX_HARDWARE_BITMODE Bestimmt, ob die Maschine eine 32 -Bit-oder eine 64-Bit-Maschine ist.
_SC_AIX_MP_CAPABLE Bestimmt, ob die Hardware MP-fähig ist oder nicht.
Anmerkung: Die Variable _SC_AIX_MP_CAPABLE ist nur für den Rootbenutzer verfügbar.
_SC_AIX_UKEYS Anzahl der verfügbaren Benutzerschlüssel. Der Wert 0 gibt an, dass Benutzerschlüssel und die Schnittstellen, die sie verwalten, nicht verfügbar sind.
Hinweis: Die Befehle _SYNCHRONIZED_IO, _SC_FSYNCund SC_MAPPED_FILES gelten für Betriebssystemversion 4.3 und höhere Releases.

Die für die vom System unterstützten Variablen zurückgegebenen Werte ändern sich während der Laufzeit des Prozesses, der den Aufruf vornimmt, nicht.

Rückgabewerte

Wenn die Subroutine sysconf erfolgreich ist, wird der aktuelle Wert der Systemvariablen zurückgegeben. Der zurückgegebene Wert kann nicht restriktiver sein als der entsprechende Wert, der der Anwendung durch die Datei limits.h, time.hoder unistd.h zur Kompilierzeit beschrieben wird. Der zurückgegebene Wert ändert sich während der Laufzeit des aufrufenden Prozesses nicht. Wenn das Unterprogramm sysconf nicht erfolgreich ist, wird ein Wert von -1 zurückgegeben.

Fehlercodes

Wenn der Parameter Name ungültig ist, wird der Wert -1 zurückgegeben und die globale Variable errno gesetzt, um den Fehler anzuzeigen. Wenn der Parameter Name gültig ist, aber eine vom System nicht unterstützte Variable ist, wird der Wert -1 zurückgegeben und die globale Variable errno auf den Wert EINVAL gesetzt. Wenn auf die Systemvariable _SC_AIX_MP_CAPABLE von einem Nicht-Root-Benutzer zugegriffen wird, wird der Wert -1 zurückgegeben und die globale Variable errno zeigt den Fehler an

Datei

Element Beschreibung
/usr/include/limits.h Enthält systemdefinierte Grenzwerte.