diff options
Diffstat (limited to 'src/kernel/task.h')
-rw-r--r-- | src/kernel/task.h | 12 |
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 |