The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/fs/ntfs/sysctl.c

Version: -  FREEBSD  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-2  -  FREEBSD-11-1  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-4  -  FREEBSD-10-3  -  FREEBSD-10-2  -  FREEBSD-10-1  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-3  -  FREEBSD-9-2  -  FREEBSD-9-1  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-4  -  FREEBSD-8-3  -  FREEBSD-8-2  -  FREEBSD-8-1  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-4  -  FREEBSD-7-3  -  FREEBSD-7-2  -  FREEBSD-7-1  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-4  -  FREEBSD-6-3  -  FREEBSD-6-2  -  FREEBSD-6-1  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-5  -  FREEBSD-5-4  -  FREEBSD-5-3  -  FREEBSD-5-2  -  FREEBSD-5-1  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * sysctl.c - Code for sysctl handling in NTFS Linux kernel driver. Part of
    3  *            the Linux-NTFS project. Adapted from the old NTFS driver,
    4  *            Copyright (C) 1997 Martin von Löwis, Régis Duchesne
    5  *
    6  * Copyright (c) 2002-2005 Anton Altaparmakov
    7  *
    8  * This program/include file is free software; you can redistribute it and/or
    9  * modify it under the terms of the GNU General Public License as published
   10  * by the Free Software Foundation; either version 2 of the License, or
   11  * (at your option) any later version.
   12  *
   13  * This program/include file is distributed in the hope that it will be
   14  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
   15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16  * GNU General Public License for more details.
   17  *
   18  * You should have received a copy of the GNU General Public License
   19  * along with this program (in the main directory of the Linux-NTFS
   20  * distribution in the file COPYING); if not, write to the Free Software
   21  * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   22  */
   23 
   24 #ifdef DEBUG
   25 
   26 #include <linux/module.h>
   27 
   28 #ifdef CONFIG_SYSCTL
   29 
   30 #include <linux/proc_fs.h>
   31 #include <linux/sysctl.h>
   32 
   33 #include "sysctl.h"
   34 #include "debug.h"
   35 
   36 /* Definition of the ntfs sysctl. */
   37 static ctl_table ntfs_sysctls[] = {
   38         {
   39                 .procname       = "ntfs-debug",
   40                 .data           = &debug_msgs,          /* Data pointer and size. */
   41                 .maxlen         = sizeof(debug_msgs),
   42                 .mode           = 0644,                 /* Mode, proc handler. */
   43                 .proc_handler   = proc_dointvec
   44         },
   45         {}
   46 };
   47 
   48 /* Define the parent directory /proc/sys/fs. */
   49 static ctl_table sysctls_root[] = {
   50         {
   51                 .procname       = "fs",
   52                 .mode           = 0555,
   53                 .child          = ntfs_sysctls
   54         },
   55         {}
   56 };
   57 
   58 /* Storage for the sysctls header. */
   59 static struct ctl_table_header *sysctls_root_table = NULL;
   60 
   61 /**
   62  * ntfs_sysctl - add or remove the debug sysctl
   63  * @add:        add (1) or remove (0) the sysctl
   64  *
   65  * Add or remove the debug sysctl. Return 0 on success or -errno on error.
   66  */
   67 int ntfs_sysctl(int add)
   68 {
   69         if (add) {
   70                 BUG_ON(sysctls_root_table);
   71                 sysctls_root_table = register_sysctl_table(sysctls_root);
   72                 if (!sysctls_root_table)
   73                         return -ENOMEM;
   74         } else {
   75                 BUG_ON(!sysctls_root_table);
   76                 unregister_sysctl_table(sysctls_root_table);
   77                 sysctls_root_table = NULL;
   78         }
   79         return 0;
   80 }
   81 
   82 #endif /* CONFIG_SYSCTL */
   83 #endif /* DEBUG */

Cache object: 027fb900a133d8ef2ae5b4b443fb7b7f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.