1
by Tim Gardner
Import upstream version 4.2.0 |
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 |
{
|
|
10 |
seq_printf(m, linux_proc_banner, |
|
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 |
fs_initcall(proc_version_init); |