#include "defs.h"
#include <sys/sysinfo.h>

SYS_FUNC(sysinfo)
{
	struct sysinfo si;

	if (entering(tcp))
		return 0;

	if (!umove_or_printaddr(tcp, tcp->u_arg[0], &si)) {
		tprintf("{uptime=%llu"
			", loads=[%llu, %llu, %llu]"
			", totalram=%llu"
			", freeram=%llu"
			", sharedram=%llu"
			", bufferram=%llu"
			", totalswap=%llu"
			", freeswap=%llu"
			", procs=%u"
#ifdef HAVE_STRUCT_SYSINFO_TOTALHIGH
			", totalhigh=%llu"
#endif
#ifdef HAVE_STRUCT_SYSINFO_FREEHIGH
			", freehigh=%llu"
#endif
#ifdef HAVE_STRUCT_SYSINFO_MEM_UNIT
			", mem_unit=%u"
#endif
			"}",
			(unsigned long long) si.uptime
			, (unsigned long long) si.loads[0]
			, (unsigned long long) si.loads[1]
			, (unsigned long long) si.loads[2]
			, (unsigned long long) si.totalram
			, (unsigned long long) si.freeram
			, (unsigned long long) si.sharedram
			, (unsigned long long) si.bufferram
			, (unsigned long long) si.totalswap
			, (unsigned long long) si.freeswap
			, (unsigned) si.procs
#ifdef HAVE_STRUCT_SYSINFO_TOTALHIGH
			, (unsigned long long) si.totalhigh
#endif
#ifdef HAVE_STRUCT_SYSINFO_FREEHIGH
			, (unsigned long long) si.freehigh
#endif
#ifdef HAVE_STRUCT_SYSINFO_MEM_UNIT
			, si.mem_unit
#endif
			);
	}

	return 0;
}
