.\" -*- nroff -*- .\" .\" (C)opyright 1993 by Dan Miner (dminer@nyx.cs.du.edu) .\" .\" Permission is granted to freely distribute or modify this file .\" for the purpose of improving Linux or its documentation efforts. .\" If you modify this file, please put a date stamp and HOW you .\" changed this file. Thanks. -DM .\" .\" Modified Sat Jul 24 12:35:12 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Feb 4 19:24:22 MET 1996 by Siggy Brentrup (bsb@uni-muenster.de) .\" .\" Translated into german by Markus Schmitt (fw@math.uni-sb.de) .\" .TH SYSINFO 2 "3. Juni 1996" "Linux 1.3.5x" "Systemaufrufe" .\" .SH BEZEICHNUNG sysinfo - liefert Informationen über das System .SH "ÜBERSICHT" .nf .B #include .sp .BI "int sysinfo(struct sysinfo *" info ); .fi .SH BESCHREIBUNG Wie in Linux 0.99.10 und in der libc Release 5.2 festgelegt, liefert \fBsysinfo\fR folgende Struktur zurück: .RS .nf struct sysinfo { long uptime; /* Sekunden seit dem letzten Boot */ unsigned long loads[3]; /* 1, 5 und 15 minütige Systemlast */ unsigned long totalram; /* nutzbare Gesamtspeichergröße */ unsigned long freeram; /* nutzbarer freier Speicher */ unsigned long sharedram; /* Größe des shared Memory */ unsigned long bufferram; /* vom Puffer benutzter Speicher */ unsigned long totalswap; /* Größe der Auslagerungsdatei*/ unsigned long freeswap; /* verfügbare Größe der Auslagerungsdatei */ unsigned short procs; /* Aktuelle Prozesszahl*/ char _f[22]; /* Pads structure to 64 bytes */ }; .fi .RE Mit .B sysinfo hat man eine einfache Möglichkeit, den Systemstatus zu erhalten. Auf jeden Fall ist es einfacher zu portieren als das Lesen von .IR /dev/kmem . .SH "RÜCKGABEWERT" Bei korrektem Aufruf wird 0 zurückgegeben, bei einem auftretenden Fehler wird \-1 zurückgeliefert und .I errno entsprechend gesetzt. .SH FEHLER .TP 0.8i .B EFAULT der Zeiger auf .I "struct\ sysinfo" ist fehlerhaft. .SH "KONFORM ZU" Diese Funktion ist Linux-spezifisch .SH BUGS Die Linux DLL 4.4.1 Bibliotheken beinhalten keinen einheitlichen Prototyp für diese Funktion. Genau wie libc 4.6.27 (a.out) und libc 5.2.18 (ELF) beinhalten sie nicht diese Funktion, obwohl der Patch mit älteren Bibliotheken zusammenarbeiten sollte.