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