X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8fdcd1575a97862975fa019f09c00453a2a7d8bb..74926d2db1d9f3228acdfca03013a8ba0ac1d8c0:/lunaix-os/includes/lunaix/mm/region.h diff --git a/lunaix-os/includes/lunaix/mm/region.h b/lunaix-os/includes/lunaix/mm/region.h index 9978d72..3aa522a 100644 --- a/lunaix-os/includes/lunaix/mm/region.h +++ b/lunaix-os/includes/lunaix/mm/region.h @@ -3,19 +3,27 @@ #include +typedef struct llist_header vm_regions_t; + +struct mm_region* +region_create(ptr_t start, ptr_t end, u32_t attr); + +struct mm_region* +region_create_range(ptr_t start, size_t length, u32_t attr); + +void +region_add(vm_regions_t* lead, struct mm_region* vmregion); + void -region_add(struct mm_region* proc, - unsigned long start, - unsigned long end, - unsigned int attr); +region_release(pid_t pid, struct mm_region* region); void -region_release_all(struct mm_region* proc); +region_release_all(pid_t pid, vm_regions_t* lead); struct mm_region* -region_get(struct mm_region* proc, unsigned long vaddr); +region_get(vm_regions_t* lead, unsigned long vaddr); void -region_copy(struct mm_region* src, struct mm_region* dest); +region_copy(vm_regions_t* src, vm_regions_t* dest); #endif /* __LUNAIX_REGION_H */