linux/net/x25/sysctl_net_x25.c
<<
>>
Prefs
   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
  15static int min_timer[] = {   1 * HZ };
  16static int max_timer[] = { 300 * HZ };
  17
  18static struct ctl_table_header *x25_table_header;
  19
  20static struct ctl_table x25_table[] = {
  21        {
  22                .ctl_name =     NET_X25_RESTART_REQUEST_TIMEOUT,
  23                .procname =     "restart_request_timeout",
  24                .data =         &sysctl_x25_restart_request_timeout,
  25                .maxlen =       sizeof(int),
  26                .mode =         0644,
  27                .proc_handler = proc_dointvec_minmax,
  28                .strategy =     sysctl_intvec,
  29                .extra1 =       &min_timer,
  30                .extra2 =       &max_timer,
  31        },
  32        {
  33                .ctl_name =     NET_X25_CALL_REQUEST_TIMEOUT,
  34                .procname =     "call_request_timeout",
  35                .data =         &sysctl_x25_call_request_timeout,
  36                .maxlen =       sizeof(int),
  37                .mode =         0644,
  38                .proc_handler = proc_dointvec_minmax,
  39                .strategy =     sysctl_intvec,
  40                .extra1 =       &min_timer,
  41                .extra2 =       &max_timer,
  42        },
  43        {
  44                .ctl_name =     NET_X25_RESET_REQUEST_TIMEOUT,
  45                .procname =     "reset_request_timeout",
  46                .data =         &sysctl_x25_reset_request_timeout,
  47                .maxlen =       sizeof(int),
  48                .mode =         0644,
  49                .proc_handler = proc_dointvec_minmax,
  50                .strategy =     sysctl_intvec,
  51                .extra1 =       &min_timer,
  52                .extra2 =       &max_timer,
  53        },
  54        {
  55                .ctl_name =     NET_X25_CLEAR_REQUEST_TIMEOUT,
  56                .procname =     "clear_request_timeout",
  57                .data =         &sysctl_x25_clear_request_timeout,
  58                .maxlen =       sizeof(int),
  59                .mode =         0644,
  60                .proc_handler = proc_dointvec_minmax,
  61                .strategy =     sysctl_intvec,
  62                .extra1 =       &min_timer,
  63                .extra2 =       &max_timer,
  64        },
  65        {
  66                .ctl_name =     NET_X25_ACK_HOLD_BACK_TIMEOUT,
  67                .procname =     "acknowledgement_hold_back_timeout",
  68                .data =         &sysctl_x25_ack_holdback_timeout,
  69                .maxlen =       sizeof(int),
  70                .mode =         0644,
  71                .proc_handler = proc_dointvec_minmax,
  72                .strategy =     sysctl_intvec,
  73                .extra1 =       &min_timer,
  74                .extra2 =       &max_timer,
  75        },
  76        {
  77                .ctl_name =     NET_X25_FORWARD,
  78                .procname =     "x25_forward",
  79                .data =         &sysctl_x25_forward,
  80                .maxlen =       sizeof(int),
  81                .mode =         0644,
  82                .proc_handler = proc_dointvec,
  83        },
  84        { 0, },
  85};
  86
  87static struct ctl_path x25_path[] = {
  88        { .procname = "net", .ctl_name = CTL_NET, },
  89        { .procname = "x25", .ctl_name = NET_X25, },
  90        { }
  91};
  92
  93void __init x25_register_sysctl(void)
  94{
  95        x25_table_header = register_sysctl_paths(x25_path, x25_table);
  96}
  97
  98void x25_unregister_sysctl(void)
  99{
 100        unregister_sysctl_table(x25_table_header);
 101}
 102