diff options
Diffstat (limited to 'src/kernel/mem.h')
-rw-r--r-- | src/kernel/mem.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/kernel/mem.h b/src/kernel/mem.h index b17ba30..78de8db 100644 --- a/src/kernel/mem.h +++ b/src/kernel/mem.h @@ -1,4 +1,5 @@ #pragma once +#include <kernel/arch/generic.h> #include <kernel/main.h> #include <stddef.h> @@ -12,3 +13,23 @@ void page_free(void *first, size_t pages); void *kmalloc(size_t len); void kfree(void *ptr); + + +// used for iterating through some part of a process' memory +struct virt_iter { + void *frag; + size_t frag_len; + bool error; + + void *_virt; + size_t _remaining; + struct pagedir *_pages; + bool _user; + bool _writeable; +}; + +void virt_iter_new( + struct virt_iter *iter, void *virt, size_t length, + struct pagedir *pages, bool user, bool writeable); + +bool virt_iter_next(struct virt_iter *); |