summaryrefslogtreecommitdiff
path: root/src/kernel/task.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/task.h')
-rw-r--r--src/kernel/task.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/kernel/task.h b/src/kernel/task.h
index 574dfa7..643c88e 100644
--- a/src/kernel/task.h
+++ b/src/kernel/task.h
@@ -4,17 +4,18 @@
#include <stdbool.h>
#include <stdint.h>
-#define TASK_NAME_LEN 15
+#define TASK_NAME_LEN 86
#define MAX_WAITS 16
+#define MAX_TASKS 64
struct wait {
enum {
NONE,
PROCESS_END,
WINDOW_ACTION,
- IPC_RECEIVE,
- IPC_RECEIVE_ANY,
- IPC_SEND
+ IPC_SENT,
+ IPC_SENT_ANY,
+ IPC_READ
} mode;
union {
struct task_state *task;
@@ -50,6 +51,7 @@ extern struct task_state *active_task;
void init_tasks();
+//puts the handle into ecx
uint32_t new_task(struct task_state state);
void advance_active_task();
@@ -58,6 +60,6 @@ void delete_task(struct task_state *state);
uint32_t ipc_send(uint32_t reader_handle, uint32_t count, const void *buffer);
uint32_t ipc_read(uint32_t sender_handle, uint32_t count, void *buffer);
-uint32_t find_unread_ipc();
+uint32_t find_unread_ipc() __attribute__ ((pure));
#endif \ No newline at end of file