1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2012-2017 Roberto E. Vargas Caballero 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park /* 7*54fd6939SJiyong Park * Portions copyright (c) 2018-2020, ARM Limited and Contributors. 8*54fd6939SJiyong Park * All rights reserved. 9*54fd6939SJiyong Park */ 10*54fd6939SJiyong Park 11*54fd6939SJiyong Park #ifndef STRING_H 12*54fd6939SJiyong Park #define STRING_H 13*54fd6939SJiyong Park 14*54fd6939SJiyong Park #include <stddef.h> 15*54fd6939SJiyong Park 16*54fd6939SJiyong Park void *memcpy(void *dst, const void *src, size_t len); 17*54fd6939SJiyong Park void *memmove(void *dst, const void *src, size_t len); 18*54fd6939SJiyong Park int memcmp(const void *s1, const void *s2, size_t len); 19*54fd6939SJiyong Park int strcmp(const char *s1, const char *s2); 20*54fd6939SJiyong Park int strncmp(const char *s1, const char *s2, size_t n); 21*54fd6939SJiyong Park void *memchr(const void *src, int c, size_t len); 22*54fd6939SJiyong Park void *memrchr(const void *src, int c, size_t len); 23*54fd6939SJiyong Park char *strchr(const char *s, int c); 24*54fd6939SJiyong Park void *memset(void *dst, int val, size_t count); 25*54fd6939SJiyong Park size_t strlen(const char *s); 26*54fd6939SJiyong Park size_t strnlen(const char *s, size_t maxlen); 27*54fd6939SJiyong Park char *strrchr(const char *p, int ch); 28*54fd6939SJiyong Park size_t strlcpy(char * dst, const char * src, size_t dsize); 29*54fd6939SJiyong Park size_t strlcat(char * dst, const char * src, size_t dsize); 30*54fd6939SJiyong Park char *strtok_r(char *s, const char *delim, char **last); 31*54fd6939SJiyong Park 32*54fd6939SJiyong Park #endif /* STRING_H */ 33