aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-02-10 16:58:56 -0500
committerH. Peter Anvin <hpa@zytor.com>2012-02-20 15:48:47 -0500
commit109a1f32d0d3e23545f0286f2d6e0a80298f629d (patch)
tree65539852739a351f546ab69f3ca1d9414d9c420c
parent1f5e27a90add2fe2a1c11508f68d377e3ddcf9ab (diff)
sysinfo: Use explicit types in <linux/sysinfo.h>
Change <linux/sysinfo.h> to use explicitly sized types. Replace long/unsigned long with __kernel_[u]long_t so that a non-legacy 32-bit ABI running on a 64-bit kernel can export those as 64-bit types. Originally-by: H. J. Lu <hjl.tools@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--include/linux/sysinfo.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h
index ec4fc228ac0a..934335a22522 100644
--- a/include/linux/sysinfo.h
+++ b/include/linux/sysinfo.h
@@ -1,22 +1,24 @@
1#ifndef _LINUX_SYSINFO_H 1#ifndef _LINUX_SYSINFO_H
2#define _LINUX_SYSINFO_H 2#define _LINUX_SYSINFO_H
3 3
4#include <linux/types.h>
5
4#define SI_LOAD_SHIFT 16 6#define SI_LOAD_SHIFT 16
5struct sysinfo { 7struct sysinfo {
6 long uptime; /* Seconds since boot */ 8 __kernel_long_t uptime; /* Seconds since boot */
7 unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ 9 __kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */
8 unsigned long totalram; /* Total usable main memory size */ 10 __kernel_ulong_t totalram; /* Total usable main memory size */
9 unsigned long freeram; /* Available memory size */ 11 __kernel_ulong_t freeram; /* Available memory size */
10 unsigned long sharedram; /* Amount of shared memory */ 12 __kernel_ulong_t sharedram; /* Amount of shared memory */
11 unsigned long bufferram; /* Memory used by buffers */ 13 __kernel_ulong_t bufferram; /* Memory used by buffers */
12 unsigned long totalswap; /* Total swap space size */ 14 __kernel_ulong_t totalswap; /* Total swap space size */
13 unsigned long freeswap; /* swap space still available */ 15 __kernel_ulong_t freeswap; /* swap space still available */
14 unsigned short procs; /* Number of current processes */ 16 __u16 procs; /* Number of current processes */
15 unsigned short pad; /* explicit padding for m68k */ 17 __u16 pad; /* Explicit padding for m68k */
16 unsigned long totalhigh; /* Total high memory size */ 18 __kernel_ulong_t totalhigh; /* Total high memory size */
17 unsigned long freehigh; /* Available high memory size */ 19 __kernel_ulong_t freehigh; /* Available high memory size */
18 unsigned int mem_unit; /* Memory unit size in bytes */ 20 __u32 mem_unit; /* Memory unit size in bytes */
19 char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */ 21 char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */
20}; 22};
21 23
22#endif /* _LINUX_SYSINFO_H */ 24#endif /* _LINUX_SYSINFO_H */