Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
version.c
Go to the documentation of this file.
1 #include <linux/fs.h>
2 #include <linux/init.h>
3 #include <linux/kernel.h>
4 #include <linux/proc_fs.h>
5 #include <linux/seq_file.h>
6 #include <linux/utsname.h>
7 
8 static int version_proc_show(struct seq_file *m, void *v)
9 {
11  utsname()->sysname,
12  utsname()->release,
13  utsname()->version);
14  return 0;
15 }
16 
17 static int version_proc_open(struct inode *inode, struct file *file)
18 {
19  return single_open(file, version_proc_show, NULL);
20 }
21 
22 static const struct file_operations version_proc_fops = {
23  .open = version_proc_open,
24  .read = seq_read,
25  .llseek = seq_lseek,
26  .release = single_release,
27 };
28 
29 static int __init proc_version_init(void)
30 {
31  proc_create("version", 0, NULL, &version_proc_fops);
32  return 0;
33 }
34 module_init(proc_version_init);