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 *);
262extern char *strchr(
const char *,
int) __ATTR_PURE__;
274extern char *strchrnul(
const char *,
int) __ATTR_PURE__;
287extern int strcmp(
const char *,
const char *) __ATTR_PURE__;
305extern char *strcpy(
char *,
const char *);
320extern int strcasecmp(
const char *,
const char *) __ATTR_PURE__;
333extern char *strcasestr(
const char *,
const char *) __ATTR_PURE__;
344extern size_t strcspn(
const char *__s,
const char *__reject) __ATTR_PURE__;
364extern char *strdup(
const char *s1);
377extern size_t strlcat(
char *,
const char *,
size_t);
388extern size_t strlcpy(
char *,
const char *,
size_t);
399extern size_t strlen(
const char *) __ATTR_PURE__;
411extern char *strlwr(
char *);
422extern char *strncat(
char *,
const char *,
size_t);
434extern int strncmp(
const char *,
const char *,
size_t) __ATTR_PURE__;
449extern char *strncpy(
char *,
const char *,
size_t);
464extern int strncasecmp(
const char *,
const char *,
size_t) __ATTR_PURE__;
478extern size_t strnlen(
const char *,
size_t) __ATTR_PURE__;
491extern char *strpbrk(
const char *__s,
const char *__accept) __ATTR_PURE__;
505extern char *strrchr(
const char *,
int) __ATTR_PURE__;
515extern char *strrev(
char *);
533extern char *strsep(
char **,
const char *);
544extern size_t strspn(
const char *__s,
const char *__accept) __ATTR_PURE__;
557extern char *strstr(
const char *,
const char *) __ATTR_PURE__;
576extern char *strtok(
char *,
const char *);
593extern char *strtok_r(
char *,
const char *,
char **);
606extern char *strupr(
char *);
610extern int strcoll(
const char *s1,
const char *s2);
611extern char *strerror(
int errnum);
612extern size_t strxfrm(
char *dest,
const char *src,
size_t n);