sysctl: Add a root pointer to ctl_table_set
[linux-2.6.git] / include / linux / sysctl.h
index a514e0f..e73ba33 100644 (file)
@@ -1015,8 +1015,7 @@ struct ctl_table
        void *data;
        int maxlen;
        umode_t mode;
-       struct ctl_table *child;
-       struct ctl_table *parent;       /* Automatically set */
+       struct ctl_table *child;        /* Deprecated */
        proc_handler *proc_handler;     /* Callback for text formatting */
        struct ctl_table_poll *poll;
        void *extra1;
@@ -1033,6 +1032,7 @@ struct ctl_table_header
                        struct list_head ctl_entry;
                        int used;
                        int count;
+                       int nreg;
                };
                struct rcu_head rcu;
        };
@@ -1047,6 +1047,7 @@ struct ctl_table_header
 
 struct ctl_table_set {
        struct list_head list;
+       struct ctl_table_root *root;
        int (*is_seen)(struct ctl_table_set *);
 };
 
@@ -1069,6 +1070,7 @@ struct ctl_path {
 void proc_sys_poll_notify(struct ctl_table_poll *poll);
 
 extern void setup_sysctl_set(struct ctl_table_set *p,
+       struct ctl_table_root *root,
        int (*is_seen)(struct ctl_table_set *));
 extern void retire_sysctl_set(struct ctl_table_set *set);
 
@@ -1103,6 +1105,7 @@ static inline void unregister_sysctl_table(struct ctl_table_header * table)
 }
 
 static inline void setup_sysctl_set(struct ctl_table_set *p,
+       struct ctl_table_root *root,
        int (*is_seen)(struct ctl_table_set *))
 {
 }