aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-02-06 19:36:48 -0500
committerH. Peter Anvin <hpa@zytor.com>2012-02-20 15:48:46 -0500
commitd8e5ddef21df05bc2a14d8c0e287cbf083da60a3 (patch)
tree588c50a74292a5eb010aca8ce87d21024bb8867a /include
parent4f72e331c20ac1c656f300cee246330c1786652b (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/Kbuild1
-rw-r--r--include/linux/kernel.h21
-rw-r--r--include/linux/sysinfo.h22
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
355header-y += swab.h 355header-y += swab.h
356header-y += synclink.h 356header-y += synclink.h
357header-y += sysctl.h 357header-y += sysctl.h
358header-y += sysinfo.h
358header-y += taskstats.h 359header-y += taskstats.h
359header-y += tcp.h 360header-y += tcp.h
360header-y += telephony.h 361header-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
748struct sysinfo;
749extern int do_sysinfo(struct sysinfo *info); 750extern int do_sysinfo(struct sysinfo *info);
750 751
751#endif /* __KERNEL__ */ 752#endif /* __KERNEL__ */
752 753
753#define SI_LOAD_SHIFT 16
754struct 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
5struct 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 */