X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/0cf90cca0c924622f3fee8d2a3fafa8238363dc6..b60166b327a9108b07e3069fa6568a451529ffd9:/lunaix-os/includes/lunaix/mm/mmap.h diff --git a/lunaix-os/includes/lunaix/mm/mmap.h b/lunaix-os/includes/lunaix/mm/mmap.h index ff1e443..36f8904 100644 --- a/lunaix-os/includes/lunaix/mm/mmap.h +++ b/lunaix-os/includes/lunaix/mm/mmap.h @@ -11,21 +11,34 @@ 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 +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);