9p: Don't use binary sysctl numbers.
[linux-2.6.git] / net / 9p / sysctl.c
1 /*
2  *  net/9p/sysctl.c
3  *
4  *  9P sysctl interface
5  *
6  *  Copyright (C) 2007 by Latchesar Ionkov <lucho@ionkov.net>
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License version 2
10  *  as published by the Free Software Foundation.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with this program; if not, write to:
19  *  Free Software Foundation
20  *  51 Franklin Street, Fifth Floor
21  *  Boston, MA  02111-1301  USA
22  *
23  */
24
25 #include <linux/kernel.h>
26 #include <linux/mm.h>
27 #include <linux/sysctl.h>
28 #include <linux/init.h>
29 #include <net/9p/9p.h>
30
31 static struct ctl_table p9_table[] = {
32 #ifdef CONFIG_NET_9P_DEBUG
33         {
34                 .ctl_name       = CTL_UNNUMBERED,
35                 .procname       = "debug",
36                 .data           = &p9_debug_level,
37                 .maxlen         = sizeof(int),
38                 .mode           = 0644,
39                 .proc_handler   = &proc_dointvec
40         },
41 #endif
42         {},
43 };
44
45 static struct ctl_table p9_net_table[] = {
46         {
47                 .ctl_name       = CTL_UNNUMBERED,
48                 .procname       = "9p",
49                 .maxlen         = 0,
50                 .mode           = 0555,
51                 .child          = p9_table,
52         },
53         {},
54 };
55
56 static struct ctl_table p9_ctl_table[] = {
57         {
58                 .ctl_name       = CTL_NET,
59                 .procname       = "net",
60                 .maxlen         = 0,
61                 .mode           = 0555,
62                 .child          = p9_net_table,
63         },
64         {},
65 };
66
67 static struct ctl_table_header *p9_table_header;
68
69 int __init p9_sysctl_register(void)
70 {
71         p9_table_header = register_sysctl_table(p9_ctl_table);
72         if (!p9_table_header)
73                 return -ENOMEM;
74
75         return 0;
76 }
77
78 void __exit p9_sysctl_unregister(void)
79 {
80          unregister_sysctl_table(p9_table_header);
81 }