linux/net/tipc/sysctl.c
<<
>>
Prefs
   1/*
   2 * net/tipc/sysctl.c: sysctl interface to TIPC subsystem
   3 *
   4 * Copyright (c) 2013, Wind River Systems
   5 * All rights reserved.
   6 *
   7 * Redistribution and use in source and binary forms, with or without
   8 * modification, are permitted provided that the following conditions are met:
   9 *
  10 * 1. Redistributions of source code must retain the above copyright
  11 *    notice, this list of conditions and the following disclaimer.
  12 * 2. Redistributions in binary form must reproduce the above copyright
  13 *    notice, this list of conditions and the following disclaimer in the
  14 *    documentation and/or other materials provided with the distribution.
  15 * 3. Neither the names of the copyright holders nor the names of its
  16 *    contributors may be used to endorse or promote products derived from
  17 *    this software without specific prior written permission.
  18 *
  19 * Alternatively, this software may be distributed under the terms of the
  20 * GNU General Public License ("GPL") version 2 as published by the Free
  21 * Software Foundation.
  22 *
  23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  33 * POSSIBILITY OF SUCH DAMAGE.
  34 */
  35
  36#include "core.h"
  37#include "trace.h"
  38
  39#include <linux/sysctl.h>
  40
  41static int zero;
  42static int one = 1;
  43static struct ctl_table_header *tipc_ctl_hdr;
  44
  45static struct ctl_table tipc_table[] = {
  46        {
  47                .procname       = "tipc_rmem",
  48                .data           = &sysctl_tipc_rmem,
  49                .maxlen         = sizeof(sysctl_tipc_rmem),
  50                .mode           = 0644,
  51                .proc_handler   = proc_dointvec_minmax,
  52                .extra1         = &one,
  53        },
  54        {
  55                .procname       = "named_timeout",
  56                .data           = &sysctl_tipc_named_timeout,
  57                .maxlen         = sizeof(sysctl_tipc_named_timeout),
  58                .mode           = 0644,
  59                .proc_handler   = proc_dointvec_minmax,
  60                .extra1         = &zero,
  61        },
  62        {
  63                .procname       = "sk_filter",
  64                .data           = &sysctl_tipc_sk_filter,
  65                .maxlen         = sizeof(sysctl_tipc_sk_filter),
  66                .mode           = 0644,
  67                .proc_handler   = proc_doulongvec_minmax,
  68        },
  69        {}
  70};
  71
  72int tipc_register_sysctl(void)
  73{
  74        tipc_ctl_hdr = register_net_sysctl(&init_net, "net/tipc", tipc_table);
  75        if (tipc_ctl_hdr == NULL)
  76                return -ENOMEM;
  77        return 0;
  78}
  79
  80void tipc_unregister_sysctl(void)
  81{
  82        unregister_net_sysctl_table(tipc_ctl_hdr);
  83}
  84