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 [ ] = {
{
. ctl_name = NET_LLC2_ACK_TIMEOUT ,
. procname = " ack " ,
. data = & sysctl_llc2_ack_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec_jiffies ,
. strategy = & sysctl_jiffies ,
} ,
{
. ctl_name = NET_LLC2_BUSY_TIMEOUT ,
. procname = " busy " ,
. data = & sysctl_llc2_busy_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec_jiffies ,
. strategy = & sysctl_jiffies ,
} ,
{
. ctl_name = NET_LLC2_P_TIMEOUT ,
. procname = " p " ,
. data = & sysctl_llc2_p_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec_jiffies ,
. strategy = & sysctl_jiffies ,
} ,
{
. ctl_name = NET_LLC2_REJ_TIMEOUT ,
. procname = " rej " ,
. data = & sysctl_llc2_rej_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec_jiffies ,
. strategy = & sysctl_jiffies ,
} ,
{ 0 } ,
} ;
static struct ctl_table llc_station_table [ ] = {
{
. ctl_name = NET_LLC_STATION_ACK_TIMEOUT ,
. procname = " ack_timeout " ,
. data = & sysctl_llc_station_ack_timeout ,
. maxlen = sizeof ( long ) ,
. mode = 0644 ,
. proc_handler = & proc_dointvec_jiffies ,
. strategy = & sysctl_jiffies ,
} ,
{ 0 } ,
} ;
static struct ctl_table llc2_dir_timeout_table [ ] = {
{
. ctl_name = NET_LLC2 ,
. procname = " timeout " ,
. mode = 0555 ,
. child = llc2_timeout_table ,
2007-02-09 17:25:01 +03:00
} ,
2005-09-22 11:30:44 +04:00
{ 0 } ,
} ;
static struct ctl_table llc_table [ ] = {
{
. ctl_name = NET_LLC2 ,
. 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
{
. ctl_name = NET_LLC_STATION ,
. procname = " station " ,
. mode = 0555 ,
. child = llc_station_table ,
} ,
{ 0 } ,
} ;
static struct ctl_table llc_dir_table [ ] = {
{
. ctl_name = NET_LLC ,
. procname = " llc " ,
. mode = 0555 ,
. child = llc_table ,
2007-02-09 17:25:01 +03:00
} ,
2005-09-22 11:30:44 +04:00
{ 0 } ,
} ;
static struct ctl_table llc_root_table [ ] = {
{
. ctl_name = CTL_NET ,
. procname = " net " ,
. mode = 0555 ,
. child = llc_dir_table ,
} ,
{ 0 } ,
} ;
static struct ctl_table_header * llc_table_header ;
int __init llc_sysctl_init ( void )
{
2007-02-14 11:33:26 +03:00
llc_table_header = register_sysctl_table ( llc_root_table , 0 ) ;
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 ;
}
}