#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <features.h>
#include <bits/null.h>
#define __NEED_size_t
#include <bits/alltypes.h>
void* memcpy(void* __restrict, const void* __restrict, size_t);
void* memmove(void*, const void*, size_t);
void* memset(void*, int, size_t);
int memcmp(const void*, const void*, size_t);
void* memchr(const void*, int, size_t);
char* strcpy(char* __restrict, const char* __restrict);
char* strncpy(char* __restrict, const char* __restrict, size_t);
char* strcat(char* __restrict, const char* __restrict);
char* strncat(char* __restrict, const char* __restrict, size_t);
int strcmp(const char*, const char*);
int strncmp(const char*, const char*, size_t);
int strcoll(const char*, const char*);
size_t strxfrm(char* __restrict, const char* __restrict, size_t);
char* strchr(const char*, int);
char* strrchr(const char*, int);
size_t strcspn(const char*, const char*);
size_t strspn(const char*, const char*);
char* strpbrk(const char*, const char*);
char* strstr(const char*, const char*);
char* strtok(char* __restrict, const char* __restrict);
size_t strlen(const char*);
char* strerror(int);
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
#include <strings.h>
#endif
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
char* strtok_r(char* __restrict, const char* __restrict, char** __restrict);
int strerror_r(int, char*, size_t);
char* stpcpy(char* __restrict, const char* __restrict);
char* stpncpy(char* __restrict, const char* __restrict, size_t);
size_t strnlen(const char*, size_t);
char* strdup(const char*);
char* strndup(const char*, size_t);
char* strsignal(int);
#endif
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
void* memccpy(void* __restrict, const void* __restrict, int, size_t);
#endif
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
char* strsep(char**, const char*);
size_t strlcat(char*, const char*, size_t);
size_t strlcpy(char*, const char*, size_t);
#endif
#ifdef _GNU_SOURCE
#define strdupa(x) strcpy(alloca(strlen(x) + 1), x)
int strverscmp(const char*, const char*);
char* strchrnul(const char*, int);
char* strcasestr(const char*, const char*);
void* memmem(const void*, size_t, const void*, size_t);
void* memrchr(const void*, int, size_t);
void* mempcpy(void*, const void*, size_t);
#ifndef __cplusplus
char* basename(char*);
#endif
#endif
#ifdef __cplusplus
}
#endif