00001 #ifndef USERPROG_PAGEDIR_H
00002
00003 #define USERPROG_PAGEDIR_H
00004
00005 #include <stdbool.h>
00006 #include <stdint.h>
00007
00008 uint32_t *pagedir_create (void);
00009 void pagedir_destroy (uint32_t *pd);
00010 bool pagedir_set_page (uint32_t *pd, void *upage, void *kpage, bool rw);
00011 void *pagedir_get_page (uint32_t *pd, const void *upage);
00012 void pagedir_clear_page (uint32_t *pd, void *upage);
00013 bool pagedir_is_dirty (uint32_t *pd, const void *upage);
00014 void pagedir_set_dirty (uint32_t *pd, const void *upage, bool dirty);
00015 bool pagedir_is_accessed (uint32_t *pd, const void *upage);
00016 void pagedir_set_accessed (uint32_t *pd, const void *upage, bool accessed);
00017 void pagedir_activate (uint32_t *pd);
00018
00019 #endif