xref: /linux/include/uapi/linux/sysinfo.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells #ifndef _LINUX_SYSINFO_H
3607ca46eSDavid Howells #define _LINUX_SYSINFO_H
4607ca46eSDavid Howells 
5607ca46eSDavid Howells #include <linux/types.h>
6607ca46eSDavid Howells 
7607ca46eSDavid Howells #define SI_LOAD_SHIFT	16
8607ca46eSDavid Howells struct sysinfo {
9607ca46eSDavid Howells 	__kernel_long_t uptime;		/* Seconds since boot */
10607ca46eSDavid Howells 	__kernel_ulong_t loads[3];	/* 1, 5, and 15 minute load averages */
11607ca46eSDavid Howells 	__kernel_ulong_t totalram;	/* Total usable main memory size */
12607ca46eSDavid Howells 	__kernel_ulong_t freeram;	/* Available memory size */
13607ca46eSDavid Howells 	__kernel_ulong_t sharedram;	/* Amount of shared memory */
14607ca46eSDavid Howells 	__kernel_ulong_t bufferram;	/* Memory used by buffers */
15607ca46eSDavid Howells 	__kernel_ulong_t totalswap;	/* Total swap space size */
16607ca46eSDavid Howells 	__kernel_ulong_t freeswap;	/* swap space still available */
17607ca46eSDavid Howells 	__u16 procs;		   	/* Number of current processes */
18607ca46eSDavid Howells 	__u16 pad;		   	/* Explicit padding for m68k */
19607ca46eSDavid Howells 	__kernel_ulong_t totalhigh;	/* Total high memory size */
20607ca46eSDavid Howells 	__kernel_ulong_t freehigh;	/* Available high memory size */
21607ca46eSDavid Howells 	__u32 mem_unit;			/* Memory unit size in bytes */
22607ca46eSDavid Howells 	char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)];	/* Padding: libc5 uses this.. */
23607ca46eSDavid Howells };
24607ca46eSDavid Howells 
25607ca46eSDavid Howells #endif /* _LINUX_SYSINFO_H */
26