Root/
1 | /* |
2 | * This program is free software; you can redistribute it and/or modify |
3 | * it under the terms of the GNU General Public License as published by |
4 | * the Free Software Foundation; either version 2 of the License, or |
5 | * (at your option) any later version. |
6 | * |
7 | * Copyright (C) 1996 Mike Shaver (shaver@zeroknowledge.com) |
8 | */ |
9 | #include <linux/mm.h> |
10 | #include <linux/sysctl.h> |
11 | #include <linux/init.h> |
12 | #include <net/ax25.h> |
13 | #include <net/netrom.h> |
14 | |
15 | /* |
16 | * Values taken from NET/ROM documentation. |
17 | */ |
18 | static int min_quality[] = {0}, max_quality[] = {255}; |
19 | static int min_obs[] = {0}, max_obs[] = {255}; |
20 | static int min_ttl[] = {0}, max_ttl[] = {255}; |
21 | static int min_t1[] = {5 * HZ}; |
22 | static int max_t1[] = {600 * HZ}; |
23 | static int min_n2[] = {2}, max_n2[] = {127}; |
24 | static int min_t2[] = {1 * HZ}; |
25 | static int max_t2[] = {60 * HZ}; |
26 | static int min_t4[] = {1 * HZ}; |
27 | static int max_t4[] = {1000 * HZ}; |
28 | static int min_window[] = {1}, max_window[] = {127}; |
29 | static int min_idle[] = {0 * HZ}; |
30 | static int max_idle[] = {65535 * HZ}; |
31 | static int min_route[] = {0}, max_route[] = {1}; |
32 | static int min_fails[] = {1}, max_fails[] = {10}; |
33 | static int min_reset[] = {0}, max_reset[] = {1}; |
34 | |
35 | static struct ctl_table_header *nr_table_header; |
36 | |
37 | static ctl_table nr_table[] = { |
38 | { |
39 | .ctl_name = NET_NETROM_DEFAULT_PATH_QUALITY, |
40 | .procname = "default_path_quality", |
41 | .data = &sysctl_netrom_default_path_quality, |
42 | .maxlen = sizeof(int), |
43 | .mode = 0644, |
44 | .proc_handler = proc_dointvec_minmax, |
45 | .strategy = sysctl_intvec, |
46 | .extra1 = &min_quality, |
47 | .extra2 = &max_quality |
48 | }, |
49 | { |
50 | .ctl_name = NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER, |
51 | .procname = "obsolescence_count_initialiser", |
52 | .data = &sysctl_netrom_obsolescence_count_initialiser, |
53 | .maxlen = sizeof(int), |
54 | .mode = 0644, |
55 | .proc_handler = proc_dointvec_minmax, |
56 | .strategy = sysctl_intvec, |
57 | .extra1 = &min_obs, |
58 | .extra2 = &max_obs |
59 | }, |
60 | { |
61 | .ctl_name = NET_NETROM_NETWORK_TTL_INITIALISER, |
62 | .procname = "network_ttl_initialiser", |
63 | .data = &sysctl_netrom_network_ttl_initialiser, |
64 | .maxlen = sizeof(int), |
65 | .mode = 0644, |
66 | .proc_handler = proc_dointvec_minmax, |
67 | .strategy = sysctl_intvec, |
68 | .extra1 = &min_ttl, |
69 | .extra2 = &max_ttl |
70 | }, |
71 | { |
72 | .ctl_name = NET_NETROM_TRANSPORT_TIMEOUT, |
73 | .procname = "transport_timeout", |
74 | .data = &sysctl_netrom_transport_timeout, |
75 | .maxlen = sizeof(int), |
76 | .mode = 0644, |
77 | .proc_handler = proc_dointvec_minmax, |
78 | .strategy = sysctl_intvec, |
79 | .extra1 = &min_t1, |
80 | .extra2 = &max_t1 |
81 | }, |
82 | { |
83 | .ctl_name = NET_NETROM_TRANSPORT_MAXIMUM_TRIES, |
84 | .procname = "transport_maximum_tries", |
85 | .data = &sysctl_netrom_transport_maximum_tries, |
86 | .maxlen = sizeof(int), |
87 | .mode = 0644, |
88 | .proc_handler = proc_dointvec_minmax, |
89 | .strategy = sysctl_intvec, |
90 | .extra1 = &min_n2, |
91 | .extra2 = &max_n2 |
92 | }, |
93 | { |
94 | .ctl_name = NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY, |
95 | .procname = "transport_acknowledge_delay", |
96 | .data = &sysctl_netrom_transport_acknowledge_delay, |
97 | .maxlen = sizeof(int), |
98 | .mode = 0644, |
99 | .proc_handler = proc_dointvec_minmax, |
100 | .strategy = sysctl_intvec, |
101 | .extra1 = &min_t2, |
102 | .extra2 = &max_t2 |
103 | }, |
104 | { |
105 | .ctl_name = NET_NETROM_TRANSPORT_BUSY_DELAY, |
106 | .procname = "transport_busy_delay", |
107 | .data = &sysctl_netrom_transport_busy_delay, |
108 | .maxlen = sizeof(int), |
109 | .mode = 0644, |
110 | .proc_handler = proc_dointvec_minmax, |
111 | .strategy = sysctl_intvec, |
112 | .extra1 = &min_t4, |
113 | .extra2 = &max_t4 |
114 | }, |
115 | { |
116 | .ctl_name = NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE, |
117 | .procname = "transport_requested_window_size", |
118 | .data = &sysctl_netrom_transport_requested_window_size, |
119 | .maxlen = sizeof(int), |
120 | .mode = 0644, |
121 | .proc_handler = proc_dointvec_minmax, |
122 | .strategy = sysctl_intvec, |
123 | .extra1 = &min_window, |
124 | .extra2 = &max_window |
125 | }, |
126 | { |
127 | .ctl_name = NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT, |
128 | .procname = "transport_no_activity_timeout", |
129 | .data = &sysctl_netrom_transport_no_activity_timeout, |
130 | .maxlen = sizeof(int), |
131 | .mode = 0644, |
132 | .proc_handler = proc_dointvec_minmax, |
133 | .strategy = sysctl_intvec, |
134 | .extra1 = &min_idle, |
135 | .extra2 = &max_idle |
136 | }, |
137 | { |
138 | .ctl_name = NET_NETROM_ROUTING_CONTROL, |
139 | .procname = "routing_control", |
140 | .data = &sysctl_netrom_routing_control, |
141 | .maxlen = sizeof(int), |
142 | .mode = 0644, |
143 | .proc_handler = proc_dointvec_minmax, |
144 | .strategy = sysctl_intvec, |
145 | .extra1 = &min_route, |
146 | .extra2 = &max_route |
147 | }, |
148 | { |
149 | .ctl_name = NET_NETROM_LINK_FAILS_COUNT, |
150 | .procname = "link_fails_count", |
151 | .data = &sysctl_netrom_link_fails_count, |
152 | .maxlen = sizeof(int), |
153 | .mode = 0644, |
154 | .proc_handler = proc_dointvec_minmax, |
155 | .strategy = sysctl_intvec, |
156 | .extra1 = &min_fails, |
157 | .extra2 = &max_fails |
158 | }, |
159 | { |
160 | .ctl_name = NET_NETROM_RESET, |
161 | .procname = "reset", |
162 | .data = &sysctl_netrom_reset_circuit, |
163 | .maxlen = sizeof(int), |
164 | .mode = 0644, |
165 | .proc_handler = proc_dointvec_minmax, |
166 | .strategy = sysctl_intvec, |
167 | .extra1 = &min_reset, |
168 | .extra2 = &max_reset |
169 | }, |
170 | { .ctl_name = 0 } |
171 | }; |
172 | |
173 | static struct ctl_path nr_path[] = { |
174 | { .procname = "net", .ctl_name = CTL_NET, }, |
175 | { .procname = "netrom", .ctl_name = NET_NETROM, }, |
176 | { } |
177 | }; |
178 | |
179 | void __init nr_register_sysctl(void) |
180 | { |
181 | nr_table_header = register_sysctl_paths(nr_path, nr_table); |
182 | } |
183 | |
184 | void nr_unregister_sysctl(void) |
185 | { |
186 | unregister_sysctl_table(nr_table_header); |
187 | } |
188 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9