2005-04-17 02:20:36 +04:00
/*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* Copyright ( C ) 1996 Mike Shaver ( shaver @ zeroknowledge . com )
*/
# include <linux/mm.h>
# include <linux/sysctl.h>
# include <linux/init.h>
# include <net/ax25.h>
# include <net/rose.h>
static int min_timer [ ] = { 1 * HZ } ;
static int max_timer [ ] = { 300 * HZ } ;
static int min_idle [ ] = { 0 * HZ } ;
static int max_idle [ ] = { 65535 * HZ } ;
static int min_route [ 1 ] , max_route [ ] = { 1 } ;
static int min_ftimer [ ] = { 60 * HZ } ;
static int max_ftimer [ ] = { 600 * HZ } ;
static int min_maxvcs [ ] = { 1 } , max_maxvcs [ ] = { 254 } ;
static int min_window [ ] = { 1 } , max_window [ ] = { 7 } ;
static struct ctl_table_header * rose_table_header ;
2013-06-12 10:04:25 +04:00
static struct ctl_table rose_table [ ] = {
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " restart_request_timeout " ,
. data = & sysctl_rose_restart_request_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_timer ,
. extra2 = & max_timer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " call_request_timeout " ,
. data = & sysctl_rose_call_request_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_timer ,
. extra2 = & max_timer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " reset_request_timeout " ,
. data = & sysctl_rose_reset_request_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_timer ,
. extra2 = & max_timer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " clear_request_timeout " ,
. data = & sysctl_rose_clear_request_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_timer ,
. extra2 = & max_timer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " no_activity_timeout " ,
. data = & sysctl_rose_no_activity_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_idle ,
. extra2 = & max_idle
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " acknowledge_hold_back_timeout " ,
. data = & sysctl_rose_ack_hold_back_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_timer ,
. extra2 = & max_timer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " routing_control " ,
. data = & sysctl_rose_routing_control ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_route ,
. extra2 = & max_route
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " link_fail_timeout " ,
. data = & sysctl_rose_link_fail_timeout ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_ftimer ,
. extra2 = & max_ftimer
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " maximum_virtual_circuits " ,
. data = & sysctl_rose_maximum_vcs ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_maxvcs ,
. extra2 = & max_maxvcs
} ,
2007-02-09 17:25:12 +03:00
{
2005-04-17 02:20:36 +04:00
. procname = " window_size " ,
. data = & sysctl_rose_window_size ,
. maxlen = sizeof ( int ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_minmax ,
2005-04-17 02:20:36 +04:00
. extra1 = & min_window ,
. extra2 = & max_window
} ,
2009-11-06 00:32:03 +03:00
{ }
2005-04-17 02:20:36 +04:00
} ;
void __init rose_register_sysctl ( void )
{
2012-04-19 17:44:49 +04:00
rose_table_header = register_net_sysctl ( & init_net , " net/rose " , rose_table ) ;
2005-04-17 02:20:36 +04:00
}
void rose_unregister_sysctl ( void )
{
2012-04-19 17:24:33 +04:00
unregister_net_sysctl_table ( rose_table_header ) ;
2005-04-17 02:20:36 +04:00
}