summaryrefslogtreecommitdiffstats
path: root/usr/tasking.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/tasking.h')
-rw-r--r--usr/tasking.h28
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