Merge branch 'mv-merge'
[linux-2.6] / net / ipx / sysctl_net_ipx.c
1 /* -*- linux-c -*-
2  * sysctl_net_ipx.c: sysctl interface to net IPX subsystem.
3  *
4  * Begun April 1, 1996, Mike Shaver.
5  * Added /proc/sys/net/ipx directory entry (empty =) ). [MS]
6  * Added /proc/sys/net/ipx/ipx_pprop_broadcasting - acme March 4, 2001
7  */
8
9 #include <linux/config.h>
10 #include <linux/mm.h>
11 #include <linux/sysctl.h>
12
13 #ifndef CONFIG_SYSCTL
14 #error This file should not be compiled without CONFIG_SYSCTL defined
15 #endif
16
17 /* From af_ipx.c */
18 extern int sysctl_ipx_pprop_broadcasting;
19
20 static struct ctl_table ipx_table[] = {
21         {
22                 .ctl_name       = NET_IPX_PPROP_BROADCASTING,
23                 .procname       = "ipx_pprop_broadcasting",
24                 .data           = &sysctl_ipx_pprop_broadcasting,
25                 .maxlen         = sizeof(int),
26                 .mode           = 0644,
27                 .proc_handler   = &proc_dointvec,
28         },
29         { 0 },
30 };
31
32 static struct ctl_table ipx_dir_table[] = {
33         {
34                 .ctl_name       = NET_IPX,
35                 .procname       = "ipx",
36                 .mode           = 0555,
37                 .child          = ipx_table,
38         },
39         { 0 },
40 };
41
42 static struct ctl_table ipx_root_table[] = {
43         {
44                 .ctl_name       = CTL_NET,
45                 .procname       = "net",
46                 .mode           = 0555,
47                 .child          = ipx_dir_table,
48         },
49         { 0 },
50 };
51
52 static struct ctl_table_header *ipx_table_header;
53
54 void ipx_register_sysctl(void)
55 {
56         ipx_table_header = register_sysctl_table(ipx_root_table, 1);
57 }
58
59 void ipx_unregister_sysctl(void)
60 {
61         unregister_sysctl_table(ipx_table_header);
62 }