b5a3f211444819d4b46cac232c6793812b47f3c7
[multipath-tools/.git] / libmultipath / sysfs.h
1 /*
2  * sysfs.h
3  */
4
5 #ifndef _LIBMULTIPATH_SYSFS_H
6 #define _LIBMULTIPATH_SYSFS_H
7
8 #ifdef DEBUG
9 # define dbg(format, args...) condlog(4, format, ##args)
10 #else
11 # define dbg(format, args...) do {} while (0)
12 #endif
13
14 int sysfs_init(char *path, size_t len);
15 void sysfs_cleanup(void);
16 struct sysfs_device *sysfs_device_get(const char *devpath);
17 struct sysfs_device *sysfs_device_get_parent(struct sysfs_device *dev);
18 void sysfs_device_put(struct sysfs_device *dev);
19 struct sysfs_device *sysfs_device_verify(struct sysfs_device *dev);
20 size_t sysfs_attr_get_value(const char *devpath, const char *attr_name,
21                             char *attr_value, int attr_len);
22 ssize_t sysfs_attr_set_value(const char *devpath, const char *attr_name,
23                              const char *value, int value_len);
24 int sysfs_resolve_link(char *path, size_t size);
25 int sysfs_get_size(struct path *pp, unsigned long long * size);
26 int sysfs_check_holders(char * check_devt, char * new_devt);
27 #endif