1 #ifndef _TOOLS_LINUX_STRING_H_ 2 #define _TOOLS_LINUX_STRING_H_ 3 4 5 #include <linux/types.h> /* for size_t */ 6 7 void *memdup(const void *src, size_t len); 8 9 int strtobool(const char *s, bool *res); 10 11 /* 12 * glibc based builds needs the extern while uClibc doesn't. 13 * However uClibc headers also define __GLIBC__ hence the hack below 14 */ 15 #if defined(__GLIBC__) && !defined(__UCLIBC__) 16 extern size_t strlcpy(char *dest, const char *src, size_t size); 17 #endif 18 19 char *str_error_r(int errnum, char *buf, size_t buflen); 20 21 #endif /* _LINUX_STRING_H_ */ 22