| /** |
| * 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(); |