Unifying the Lunaix's Physical Memory Model (#28)
[lunaix-os.git] / lunaix-os / includes / lunaix / mm / mmap.h
index f85302e339b8d14056b9a1b3661608c6ff933ace..36f8904be92aa7e84aeb6f1dda7d962e5daf58a7 100644 (file)
@@ -11,10 +11,11 @@ struct mmap_param
     struct proc_mm* pvms; // process vm
     off_t offset;         // mapped file offset
     size_t mlen;          // mapped memory length
-    size_t flen;          // mapped file length
     u32_t proct;          // protections
     u32_t flags;          // other options
     u32_t type;           // region type
+    ptr_t range_start;
+    ptr_t range_end;
 };
 
 int
@@ -22,15 +23,22 @@ mem_adjust_inplace(vm_regions_t* regions,
                    struct mm_region* region,
                    ptr_t newend);
 
+int 
+mmap_user(void** addr_out,
+        struct mm_region** created,
+        ptr_t addr,
+        struct v_file* file,
+        struct mmap_param* param);
+
 int
 mem_map(void** addr_out,
         struct mm_region** created,
-        void* addr,
+        ptr_t addr,
         struct v_file* file,
         struct mmap_param* param);
 
 int
-mem_unmap(ptr_t mnt, vm_regions_t* regions, void* addr, size_t length);
+mem_unmap(ptr_t mnt, vm_regions_t* regions, ptr_t addr, size_t length);
 
 void
 mem_unmap_region(ptr_t mnt, struct mm_region* region);