2005-09-22 11:30:44 +04:00
/*
* sysctl_net_llc . c : sysctl interface to LLC net subsystem .
2007-02-09 17:25:01 +03:00
*
2005-09-22 11:30:44 +04:00
* Arnaldo Carvalho de Melo < acme @ conectiva . com . br >
*/
# include <linux/mm.h>
# include <linux/init.h>
# include <linux/sysctl.h>
2005-09-22 12:14:33 +04:00
# include <net/llc.h>
2005-09-22 11:30:44 +04:00
# ifndef CONFIG_SYSCTL
# error This file should not be compiled without CONFIG_SYSCTL defined
# endif
static struct ctl_table llc2_timeout_table [ ] = {
{
. procname = " ack " ,
. data = & sysctl_llc2_ack_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " busy " ,
. data = & sysctl_llc2_busy_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " p " ,
. data = & sysctl_llc2_p_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
{
. procname = " rej " ,
. data = & sysctl_llc2_rej_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
static struct ctl_table llc_station_table [ ] = {
{
. procname = " ack_timeout " ,
. data = & sysctl_llc_station_ack_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
2008-11-04 05:21:05 +03:00
. proc_handler = proc_dointvec_jiffies ,
2005-09-22 11:30:44 +04:00
} ,
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
static struct ctl_table llc2_dir_timeout_table [ ] = {
{
. procname = " timeout " ,
. mode = 0555 ,
. child = llc2_timeout_table ,
2007-02-09 17:25:01 +03:00
} ,
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
static struct ctl_table llc_table [ ] = {
{
. procname = " llc2 " ,
. mode = 0555 ,
. child = llc2_dir_timeout_table ,
2007-02-09 17:25:01 +03:00
} ,
2005-09-22 11:30:44 +04:00
{
. procname = " station " ,
. mode = 0555 ,
. child = llc_station_table ,
} ,
2009-11-06 00:32:03 +03:00
{ } ,
2005-09-22 11:30:44 +04:00
} ;
2008-01-09 11:30:05 +03:00
static struct ctl_path llc_path [ ] = {
2009-11-06 00:32:03 +03:00
{ . procname = " net " , } ,
{ . procname = " llc " , } ,
2008-01-09 11:30:05 +03:00
{ }
2005-09-22 11:30:44 +04:00
} ;
static struct ctl_table_header * llc_table_header ;
int __init llc_sysctl_init ( void )
{
2008-01-09 11:30:05 +03:00
llc_table_header = register_sysctl_paths ( llc_path , llc_table ) ;
2005-09-22 11:30:44 +04:00
return llc_table_header ? 0 : - ENOMEM ;
}
void llc_sysctl_exit ( void )
{
if ( llc_table_header ) {
unregister_sysctl_table ( llc_table_header ) ;
llc_table_header = NULL ;
}
}