patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / fs / sysfs / sysfs.h
1
2 extern struct vfsmount * sysfs_mount;
3
4 extern struct inode * sysfs_new_inode(mode_t mode);
5 extern int sysfs_create(struct dentry *, int mode, int (*init)(struct inode *));
6
7 extern struct dentry * sysfs_get_dentry(struct dentry *, const char *);
8
9 extern int sysfs_add_file(struct dentry * dir, const struct attribute * attr);
10 extern void sysfs_hash_and_remove(struct dentry * dir, const char * name);
11
12 extern int sysfs_create_subdir(struct kobject *, const char *, struct dentry **);
13 extern void sysfs_remove_subdir(struct dentry *);
14
15 extern int sysfs_readlink(struct dentry *, char __user *, int );
16 extern int sysfs_follow_link(struct dentry *, struct nameidata *);
17 extern struct rw_semaphore sysfs_rename_sem;
18
19 static inline struct kobject *sysfs_get_kobject(struct dentry *dentry)
20 {
21         struct kobject * kobj = NULL;
22
23         spin_lock(&dcache_lock);
24         if (!d_unhashed(dentry))
25                 kobj = kobject_get(dentry->d_fsdata);
26         spin_unlock(&dcache_lock);
27
28         return kobj;
29 }