summaryrefslogtreecommitdiff
path: root/src/kernel/task.h
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2021-02-16 20:38:53 -0500
committerBenji Dial <benji6283@gmail.com>2021-02-16 20:38:53 -0500
commit47513bd32c256c4f35e3a8ced7d9fd7e15903530 (patch)
treecafdf75d52a954814726e07445063c41bb6599f9 /src/kernel/task.h
parentbd7facc4b5f53481dc85a15ba123361b2758655b (diff)
downloadportland-os-47513bd32c256c4f35e3a8ced7d9fd7e15903530.tar.gz
terminal application with ipc, shift+pause state dumper, hello world for terminal, meminfo popup program
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