aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/proc_fs.h
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2008-02-03 02:29:41 -0500
committerDavid Woodhouse <dwmw2@infradead.org>2008-02-03 02:30:32 -0500
commitc1f3ee120bb61045b1c0a3ead620d1d65af47130 (patch)
tree908430bf2b47fe8e96ac623ae7ab6dd5698d0938 /include/linux/proc_fs.h
parente619a75ff6201b567a539e787aa9af9bc63a3187 (diff)
parent9135f1901ee6449dfe338adf6e40e9c2025b8150 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'include/linux/proc_fs.h')
-rw-r--r--include/linux/proc_fs.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
index 1ff461672060..8f92546b403d 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -48,6 +48,8 @@ typedef int (read_proc_t)(char *page, char **start, off_t off,
48typedef int (write_proc_t)(struct file *file, const char __user *buffer, 48typedef int (write_proc_t)(struct file *file, const char __user *buffer,
49 unsigned long count, void *data); 49 unsigned long count, void *data);
50typedef int (get_info_t)(char *, char **, off_t, int); 50typedef int (get_info_t)(char *, char **, off_t, int);
51typedef struct proc_dir_entry *(shadow_proc_t)(struct task_struct *task,
52 struct proc_dir_entry *pde);
51 53
52struct proc_dir_entry { 54struct proc_dir_entry {
53 unsigned int low_ino; 55 unsigned int low_ino;
@@ -75,10 +77,10 @@ struct proc_dir_entry {
75 read_proc_t *read_proc; 77 read_proc_t *read_proc;
76 write_proc_t *write_proc; 78 write_proc_t *write_proc;
77 atomic_t count; /* use count */ 79 atomic_t count; /* use count */
78 int deleted; /* delete flag */
79 int pde_users; /* number of callers into module in progress */ 80 int pde_users; /* number of callers into module in progress */
80 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ 81 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */
81 struct completion *pde_unload_completion; 82 struct completion *pde_unload_completion;
83 shadow_proc_t *shadow_proc;
82}; 84};
83 85
84struct kcore_list { 86struct kcore_list {
@@ -196,11 +198,11 @@ static inline struct proc_dir_entry *create_proc_info_entry(const char *name,
196 return res; 198 return res;
197} 199}
198 200
199extern struct proc_dir_entry *proc_net_create(struct net *net,
200 const char *name, mode_t mode, get_info_t *get_info);
201extern struct proc_dir_entry *proc_net_fops_create(struct net *net, 201extern struct proc_dir_entry *proc_net_fops_create(struct net *net,
202 const char *name, mode_t mode, const struct file_operations *fops); 202 const char *name, mode_t mode, const struct file_operations *fops);
203extern void proc_net_remove(struct net *net, const char *name); 203extern void proc_net_remove(struct net *net, const char *name);
204extern struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name,
205 struct proc_dir_entry *parent);
204 206
205#else 207#else
206 208
@@ -208,7 +210,6 @@ extern void proc_net_remove(struct net *net, const char *name);
208#define proc_bus NULL 210#define proc_bus NULL
209 211
210#define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; }) 212#define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; })
211#define proc_net_create(net, name, mode, info) ({ (void)(mode), NULL; })
212static inline void proc_net_remove(struct net *net, const char *name) {} 213static inline void proc_net_remove(struct net *net, const char *name) {}
213 214
214static inline void proc_flush_task(struct task_struct *task) 215static inline void proc_flush_task(struct task_struct *task)