xref: /linux/include/uapi/linux/sysinfo.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _LINUX_SYSINFO_H
3 #define _LINUX_SYSINFO_H
4 
5 #include <linux/types.h>
6 
7 #define SI_LOAD_SHIFT	16
8 struct sysinfo {
9 	__kernel_long_t uptime;		/* Seconds since boot */
10 	__kernel_ulong_t loads[3];	/* 1, 5, and 15 minute load averages */
11 	__kernel_ulong_t totalram;	/* Total usable main memory size */
12 	__kernel_ulong_t freeram;	/* Available memory size */
13 	__kernel_ulong_t sharedram;	/* Amount of shared memory */
14 	__kernel_ulong_t bufferram;	/* Memory used by buffers */
15 	__kernel_ulong_t totalswap;	/* Total swap space size */
16 	__kernel_ulong_t freeswap;	/* swap space still available */
17 	__u16 procs;		   	/* Number of current processes */
18 	__u16 pad;		   	/* Explicit padding for m68k */
19 	__kernel_ulong_t totalhigh;	/* Total high memory size */
20 	__kernel_ulong_t freehigh;	/* Available high memory size */
21 	__u32 mem_unit;			/* Memory unit size in bytes */
22 	char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)];	/* Padding: libc5 uses this.. */
23 };
24 
25 #endif /* _LINUX_SYSINFO_H */
26