49#define __ATTR_PURE__ __attribute__((__pure__))
53# define __ATTR_CONST__ __attribute__((__const__))
90#if defined(__DOXYGEN__)
98 + (((x) & 017) == 0) \
99 + (((x) & 037) == 0) \
100 + (((x) & 077) == 0) \
101 + (((x) & 0177) == 0) \
102 + (((x) & 0377) == 0) \
103 + (((x) & 0777) == 0) \
104 + (((x) & 01777) == 0) \
105 + (((x) & 03777) == 0) \
106 + (((x) & 07777) == 0) \
107 + (((x) & 017777) == 0) \
108 + (((x) & 037777) == 0) \
109 + (((x) & 077777) == 0) \
110 - (((x) & 0177777) == 0) * 16)
125extern int ffs(
int __val) __ATTR_CONST__;
131extern int ffsl(
long __val) __ATTR_CONST__;
137__extension__
extern int ffsll(
long long __val) __ATTR_CONST__;
150extern void *memccpy(
void *,
const void *,
int,
size_t);
162extern void *memchr(
const void *,
int,
size_t) __ATTR_PURE__;
180extern int memcmp(
const void *,
const void *,
size_t) __ATTR_PURE__;
191extern void *memcpy(
void *,
const void *,
size_t);
203extern void *memmem(
const void *,
size_t,
const void *,
size_t) __ATTR_PURE__;
213extern void *memmove(
void *,
const void *,
size_t);
225extern void *memrchr(
const void *,
int,
size_t) __ATTR_PURE__;
235extern void *memset(
void *,
int,
size_t);
248extern char *strcat(
char *,
const char *);
260extern char *strchr(
const char *,
int) __ATTR_PURE__;
272extern char *strchrnul(
const char *,
int) __ATTR_PURE__;
285extern int strcmp(
const char *,
const char *) __ATTR_PURE__;
303extern char *strcpy(
char *,
const char *);
318extern int strcasecmp(
const char *,
const char *) __ATTR_PURE__;
331extern char *strcasestr(
const char *,
const char *) __ATTR_PURE__;
342extern size_t strcspn(
const char *__s,
const char *__reject) __ATTR_PURE__;
362extern char *strdup(
const char *s1);
378extern char *strndup(
const char *s,
size_t n);
391extern size_t strlcat(
char *,
const char *,
size_t);
402extern size_t strlcpy(
char *,
const char *,
size_t);
413extern size_t strlen(
const char *) __ATTR_PURE__;
425extern char *strlwr(
char *);
436extern char *strncat(
char *,
const char *,
size_t);
448extern int strncmp(
const char *,
const char *,
size_t) __ATTR_PURE__;
463extern char *strncpy(
char *,
const char *,
size_t);
478extern int strncasecmp(
const char *,
const char *,
size_t) __ATTR_PURE__;
492extern size_t strnlen(
const char *,
size_t) __ATTR_PURE__;
505extern char *strpbrk(
const char *__s,
const char *__accept) __ATTR_PURE__;
519extern char *strrchr(
const char *,
int) __ATTR_PURE__;
529extern char *strrev(
char *);
547extern char *strsep(
char **,
const char *);
558extern size_t strspn(
const char *__s,
const char *__accept) __ATTR_PURE__;
571extern char *strstr(
const char *,
const char *) __ATTR_PURE__;
590extern char *strtok(
char *,
const char *);
607extern char *strtok_r(
char *,
const char *,
char **);
620extern char *strupr(
char *);
624extern int strcoll(
const char *s1,
const char *s2);
625extern char *strerror(
int errnum);
626extern size_t strxfrm(
char *dest,
const char *src,
size_t n);