1 /*
2  * sysctl_net_atalk.c: sysctl interface to net AppleTalk subsystem.
3  *
4  * Begun April 1, 1996, Mike Shaver.
5  * Added /proc/sys/net/atalk directory entry (empty =) ). [MS]
6  * Dynamic registration, added aarp entries. (5/30/97 Chris Horn)
7  */
8 
9 #include <linux/sysctl.h>
10 #include <net/sock.h>
11 #include <linux/atalk.h>
12 
13 static struct ctl_table atalk_table[] = {
14 	{
15 		.ctl_name	= NET_ATALK_AARP_EXPIRY_TIME,
16 		.procname	= "aarp-expiry-time",
17 		.data		= &sysctl_aarp_expiry_time,
18 		.maxlen		= sizeof(int),
19 		.mode		= 0644,
20 		.proc_handler	= &proc_dointvec_jiffies,
21 		.strategy	= &sysctl_jiffies,
22 	},
23 	{
24 		.ctl_name	= NET_ATALK_AARP_TICK_TIME,
25 		.procname	= "aarp-tick-time",
26 		.data		= &sysctl_aarp_tick_time,
27 		.maxlen		= sizeof(int),
28 		.mode		= 0644,
29 		.proc_handler	= &proc_dointvec_jiffies,
30 		.strategy	= &sysctl_jiffies,
31 	},
32 	{
33 		.ctl_name	= NET_ATALK_AARP_RETRANSMIT_LIMIT,
34 		.procname	= "aarp-retransmit-limit",
35 		.data		= &sysctl_aarp_retransmit_limit,
36 		.maxlen		= sizeof(int),
37 		.mode		= 0644,
38 		.proc_handler	= &proc_dointvec,
39 	},
40 	{
41 		.ctl_name	= NET_ATALK_AARP_RESOLVE_TIME,
42 		.procname	= "aarp-resolve-time",
43 		.data		= &sysctl_aarp_resolve_time,
44 		.maxlen		= sizeof(int),
45 		.mode		= 0644,
46 		.proc_handler	= &proc_dointvec_jiffies,
47 		.strategy	= &sysctl_jiffies,
48 	},
49 	{ 0 },
50 };
51 
52 static struct ctl_table atalk_dir_table[] = {
53 	{
54 		.ctl_name	= NET_ATALK,
55 		.procname	= "appletalk",
56 		.mode		= 0555,
57 		.child		= atalk_table,
58 	},
59 	{ 0 },
60 };
61 
62 static struct ctl_table atalk_root_table[] = {
63 	{
64 		.ctl_name	= CTL_NET,
65 		.procname	= "net",
66 		.mode		= 0555,
67 		.child		= atalk_dir_table,
68 	},
69 	{ 0 },
70 };
71 
72 static struct ctl_table_header *atalk_table_header;
73 
74 void atalk_register_sysctl(void)
75 {
76 	atalk_table_header = register_sysctl_table(atalk_root_table);
77 }
78 
79 void atalk_unregister_sysctl(void)
80 {
81 	unregister_sysctl_table(atalk_table_header);
82 }
83