Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

uname(2)

sysconf(3C)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026