sysinfo(2) sysinfo(2)
NAME
sysinfo - Systeminformationen lesen und schreiben
SYNTAX
#include <sys/systeminfo.h>
long sysinfo(int command, char *buf, long count);
BESCHREIBUNG
sysinfo() kopiert Informationen über das UNIX System, auf dem der Pro-
zeß abläuft, in den Puffer buf; sysinfo() kann außerdem bestimmte
Systeminformationen einstellen, wenn entsprechende commands verfügbar
sind. count ist dabei die Größe des Puffers.
Die verfügbaren Kommandoargumente sind:
SISYSNAME
setzt den Inhalt von buf als Systemnamen; dieser Wert wird von
uname [siehe uname(2)] im Feld sysname zurückgegeben. Dies ist
der Name der Implementierung des Betriebssystems, z. B. System V
oder UTS.
SIHOSTNAME
kopiert den Host-Namen nach buf. Dieser Wert wird von uname()
[siehe uname(2)] im Feld nodename zurückgeliefert. Dieser Host-
oder Knotenname ist oft der lokale Rechnername.
Der Hostname ist der Rechnername als Knoten in einem Netzwerk;
verschiedene Netzwerke können verschiedene Namen für den Knoten
besitzen; jedoch sollte als Knotennamen für das entsprechende
Netzwerkverzeichnis oder an die Namen-/Adreß-Abbildung eine
Adresse für einen Transportendpunkt weitergegeben werden.
Internet-Hostnamen können bis zu 256 Bytes lang sein (plus termi-
nierendes Nullzeichen).
SISETHOSTNAME
Der Inhalt von buf wird vom Kernel in ein Zeichenfeld kopiert,
dessen Inhalt von nachfolgenden Aufrufen von sysinfo() mit dem
Kommando SIHOSTNAME zurückgeliefert wird. Dieses Kommando setzt
voraus, daß die effektive Benutzernummer die des Systemverwalters
ist.
SIRELEASE
verwaltet den Inhalt von buf, so daß er von uname() [siehe
uname(2)] im Feld version zurückgegeben wird. Typische Werte sind
4.0 oder 3.2.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
sysinfo(2) sysinfo(2)
SIVERSION
verwaltet den Inhalt von buf, so daß er von uname() [siehe
uname(2)] im Feld release zurückgegeben wird. Die Syntax und
Semantik dieser Zeichenkette wird vom Systemlieferanten defi-
niert.
SIMACHINE
kopiert den Inhalt von buf, so daß er von uname() [siehe
uname(2)] im Feld machine zurückgegeben wird (z. B. 3b2 oder
580).
SIARCHITECTURE
verwaltet den Inhalt von buf, der die Befehlssatzarchitektur des
aktuellen Systems beschreibt, wie zum Beispiel mc68030, m32100
oder i80486. Diese Namen dürfen nicht vordefinierten Namen des
C-Übersetzungssystems entsprechen.
SIHWPROVIDER
kopiert den Inhalt der Hardwarebeschreibung in das Feld buf.
SIHWSERIAL
buf enthält die ASCII-Darstellung der hardwarespezifischen
Seriennummer der physischen Maschine, auf der der Systemaufruf
ausgeführt wird. Beachten Sie, daß diese Option über nur-lesbaren
Speicher, über Programmkonstanten beim Erzeugen des Betriebssy-
stems oder auf andere Weise implementiert werden kann und nicht-
numerische Zeichen enthalten kann. Es wird vorausgesetzt, daß vom
Hersteller nicht dieselbe Seriennummer an mehr als eine physische
Maschine vergeben wird.
SISRPCDOMAIN
kopiert den Bereichsnamen des SRPC (Secure Remote Procedure Call)
in das Feld buf.
SISETSRPCDOMAIN
definiert die Zeichenkette, welche von sysinfo() durch das Kom-
mando SISRPCDOMAIN in das Feld buf kopiert wird. Dieses Kom-
mando setzt voraus, daß die effektive Benutzernummer diejenige
des Systemverwalters ist.
sysinfo() schlägt fehl, wenn wenigstens eine der folgenden Bedingungen
wahr ist:
EPERM Der Prozeß hat nicht die entsprechenden Privilegien für ein
SET-Kommando.
EINVAL buf zeigt nicht auf eine gültige Adresse, oder die Daten für
ein SET-Kommando überschreiten die Grenzen der Implementie-
rung.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
sysinfo(2) sysinfo(2)
In vielen Fällen gibt es keine entsprechende Programmatik dieser
Schnittstelle zum Setzen der Werte; solche Zeichenketten sind typi-
scherweise nur durch den Systemverwalter einstellbar, der die Einträge
im Verzeichnis master.d ändert oder den Code eines OEM's verwendet, um
die Seriennummer zu lesen, oder Code aus nur-lesbarem Speicher oder
festcodiertem Speicher verwendet.
Eine guter Wert für count ist 257; dadurch werden wahrscheinlich alle
Zeichenketten verarbeitet, welche von dieser Schnittstelle auf typi-
schen Installationen zurückgeliefert werden.
ERGEBNIS
Nach erfolgreicher Ausführung wird ein Wert zurückgegeben, der die
benötigte Pufferlänge in Bytes angibt. Diese Pufferlänge gilt für die
komplette, zurückgegebene Zeichenkette einschließlich des Nullzei-
chens. Ist dieser Wert nicht größer als der Wert count, wurde die kom-
plette Zeichenkette übertragen. Ist der Wert größer als count, wurde
die Zeichenkette, die nach buf kopiert wurde, auf count-1 Bytes plus
ein Nullzeichen gekürzt.
Ansonsten zeigt -1 einen Fehler an; errno enthält dann die Fehlernum-
mer.
SIEHE AUCH
uname(2), sysconf(3C).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98