1 /* 2 * Copyright (c) 2008 Travis Geiselbrecht 3 * 4 * Use of this source code is governed by a MIT-style 5 * license that can be found in the LICENSE file or at 6 * https://opensource.org/licenses/MIT 7 */ 8 #pragma once 9 10 #include <stddef.h> 11 #include <lk/compiler.h> 12 13 __BEGIN_CDECLS 14 15 void *memchr (void const *, int, size_t) __PURE; 16 int memcmp (void const *, const void *, size_t) __PURE; 17 void *memcpy (void *, void const *, size_t); 18 void *memmove(void *, void const *, size_t); 19 void *memset (void *, int, size_t); 20 21 char *strcat(char *, char const *); 22 char *strchr(char const *, int) __PURE; 23 int strcmp(char const *, char const *) __PURE; 24 char *strcpy(char *, char const *); 25 char const *strerror(int) __CONST; 26 size_t strlen(char const *) __PURE; 27 char *strncat(char *, char const *, size_t); 28 int strncmp(char const *, char const *, size_t) __PURE; 29 char *strncpy(char *, char const *, size_t); 30 char *strpbrk(char const *, char const *) __PURE; 31 char *strrchr(char const *, int) __PURE; 32 size_t strspn(char const *, char const *) __PURE; 33 size_t strcspn(const char *s, const char *) __PURE; 34 char *strstr(char const *, char const *) __PURE; 35 char *strtok(char *, char const *); 36 int strcoll(const char *s1, const char *s2) __PURE; 37 size_t strxfrm(char *dest, const char *src, size_t n) __PURE; 38 char *strdup(const char *str) __MALLOC; 39 40 /* non standard */ 41 void bcopy(void const *, void *, size_t); 42 void bzero(void *, size_t); 43 size_t strlcat(char *, char const *, size_t); 44 size_t strlcpy(char *, char const *, size_t); 45 int strncasecmp(char const *, char const *, size_t) __PURE; 46 int strnicmp(char const *, char const *, size_t) __PURE; 47 size_t strnlen(char const *s, size_t count) __PURE; 48 49 __END_CDECLS 50 51