blob: e37c4a2c657a8951406157ddc4d78d2f6fa45b0b [file] [log] [blame]
Dmitry V. Levin57d45a22014-09-29 23:13:05 +00001#include "defs.h"
2#include <sys/sysinfo.h>
3
4int
5sys_sysinfo(struct tcb *tcp)
6{
7 struct sysinfo si;
8
9 if (exiting(tcp)) {
10 if (syserror(tcp) || !verbose(tcp))
11 tprintf("%#lx", tcp->u_arg[0]);
12 else if (umove(tcp, tcp->u_arg[0], &si) < 0)
13 tprints("{...}");
14 else {
15 tprintf("{uptime=%lu, loads=[%lu, %lu, %lu] ",
16 (long) si.uptime, (long) si.loads[0],
17 (long) si.loads[1], (long) si.loads[2]);
18 tprintf("totalram=%lu, freeram=%lu, ",
19 (long) si.totalram, (long) si.freeram);
20 tprintf("sharedram=%lu, bufferram=%lu} ",
21 (long) si.sharedram, (long) si.bufferram);
22 tprintf("totalswap=%lu, freeswap=%lu, procs=%u}",
23 (long) si.totalswap, (long) si.freeswap,
24 (unsigned)si.procs);
25 }
26 }
27 return 0;
28}