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