diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-02-06 19:36:48 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-20 15:48:46 -0500 |
commit | d8e5ddef21df05bc2a14d8c0e287cbf083da60a3 (patch) | |
tree | 588c50a74292a5eb010aca8ce87d21024bb8867a /include | |
parent | 4f72e331c20ac1c656f300cee246330c1786652b (diff) |
sysinfo: Move struct sysinfo to a separate header file
struct sysinfo is just about the only thing exported to userspace from
<linux/kernel.h>, so move it into a separate header file with a
residual #include in <linux/kernel.h>.
Originally-by: H. J. Lu <hjl.tools@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/n/tip-4pr1xnnksprt7t0h3w5fw4rv@git.kernel.org
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/Kbuild | 1 | ||||
-rw-r--r-- | include/linux/kernel.h | 21 | ||||
-rw-r--r-- | include/linux/sysinfo.h | 22 |
3 files changed, 25 insertions, 19 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index c94e71781b79..844608677665 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -355,6 +355,7 @@ header-y += suspend_ioctls.h | |||
355 | header-y += swab.h | 355 | header-y += swab.h |
356 | header-y += synclink.h | 356 | header-y += synclink.h |
357 | header-y += sysctl.h | 357 | header-y += sysctl.h |
358 | header-y += sysinfo.h | ||
358 | header-y += taskstats.h | 359 | header-y += taskstats.h |
359 | header-y += tcp.h | 360 | header-y += tcp.h |
360 | header-y += telephony.h | 361 | header-y += telephony.h |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e8343422240a..dc6a50f88ca7 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef _LINUX_KERNEL_H | 1 | #ifndef _LINUX_KERNEL_H |
2 | #define _LINUX_KERNEL_H | 2 | #define _LINUX_KERNEL_H |
3 | 3 | ||
4 | #include <linux/sysinfo.h> | ||
5 | |||
4 | /* | 6 | /* |
5 | * 'kernel.h' contains some often-used function prototypes etc | 7 | * 'kernel.h' contains some often-used function prototypes etc |
6 | */ | 8 | */ |
@@ -745,27 +747,8 @@ extern int __build_bug_on_failed; | |||
745 | # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD | 747 | # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD |
746 | #endif | 748 | #endif |
747 | 749 | ||
748 | struct sysinfo; | ||
749 | extern int do_sysinfo(struct sysinfo *info); | 750 | extern int do_sysinfo(struct sysinfo *info); |
750 | 751 | ||
751 | #endif /* __KERNEL__ */ | 752 | #endif /* __KERNEL__ */ |
752 | 753 | ||
753 | #define SI_LOAD_SHIFT 16 | ||
754 | struct sysinfo { | ||
755 | long uptime; /* Seconds since boot */ | ||
756 | unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ | ||
757 | unsigned long totalram; /* Total usable main memory size */ | ||
758 | unsigned long freeram; /* Available memory size */ | ||
759 | unsigned long sharedram; /* Amount of shared memory */ | ||
760 | unsigned long bufferram; /* Memory used by buffers */ | ||
761 | unsigned long totalswap; /* Total swap space size */ | ||
762 | unsigned long freeswap; /* swap space still available */ | ||
763 | unsigned short procs; /* Number of current processes */ | ||
764 | unsigned short pad; /* explicit padding for m68k */ | ||
765 | unsigned long totalhigh; /* Total high memory size */ | ||
766 | unsigned long freehigh; /* Available high memory size */ | ||
767 | unsigned int mem_unit; /* Memory unit size in bytes */ | ||
768 | char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */ | ||
769 | }; | ||
770 | |||
771 | #endif | 754 | #endif |
diff --git a/include/linux/sysinfo.h b/include/linux/sysinfo.h new file mode 100644 index 000000000000..ec4fc228ac0a --- /dev/null +++ b/include/linux/sysinfo.h | |||
@@ -0,0 +1,22 @@ | |||
1 | #ifndef _LINUX_SYSINFO_H | ||
2 | #define _LINUX_SYSINFO_H | ||
3 | |||
4 | #define SI_LOAD_SHIFT 16 | ||
5 | 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.. */ | ||
20 | }; | ||
21 | |||
22 | #endif /* _LINUX_SYSINFO_H */ | ||