0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <linux/sysctl.h>
0010 #include <linux/skbuff.h>
0011 #include <linux/socket.h>
0012 #include <linux/netdevice.h>
0013 #include <linux/init.h>
0014 #include <net/x25.h>
0015
0016 static int min_timer[] = { 1 * HZ };
0017 static int max_timer[] = { 300 * HZ };
0018
0019 static struct ctl_table_header *x25_table_header;
0020
0021 static struct ctl_table x25_table[] = {
0022 {
0023 .procname = "restart_request_timeout",
0024 .data = &sysctl_x25_restart_request_timeout,
0025 .maxlen = sizeof(int),
0026 .mode = 0644,
0027 .proc_handler = proc_dointvec_minmax,
0028 .extra1 = &min_timer,
0029 .extra2 = &max_timer,
0030 },
0031 {
0032 .procname = "call_request_timeout",
0033 .data = &sysctl_x25_call_request_timeout,
0034 .maxlen = sizeof(int),
0035 .mode = 0644,
0036 .proc_handler = proc_dointvec_minmax,
0037 .extra1 = &min_timer,
0038 .extra2 = &max_timer,
0039 },
0040 {
0041 .procname = "reset_request_timeout",
0042 .data = &sysctl_x25_reset_request_timeout,
0043 .maxlen = sizeof(int),
0044 .mode = 0644,
0045 .proc_handler = proc_dointvec_minmax,
0046 .extra1 = &min_timer,
0047 .extra2 = &max_timer,
0048 },
0049 {
0050 .procname = "clear_request_timeout",
0051 .data = &sysctl_x25_clear_request_timeout,
0052 .maxlen = sizeof(int),
0053 .mode = 0644,
0054 .proc_handler = proc_dointvec_minmax,
0055 .extra1 = &min_timer,
0056 .extra2 = &max_timer,
0057 },
0058 {
0059 .procname = "acknowledgement_hold_back_timeout",
0060 .data = &sysctl_x25_ack_holdback_timeout,
0061 .maxlen = sizeof(int),
0062 .mode = 0644,
0063 .proc_handler = proc_dointvec_minmax,
0064 .extra1 = &min_timer,
0065 .extra2 = &max_timer,
0066 },
0067 {
0068 .procname = "x25_forward",
0069 .data = &sysctl_x25_forward,
0070 .maxlen = sizeof(int),
0071 .mode = 0644,
0072 .proc_handler = proc_dointvec,
0073 },
0074 { },
0075 };
0076
0077 int __init x25_register_sysctl(void)
0078 {
0079 x25_table_header = register_net_sysctl(&init_net, "net/x25", x25_table);
0080 if (!x25_table_header)
0081 return -ENOMEM;
0082 return 0;
0083 }
0084
0085 void x25_unregister_sysctl(void)
0086 {
0087 unregister_net_sysctl_table(x25_table_header);
0088 }