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
13static 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
52static 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
62static 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
72static struct ctl_table_header *atalk_table_header;
73
74void atalk_register_sysctl(void)
75{
76	atalk_table_header = register_sysctl_table(atalk_root_table);
77}
78
79void atalk_unregister_sysctl(void)
80{
81	unregister_sysctl_table(atalk_table_header);
82}
83