1 #include <klibc/string.h>
2 #include <lunaix/types.h>
5 memcpy(void* dest, const void* src, unsigned long num)
7 for (size_t i = 0; i < num; i++) {
8 ((u8_t*)dest)[i] = ((u8_t*)src)[i];
15 memmove(void* dest, const void* src, unsigned long num)
17 u8_t* dest_ptr = (u8_t*)dest;
18 const u8_t* src_ptr = (const u8_t*)src;
19 if (dest_ptr < src_ptr) {
20 for (unsigned long i = 0; i < num; i++) {
21 *(dest_ptr + i) = *(src_ptr + i);
24 for (unsigned long i = num; i != 0; i--) {
25 *(dest_ptr + i - 1) = *(src_ptr + i - 1);
32 memset(void* ptr, int value, unsigned long num)
34 for (size_t i = 0; i < num; i++) {
42 memcmp(const void* ptr1, const void* ptr2, unsigned long num)
44 u8_t* p1 = (u8_t*)ptr1;
45 u8_t* p2 = (u8_t*)ptr2;
46 for (unsigned long i = 0; i < num; i++) {
47 int diff = *(p1 + i) - *(p2 + i);