-#ifndef HEADER_ADDRSPACE_H
-#define HEADER_ADDRSPACE_H 1
+#ifndef USERPROG_ADDRSPACE_H
+#define USERPROG_ADDRSPACE_H
-#include "list.h"
+#include <stdbool.h>
-struct vma
- {
- struct list_elem elem;
- uint32_t start, end;
- void **pages;
- };
+struct thread;
+bool addrspace_load (struct thread *, const char *, void (**start) (void));
+void addrspace_destroy (struct thread *);
+void addrspace_activate (struct thread *);
-struct addrspace
- {
- uint32_t *page_dir;
- struct list vmas;
- };
-
-void addrspace_load (struct addrspace *, const char *);
-
-#endif /* addrspace.h */
+#endif /* userprog/addrspace.h */