summaryrefslogtreecommitdiff
path: root/src/kernel/task/task.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/task/task.h')
-rw-r--r--src/kernel/task/task.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kernel/task/task.h b/src/kernel/task/task.h
index dd5461e..b2a5434 100644
--- a/src/kernel/task/task.h
+++ b/src/kernel/task/task.h
@@ -3,6 +3,7 @@
#include <types.h>
#include <mem/paging.h>
+#include <ipc/object.h>
#include "idt.h"
#define TS_RUNNING 0
@@ -29,6 +30,9 @@ struct process {
struct page_directory *pagedir;
size_t stacksBottom;
+ struct obj_descriptor *objects;
+ uint32_t next_objdesc;
+
struct process *next; //Forms a linked list
};
@@ -48,11 +52,11 @@ extern struct thread *current_thread;
void tasking_init();
void tasking_switch();
-void tasking_schedule();
void tasking_updateKernelPagetable(uint32_t idx, struct page_table *table, uint32_t tablePhysical);
uint32_t tasking_handleException(struct registers *regs);
void thread_sleep(uint32_t msecs);
+void thread_goInactive(); //Blocks the current thread. another one must be there to wake it up at some point.
int proc_priv(); //Returns current privilege level
void thread_exit();
void process_exit(uint32_t retval);