diff options
author | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2011-11-02 16:39:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-02 19:07:02 -0400 |
commit | f1ecf06854a66ee663f4d4cf029c78cd62a15e04 (patch) | |
tree | cbe863057fa14b9390746db6d2b1812a2f874b48 /include/linux/utsname.h | |
parent | 088024b1deee206cd37eff980138e918837aabdb (diff) |
sysctl: add support for poll()
Adding support for poll() in sysctl fs allows userspace to receive
notifications of changes in sysctl entries. This adds a infrastructure to
allow files in sysctl fs to be pollable and implements it for hostname and
domainname.
[akpm@linux-foundation.org: s/declare/define/ for definitions]
Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Greg KH <gregkh@suse.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/utsname.h')
-rw-r--r-- | include/linux/utsname.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/utsname.h b/include/linux/utsname.h index 4e5b0213fdc1..c714ed75eae2 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h | |||
@@ -37,6 +37,14 @@ struct new_utsname { | |||
37 | #include <linux/nsproxy.h> | 37 | #include <linux/nsproxy.h> |
38 | #include <linux/err.h> | 38 | #include <linux/err.h> |
39 | 39 | ||
40 | enum uts_proc { | ||
41 | UTS_PROC_OSTYPE, | ||
42 | UTS_PROC_OSRELEASE, | ||
43 | UTS_PROC_VERSION, | ||
44 | UTS_PROC_HOSTNAME, | ||
45 | UTS_PROC_DOMAINNAME, | ||
46 | }; | ||
47 | |||
40 | struct user_namespace; | 48 | struct user_namespace; |
41 | extern struct user_namespace init_user_ns; | 49 | extern struct user_namespace init_user_ns; |
42 | 50 | ||
@@ -80,6 +88,14 @@ static inline struct uts_namespace *copy_utsname(unsigned long flags, | |||
80 | } | 88 | } |
81 | #endif | 89 | #endif |
82 | 90 | ||
91 | #ifdef CONFIG_PROC_SYSCTL | ||
92 | extern void uts_proc_notify(enum uts_proc proc); | ||
93 | #else | ||
94 | static inline void uts_proc_notify(enum uts_proc proc) | ||
95 | { | ||
96 | } | ||
97 | #endif | ||
98 | |||
83 | static inline struct new_utsname *utsname(void) | 99 | static inline struct new_utsname *utsname(void) |
84 | { | 100 | { |
85 | return ¤t->nsproxy->uts_ns->name; | 101 | return ¤t->nsproxy->uts_ns->name; |