feat: msync(2)
[lunaix-os.git] / lunaix-os / includes / lunaix / mm / mmap.h
1 #ifndef __LUNAIX_MMAP_H
2 #define __LUNAIX_MMAP_H
3
4 #include <lunaix/fs.h>
5 #include <lunaix/mm/region.h>
6 #include <lunaix/types.h>
7
8 int
9 mem_map(void** addr_out,
10         ptr_t mnt,
11         vm_regions_t* regions,
12         void* addr,
13         struct v_file* file,
14         off_t offset,
15         size_t length,
16         u32_t proct,
17         u32_t options);
18
19 int
20 mem_unmap(ptr_t mnt, vm_regions_t* regions, void* addr, size_t length);
21
22 void
23 mem_sync_pages(ptr_t mnt,
24                struct mm_region* region,
25                ptr_t start,
26                ptr_t length,
27                int options);
28
29 int
30 mem_msync(ptr_t mnt,
31           vm_regions_t* regions,
32           ptr_t addr,
33           size_t length,
34           int options);
35
36 #endif /* __LUNAIX_MMAP_H */