ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / net / x25 / sysctl_net_x25.c
1 /* -*- linux-c -*-
2  * sysctl_net_x25.c: sysctl interface to net X.25 subsystem.
3  *
4  * Begun April 1, 1996, Mike Shaver.
5  * Added /proc/sys/net/x25 directory entry (empty =) ). [MS]
6  */
7
8 #include <linux/mm.h>
9 #include <linux/sysctl.h>
10 #include <linux/skbuff.h>
11 #include <linux/socket.h>
12 #include <linux/netdevice.h>
13 #include <linux/init.h>
14 #include <net/x25.h>
15
16 static int min_timer[] = {   1 * HZ };
17 static int max_timer[] = { 300 * HZ };
18
19 static struct ctl_table_header *x25_table_header;
20
21 static struct ctl_table x25_table[] = {
22         {
23                 .ctl_name =     NET_X25_RESTART_REQUEST_TIMEOUT,
24                 .procname =     "restart_request_timeout",
25                 .data =         &sysctl_x25_restart_request_timeout,
26                 .maxlen =       sizeof(int),
27                 .mode =         0644,
28                 .proc_handler = &proc_dointvec_minmax,
29                 .strategy =     &sysctl_intvec,
30                 .extra1 =       &min_timer,
31                 .extra2 =       &max_timer,
32         },
33         {
34                 .ctl_name =     NET_X25_CALL_REQUEST_TIMEOUT,
35                 .procname =     "call_request_timeout",
36                 .data =         &sysctl_x25_call_request_timeout,
37                 .maxlen =       sizeof(int),
38                 .mode =         0644,
39                 .proc_handler = &proc_dointvec_minmax,
40                 .strategy =     &sysctl_intvec,
41                 .extra1 =       &min_timer,
42                 .extra2 =       &max_timer,
43         },
44         {
45                 .ctl_name =     NET_X25_RESET_REQUEST_TIMEOUT,
46                 .procname =     "reset_request_timeout",
47                 .data =         &sysctl_x25_reset_request_timeout,
48                 .maxlen =       sizeof(int),
49                 .mode =         0644,
50                 .proc_handler = &proc_dointvec_minmax,
51                 .strategy =     &sysctl_intvec,
52                 .extra1 =       &min_timer,
53                 .extra2 =       &max_timer,
54         },
55         {
56                 .ctl_name =     NET_X25_CLEAR_REQUEST_TIMEOUT,
57                 .procname =     "clear_request_timeout",
58                 .data =         &sysctl_x25_clear_request_timeout,
59                 .maxlen =       sizeof(int),
60                 .mode =         0644,
61                 .proc_handler = &proc_dointvec_minmax,
62                 .strategy =     &sysctl_intvec,
63                 .extra1 =       &min_timer,
64                 .extra2 =       &max_timer,
65         },
66         {
67                 .ctl_name =     NET_X25_ACK_HOLD_BACK_TIMEOUT,
68                 .procname =     "acknowledgement_hold_back_timeout",
69                 .data =         &sysctl_x25_ack_holdback_timeout,
70                 .maxlen =       sizeof(int),
71                 .mode =         0644,
72                 .proc_handler = &proc_dointvec_minmax,
73                 .strategy =     &sysctl_intvec,
74                 .extra1 =       &min_timer,
75                 .extra2 =       &max_timer,
76         },
77         { 0, },
78 };
79
80 static struct ctl_table x25_dir_table[] = {
81         {
82                 .ctl_name =     NET_X25,
83                 .procname =     "x25",
84                 .mode =         0555,
85                 .child =        x25_table,
86         },
87         { 0, },
88 };
89
90 static struct ctl_table x25_root_table[] = {
91         {
92                 .ctl_name =     CTL_NET,
93                 .procname =     "net",
94                 .mode =         0555,
95                 .child =        x25_dir_table,
96         },
97         { 0, },
98 };
99
100 void __init x25_register_sysctl(void)
101 {
102         x25_table_header = register_sysctl_table(x25_root_table, 1);
103 }
104
105 void x25_unregister_sysctl(void)
106 {
107         unregister_sysctl_table(x25_table_header);
108 }