1 /* 2 * Copyright (c) 2012-2017 Roberto E. Vargas Caballero 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef _STRING_H 8 #define _STRING_H 9 10 #include <arch/string.h> 11 12 #ifndef NULL 13 #define NULL ((void *) 0) 14 #endif 15 16 extern void *memcpy(void * restrict s1, const void * restrict s2, size_t n); 17 extern void *memmove(void *s1, const void *s2, size_t n); 18 extern char *strcpy(char * restrict s1, const char * restrict s2); 19 extern char *strncpy(char * restrict s1, const char * restrict s2, size_t n); 20 extern char *strcat(char * restrict s1, const char * restrict s2); 21 extern char *strncat(char * restrict s1, const char * restrict s2, size_t n); 22 extern int memcmp(const void *s1, const void *s2, size_t n); 23 extern int strcmp(const char *s1, const char *s2); 24 extern int strcoll(const char *s1, const char *s2); 25 extern int strncmp(const char *s1, const char *s2, size_t n); 26 extern size_t strxfrm(char * restrict s1, const char * restrict s2, size_t n); 27 extern void *memchr(const void *s, int c, size_t n); 28 extern char *strchr(const char *s, int c); 29 extern size_t strcspn(const char *s1, const char *s2); 30 extern char *strpbrk(const char *s1, const char *s2); 31 extern char *strrchr(const char *s, int c); 32 extern size_t strspn(const char *s1, const char *s2); 33 extern char *strstr(const char *s1, const char *s2); 34 extern char *strtok(char * restrict s1, const char * restrict s2); 35 extern void *memset(void *s, int c, size_t n); 36 extern char *strerror(int errnum); 37 extern size_t strlen(const char *s); 38 39 #endif 40