diff options
Diffstat (limited to 'usr/tasking.h')
-rw-r--r-- | usr/tasking.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/usr/tasking.h b/usr/tasking.h new file mode 100644 index 0000000..4b11999 --- /dev/null +++ b/usr/tasking.h @@ -0,0 +1,28 @@ +#ifndef JOVE_TASKING_H +#define JOVE_TASKING_H 1 + +#include <stddef.h> +#include <stdint.h> +#include "sys/types.h" +#include "mem/memory.h" + +struct Task +{ + struct Task *next; + tid_t id; + uintptr_t kbp; + size_t perm; + + page_directory_t *pd; +}; + +extern struct Task *task_current; + +void tasking_setup(void); + +struct Task *task_new(struct Task *parent); +struct Task *task_get(tid_t id); + +void task_perm_release(struct Task *task, size_t mask); + +#endif |