refactor: add a async read/write variant to device ops, with allow async io to be...
[lunaix-os.git] / lunaix-os / libs / klibc / string / mem.c
index 3183f0288caa68b7d2f8e3946ead80aa62845905..08563581f19119172b960067de30094d0ff69a1a 100755 (executable)
@@ -2,7 +2,7 @@
 #include <lunaix/types.h>
 
 void*
-memcpy(void* dest, const void* src, size_t num)
+memcpy(void* dest, const void* src, unsigned long num)
 {
     if (!num)
         return dest;
@@ -15,16 +15,16 @@ memcpy(void* dest, const void* src, size_t num)
 }
 
 void*
-memmove(void* dest, const void* src, size_t num)
+memmove(void* dest, const void* src, unsigned long num)
 {
     u8_t* dest_ptr = (u8_t*)dest;
     const u8_t* src_ptr = (const u8_t*)src;
     if (dest_ptr < src_ptr) {
-        for (size_t i = 0; i < num; i++) {
+        for (unsigned long i = 0; i < num; i++) {
             *(dest_ptr + i) = *(src_ptr + i);
         }
     } else {
-        for (size_t i = num; i != 0; i--) {
+        for (unsigned long i = num; i != 0; i--) {
             *(dest_ptr + i - 1) = *(src_ptr + i - 1);
         }
     }
@@ -32,7 +32,7 @@ memmove(void* dest, const void* src, size_t num)
 }
 
 void*
-memset(void* ptr, int value, size_t num)
+memset(void* ptr, int value, unsigned long num)
 {
     asm volatile("movl %1, %%edi\n"
                  "rep stosb\n" ::"c"(num),
@@ -43,11 +43,11 @@ memset(void* ptr, int value, size_t num)
 }
 
 int
-memcmp(const void* ptr1, const void* ptr2, size_t num)
+memcmp(const void* ptr1, const void* ptr2, unsigned long num)
 {
     u8_t* p1 = (u8_t*)ptr1;
     u8_t* p2 = (u8_t*)ptr2;
-    for (size_t i = 0; i < num; i++) {
+    for (unsigned long i = 0; i < num; i++) {
         int diff = *(p1 + i) - *(p2 + i);
         if (diff != 0) {
             return diff;