X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/642855f81fd03b9fd6540ac99c665b57b4b38cc8..74926d2db1d9f3228acdfca03013a8ba0ac1d8c0:/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 333504a..6429225 100644 --- a/lunaix-os/includes/lunaix/mm/mmap.h +++ b/lunaix-os/includes/lunaix/mm/mmap.h @@ -5,17 +5,39 @@ #include #include -void* -mem_map(ptr_t pd_ref, - vm_regions_t* regions, +struct mmap_param +{ + ptr_t vms_mnt; + vm_regions_t* regions; + off_t offset; + size_t length; + u32_t proct; + u32_t flags; + u32_t type; +}; + +int +mem_map(void** addr_out, + struct mm_region** created, void* addr, struct v_file* file, - off_t offset, - size_t length, - u32_t attrs, - u32_t options); + struct mmap_param* param); -void* +int mem_unmap(ptr_t mnt, vm_regions_t* regions, void* addr, size_t length); +void +mem_sync_pages(ptr_t mnt, + struct mm_region* region, + ptr_t start, + ptr_t length, + int options); + +int +mem_msync(ptr_t mnt, + vm_regions_t* regions, + ptr_t addr, + size_t length, + int options); + #endif /* __LUNAIX_MMAP_H */