Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 
 34 static struct ctl_table_header *nr_table_header;
 35 
 36 static ctl_table nr_table[] = {
 37         {
 38                 .ctl_name       = NET_NETROM_DEFAULT_PATH_QUALITY,
 39                 .procname       = "default_path_quality",
 40                 .data           = &sysctl_netrom_default_path_quality,
 41                 .maxlen         = sizeof(int),
 42                 .mode           = 0644,
 43                 .proc_handler   = &proc_dointvec_minmax,
 44                 .strategy       = &sysctl_intvec,
 45                 .extra1         = &min_quality,
 46                 .extra2         = &max_quality
 47         },
 48         {
 49                 .ctl_name       = NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER,
 50                 .procname       = "obsolescence_count_initialiser",
 51                 .data           = &sysctl_netrom_obsolescence_count_initialiser,
 52                 .maxlen         = sizeof(int),
 53                 .mode           = 0644,
 54                 .proc_handler   = &proc_dointvec_minmax,
 55                 .strategy       = &sysctl_intvec,
 56                 .extra1         = &min_obs,
 57                 .extra2         = &max_obs
 58         },
 59         {
 60                 .ctl_name       = NET_NETROM_NETWORK_TTL_INITIALISER,
 61                 .procname       = "network_ttl_initialiser",
 62                 .data           = &sysctl_netrom_network_ttl_initialiser,
 63                 .maxlen         = sizeof(int),
 64                 .mode           = 0644,
 65                 .proc_handler   = &proc_dointvec_minmax,
 66                 .strategy       = &sysctl_intvec,
 67                 .extra1         = &min_ttl,
 68                 .extra2         = &max_ttl
 69         },
 70         {
 71                 .ctl_name       = NET_NETROM_TRANSPORT_TIMEOUT,
 72                 .procname       = "transport_timeout",
 73                 .data           = &sysctl_netrom_transport_timeout,
 74                 .maxlen         = sizeof(int),
 75                 .mode           = 0644,
 76                 .proc_handler   = &proc_dointvec_minmax,
 77                 .strategy       = &sysctl_intvec,
 78                 .extra1         = &min_t1,
 79                 .extra2         = &max_t1
 80         },
 81         {
 82                 .ctl_name       = NET_NETROM_TRANSPORT_MAXIMUM_TRIES,
 83                 .procname       = "transport_maximum_tries",
 84                 .data           = &sysctl_netrom_transport_maximum_tries,
 85                 .maxlen         = sizeof(int),
 86                 .mode           = 0644,
 87                 .proc_handler   = &proc_dointvec_minmax,
 88                 .strategy       = &sysctl_intvec,
 89                 .extra1         = &min_n2,
 90                 .extra2         = &max_n2
 91         },
 92         {
 93                 .ctl_name       = NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY,
 94                 .procname       = "transport_acknowledge_delay",
 95                 .data           = &sysctl_netrom_transport_acknowledge_delay,
 96                 .maxlen         = sizeof(int),
 97                 .mode           = 0644,
 98                 .proc_handler   = &proc_dointvec_minmax,
 99                 .strategy       = &sysctl_intvec,
100                 .extra1         = &min_t2,
101                 .extra2         = &max_t2
102         },
103         {
104                 .ctl_name       = NET_NETROM_TRANSPORT_BUSY_DELAY,
105                 .procname       = "transport_busy_delay",
106                 .data           = &sysctl_netrom_transport_busy_delay,
107                 .maxlen         = sizeof(int),
108                 .mode           = 0644,
109                 .proc_handler   = &proc_dointvec_minmax,
110                 .strategy       = &sysctl_intvec,
111                 .extra1         = &min_t4,
112                 .extra2         = &max_t4
113         },
114         {
115                 .ctl_name       = NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE,
116                 .procname       = "transport_requested_window_size",
117                 .data           = &sysctl_netrom_transport_requested_window_size,
118                 .maxlen         = sizeof(int),
119                 .mode           = 0644,
120                 .proc_handler   = &proc_dointvec_minmax,
121                 .strategy       = &sysctl_intvec,
122                 .extra1         = &min_window,
123                 .extra2         = &max_window
124         },
125         {
126                 .ctl_name       = NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT,
127                 .procname       = "transport_no_activity_timeout",
128                 .data           = &sysctl_netrom_transport_no_activity_timeout,
129                 .maxlen         = sizeof(int),
130                 .mode           = 0644,
131                 .proc_handler   = &proc_dointvec_minmax,
132                 .strategy       = &sysctl_intvec,
133                 .extra1         = &min_idle,
134                 .extra2         = &max_idle
135         },
136         {
137                 .ctl_name       = NET_NETROM_ROUTING_CONTROL,
138                 .procname       = "routing_control",
139                 .data           = &sysctl_netrom_routing_control,
140                 .maxlen         = sizeof(int),
141                 .mode           = 0644,
142                 .proc_handler   = &proc_dointvec_minmax,
143                 .strategy       = &sysctl_intvec,
144                 .extra1         = &min_route,
145                 .extra2         = &max_route
146         },
147         {
148                 .ctl_name       = NET_NETROM_LINK_FAILS_COUNT,
149                 .procname       = "link_fails_count",
150                 .data           = &sysctl_netrom_link_fails_count,
151                 .maxlen         = sizeof(int),
152                 .mode           = 0644,
153                 .proc_handler   = &proc_dointvec_minmax,
154                 .strategy       = &sysctl_intvec,
155                 .extra1         = &min_fails,
156                 .extra2         = &max_fails
157         },
158         { .ctl_name = 0 }
159 };
160 
161 static ctl_table nr_dir_table[] = {
162         {
163                 .ctl_name       = NET_NETROM,
164                 .procname       = "netrom",
165                 .mode           = 0555,
166                 .child          = nr_table
167         },
168         { .ctl_name = 0 }
169 };
170 
171 static ctl_table nr_root_table[] = {
172         {
173                 .ctl_name       = CTL_NET,
174                 .procname       = "net",
175                 .mode           = 0555,
176                 .child          = nr_dir_table
177         },
178         { .ctl_name = 0 }
179 };
180 
181 void __init nr_register_sysctl(void)
182 {
183         nr_table_header = register_sysctl_table(nr_root_table, 1);
184 }
185 
186 void nr_unregister_sysctl(void)
187 {
188         unregister_sysctl_table(nr_table_header);
189 }
190 
  This page was automatically generated by the LXR engine.