X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/9b8e0c494de6b447b44454112748f702dffec90d..707c6653985f55463e8a59a58b248ba8af3b44b2:/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 fffed07..ff1e443 100644 --- a/lunaix-os/includes/lunaix/mm/mmap.h +++ b/lunaix-os/includes/lunaix/mm/mmap.h @@ -5,20 +5,31 @@ #include #include +struct mmap_param +{ + ptr_t vms_mnt; // vm mount point + 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 +}; + int mem_map(void** addr_out, - ptr_t mnt, - vm_regions_t* regions, + struct mm_region** created, void* addr, struct v_file* file, - off_t offset, - size_t length, - u32_t proct, - u32_t options); + struct mmap_param* param); int mem_unmap(ptr_t mnt, vm_regions_t* regions, void* addr, size_t length); +void +mem_unmap_region(ptr_t mnt, struct mm_region* region); + void mem_sync_pages(ptr_t mnt, struct mm_region* region,