Dmitry V. Levin | 57d45a2 | 2014-09-29 23:13:05 +0000 | [diff] [blame^] | 1 | #include "defs.h" |
| 2 | #include <sys/sysinfo.h> |
| 3 | |
| 4 | int |
| 5 | sys_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 | } |