OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [fs/] [ntfs/] [sysctl.c] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
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
                .ctl_name       = CTL_UNNUMBERED,       /* Binary and text IDs. */
40
                .procname       = "ntfs-debug",
41
                .data           = &debug_msgs,          /* Data pointer and size. */
42
                .maxlen         = sizeof(debug_msgs),
43
                .mode           = 0644,                 /* Mode, proc handler. */
44
                .proc_handler   = &proc_dointvec
45
        },
46
        {}
47
};
48
 
49
/* Define the parent directory /proc/sys/fs. */
50
static ctl_table sysctls_root[] = {
51
        {
52
                .ctl_name       = CTL_FS,
53
                .procname       = "fs",
54
                .mode           = 0555,
55
                .child          = ntfs_sysctls
56
        },
57
        {}
58
};
59
 
60
/* Storage for the sysctls header. */
61
static struct ctl_table_header *sysctls_root_table = NULL;
62
 
63
/**
64
 * ntfs_sysctl - add or remove the debug sysctl
65
 * @add:        add (1) or remove (0) the sysctl
66
 *
67
 * Add or remove the debug sysctl. Return 0 on success or -errno on error.
68
 */
69
int ntfs_sysctl(int add)
70
{
71
        if (add) {
72
                BUG_ON(sysctls_root_table);
73
                sysctls_root_table = register_sysctl_table(sysctls_root);
74
                if (!sysctls_root_table)
75
                        return -ENOMEM;
76
        } else {
77
                BUG_ON(!sysctls_root_table);
78
                unregister_sysctl_table(sysctls_root_table);
79
                sysctls_root_table = NULL;
80
        }
81
        return 0;
82
}
83
 
84
#endif /* CONFIG_SYSCTL */
85
#endif /* DEBUG */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.