#pragma once
#include <stddef.h>

size_t strlen(const char* __s);

__attribute__((deprecated)) char* strcpy(char* dest, const char* src);
__attribute__((deprecated)) int strcmp(const char* a, const char* b);
__attribute__((deprecated)) char* strcat(char* dest, const char* src);

char* strncpy(char* dest, const char* src, size_t n);
size_t strlcpy(char* dest, const char* src, size_t size);
int strncmp(const char* a, const char* b, size_t n);
char* strncat(char* dest, const char* src, size_t n);

char* strstr(char* haystack, const char* needle);

void* memcpy(void* dest, const void* src, size_t n);
void* memset(void* dest, int c, size_t n);
int memcmp(const void* a, const void* b, size_t n);
void* memmove(void* dest, void* src, size_t n);

char* strdup(const char* src);
char* strrchr(const char* str, int c);