1 /* -*- linux-c -*- 2 * sysctl_net_x25.c: sysctl interface to net X.25 subsystem. 3 * 4 * Begun April 1, 1996, Mike Shaver. 5 * Added /proc/sys/net/x25 directory entry (empty =) ). [MS] 6 */ 7 8 #include <linux/sysctl.h> 9 #include <linux/skbuff.h> 10 #include <linux/socket.h> 11 #include <linux/netdevice.h> 12 #include <linux/init.h> 13 #include <net/x25.h> 14 15 static int min_timer[] = { 1 * HZ }; 16 static int max_timer[] = { 300 * HZ }; 17 18 static struct ctl_table_header *x25_table_header; 19 20 static struct ctl_table x25_table[] = { 21 { 22 .procname = "restart_request_timeout", 23 .data = &sysctl_x25_restart_request_timeout, 24 .maxlen = sizeof(int), 25 .mode = 0644, 26 .proc_handler = proc_dointvec_minmax, 27 .extra1 = &min_timer, 28 .extra2 = &max_timer, 29 }, 30 { 31 .procname = "call_request_timeout", 32 .data = &sysctl_x25_call_request_timeout, 33 .maxlen = sizeof(int), 34 .mode = 0644, 35 .proc_handler = proc_dointvec_minmax, 36 .extra1 = &min_timer, 37 .extra2 = &max_timer, 38 }, 39 { 40 .procname = "reset_request_timeout", 41 .data = &sysctl_x25_reset_request_timeout, 42 .maxlen = sizeof(int), 43 .mode = 0644, 44 .proc_handler = proc_dointvec_minmax, 45 .extra1 = &min_timer, 46 .extra2 = &max_timer, 47 }, 48 { 49 .procname = "clear_request_timeout", 50 .data = &sysctl_x25_clear_request_timeout, 51 .maxlen = sizeof(int), 52 .mode = 0644, 53 .proc_handler = proc_dointvec_minmax, 54 .extra1 = &min_timer, 55 .extra2 = &max_timer, 56 }, 57 { 58 .procname = "acknowledgement_hold_back_timeout", 59 .data = &sysctl_x25_ack_holdback_timeout, 60 .maxlen = sizeof(int), 61 .mode = 0644, 62 .proc_handler = proc_dointvec_minmax, 63 .extra1 = &min_timer, 64 .extra2 = &max_timer, 65 }, 66 { 67 .procname = "x25_forward", 68 .data = &sysctl_x25_forward, 69 .maxlen = sizeof(int), 70 .mode = 0644, 71 .proc_handler = proc_dointvec, 72 }, 73 { }, 74 }; 75 76 int __init x25_register_sysctl(void) 77 { 78 x25_table_header = register_net_sysctl(&init_net, "net/x25", x25_table); 79 if (!x25_table_header) 80 return -ENOMEM; 81 return 0; 82 } 83 84 void x25_unregister_sysctl(void) 85 { 86 unregister_net_sysctl_table(x25_table_header); 87 } 88