Commit 109a1f32d0d3e23545f0286f2d6e0a80298f629d
1 parent
1f5e27a90a
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
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>
Showing 1 changed file with 16 additions and 14 deletions Side-by-side Diff
include/linux/sysinfo.h
1 | 1 | #ifndef _LINUX_SYSINFO_H |
2 | 2 | #define _LINUX_SYSINFO_H |
3 | 3 | |
4 | +#include <linux/types.h> | |
5 | + | |
4 | 6 | #define SI_LOAD_SHIFT 16 |
5 | 7 | struct sysinfo { |
6 | - long uptime; /* Seconds since boot */ | |
7 | - unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ | |
8 | - unsigned long totalram; /* Total usable main memory size */ | |
9 | - unsigned long freeram; /* Available memory size */ | |
10 | - unsigned long sharedram; /* Amount of shared memory */ | |
11 | - unsigned long bufferram; /* Memory used by buffers */ | |
12 | - unsigned long totalswap; /* Total swap space size */ | |
13 | - unsigned long freeswap; /* swap space still available */ | |
14 | - unsigned short procs; /* Number of current processes */ | |
15 | - unsigned short pad; /* explicit padding for m68k */ | |
16 | - unsigned long totalhigh; /* Total high memory size */ | |
17 | - unsigned long freehigh; /* Available high memory size */ | |
18 | - unsigned int mem_unit; /* Memory unit size in bytes */ | |
19 | - char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */ | |
8 | + __kernel_long_t uptime; /* Seconds since boot */ | |
9 | + __kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */ | |
10 | + __kernel_ulong_t totalram; /* Total usable main memory size */ | |
11 | + __kernel_ulong_t freeram; /* Available memory size */ | |
12 | + __kernel_ulong_t sharedram; /* Amount of shared memory */ | |
13 | + __kernel_ulong_t bufferram; /* Memory used by buffers */ | |
14 | + __kernel_ulong_t totalswap; /* Total swap space size */ | |
15 | + __kernel_ulong_t freeswap; /* swap space still available */ | |
16 | + __u16 procs; /* Number of current processes */ | |
17 | + __u16 pad; /* Explicit padding for m68k */ | |
18 | + __kernel_ulong_t totalhigh; /* Total high memory size */ | |
19 | + __kernel_ulong_t freehigh; /* Available high memory size */ | |
20 | + __u32 mem_unit; /* Memory unit size in bytes */ | |
21 | + char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */ | |
20 | 22 | }; |
21 | 23 | |
22 | 24 | #endif /* _LINUX_SYSINFO_H */ |