#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