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