mpathpersist: fix aptpl support
[multipath-tools/.git] / libmultipath / util.h
1 #ifndef _UTIL_H
2 #define _UTIL_H
3
4 #include <sys/types.h>
5 #include <inttypes.h>
6
7 size_t strchop(char *);
8 int basenamecpy (const char *src, char *dst, size_t size);
9 int filepresent (char * run);
10 char *get_next_string(char **temp, char *split_char);
11 int get_word (char * sentence, char ** word);
12 size_t strlcpy(char *dst, const char *src, size_t size);
13 size_t strlcat(char *dst, const char *src, size_t size);
14 int devt2devname (char *, int, char *);
15 dev_t parse_devt(const char *dev_t);
16 char *convert_dev(char *dev, int is_path_device);
17 char *parse_uid_attribute_by_attrs(char *uid_attrs, char *path_dev);
18 void setup_thread_attr(pthread_attr_t *attr, size_t stacksize, int detached);
19 int systemd_service_enabled(const char *dev);
20 int get_linux_version_code(void);
21 int parse_prkey(char *ptr, uint64_t *prkey);
22 int parse_prkey_flags(char *ptr, uint64_t *prkey, uint8_t *flags);
23 int safe_write(int fd, const void *buf, size_t count);
24
25 #define KERNEL_VERSION(maj, min, ptc) ((((maj) * 256) + (min)) * 256 + (ptc))
26
27 #define safe_sprintf(var, format, args...)      \
28         snprintf(var, sizeof(var), format, ##args) >= sizeof(var)
29 #define safe_snprintf(var, size, format, args...)      \
30         snprintf(var, size, format, ##args) >= size
31
32 #endif /* _UTIL_H */