2 pcboot - bootable PC demo/game kernel
3 Copyright (C) 2018 John Tsiombikas <nuclear@member.fsf.org>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY, without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
21 void memset(void *s, int c, size_t n)
30 /* Does the same thing as memset only with 16bit values.
31 * n in this case is the number of values, not the number of bytes.
34 void memset16(void *s, int c, size_t n)
43 void *memcpy(void *dest, const void *src, size_t n)
46 const char *sptr = src;
55 void *memmove(void *dest, const void *src, size_t n)
70 dptr = (char*)dest + n - 1;
71 sptr = (const char*)src + n - 1;
80 size_t strlen(const char *s)
87 char *strchr(const char *s, int c)
98 char *strrchr(const char *s, int c)
105 /* go back checking for c */
114 char *strstr(const char *str, const char *substr)
117 const char *s1 = str;
118 const char *s2 = substr;
120 while(*s1 && *s1 == *s2) {
132 int strcmp(const char *s1, const char *s2)
134 while(*s1 && *s1 == *s2) {