X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/12293ed1d71cd306ed9a5d021a79ba945fe4e680..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 8271d2b..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 */