blob: 0c9ed592c3ba35e542632cd281f3e1d8daf164af [file]
/**
* D header file for GNU/Linux.
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Martin Nowak
*/
module core.sys.linux.sys.sysinfo;
version (linux) extern(C) @nogc nothrow:
@system:
import core.sys.linux.config;
// linux/sysinfo.h
enum SI_LOAD_SHIFT = 16;
struct sysinfo_
{
c_long uptime; /* Seconds since boot */
c_ulong[3] loads; /* 1, 5, and 15 minute load averages */
c_ulong totalram; /* Total usable main memory size */
c_ulong freeram; /* Available memory size */
c_ulong sharedram; /* Amount of shared memory */
c_ulong bufferram; /* Memory used by buffers */
c_ulong totalswap; /* Total swap space size */
c_ulong freeswap; /* swap space still available */
ushort procs; /* Number of current processes */
ushort pad; /* Explicit padding for m68k */
c_ulong totalhigh; /* Total high memory size */
c_ulong freehigh; /* Available high memory size */
uint mem_unit; /* Memory unit size in bytes */
ubyte[20-2 * c_ulong.sizeof - uint.sizeof] _f; /* Padding: libc5 uses this.. */
}
int sysinfo(sysinfo_ *info);
int get_nprocs_conf();
int get_nprocs();
c_long get_phys_pages();
c_long get_avphys_pages();