sysconf, Subroutine
Zweck
Bestimmt den aktuellen Wert einer angegebenen Systembegrenzung oder -option.
Bibliothek
Standard-C-Bibliothek (libc.a)
Syntax
#include <unistd.h> 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. |
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. |