summaryrefslogtreecommitdiff
path: root/src/kernel/libc.c
diff options
context:
space:
mode:
authorBrett Weiland <brett_weiland@bpcspace.com>2021-04-18 16:00:17 -0500
committerBrett Weiland <brett_weiland@bpcspace.com>2021-04-18 16:00:17 -0500
commit774e3796b252383aafb8b3f30d51a19400c74516 (patch)
tree20ad93c125d4f6bad755e6a898ddb4259818b4fa /src/kernel/libc.c
parentf0602964daa20ad9cd05f097b943c8edbf2df2e2 (diff)
modified: src/bootloader/bios_functions/bios_disk.asm
modified: src/bootloader/bootloader.asm new file: src/include/kernel.h modified: src/include/libc.h modified: src/include/paging.h new file: src/include/panic.h modified: src/kernel/kernel.c modified: src/kernel/libc.c modified: src/kernel/page.c new file: src/kernel/panic.c modified: src/link.ld modified: src/makefile modified: tools/page/page.py
Diffstat (limited to 'src/kernel/libc.c')
-rw-r--r--src/kernel/libc.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/kernel/libc.c b/src/kernel/libc.c
index dc5c0ac..c786cd0 100644
--- a/src/kernel/libc.c
+++ b/src/kernel/libc.c
@@ -39,22 +39,33 @@ void strcpy(char *dest, char *src) {
}
}
-void memcpy(char *dest, char *src, size_t n) {
+void *memcpy(void *dest, char *src, size_t n) {
+ char *p = dest;
for(unsigned int i = 0; i <= n; i++) {
- dest[i] = src[i];
+ p[i] = src[i];
}
+ return(dest);
}
-void bzero(void *dest, size_t size) {
- unsigned char *p1 = dest;
+void *bzero(void *dest, size_t size) {
+ char *p = dest;
for(uint64_t i = 0; i < size; i++) {
- p1[i] = 0;
+ p[i] = 0;
}
+ return(dest);
}
//TODO move this function to a seperate math library
-int ceil(float n) {
+unsigned int ceil(double n) {
int low_n = (int)n;
- if(n == (float)low_n) return(low_n);
+ if(n == (double)low_n) return(low_n);
return(low_n + 1);
}
+
+void *memset(void *s, char c, size_t n) {
+ char *p = s;
+ for(size_t i = 0; i < n; i++) {
+ p[i] = c;
+ }
+ return(s);
+}