From 636858dbbd48ed9f5073793b46740302aa202f43 Mon Sep 17 00:00:00 2001
From: Anton Kling <anton@kling.gg>
Date: Tue, 28 Nov 2023 20:07:50 +0100
Subject: Kernel: Add basic IPC and move to microkernel design.

The IPC design is currently a WIP and is nowhere near complete
---
 kernel/sched/scheduler.h | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'kernel/sched/scheduler.h')

diff --git a/kernel/sched/scheduler.h b/kernel/sched/scheduler.h
index f57a319..17e5d56 100644
--- a/kernel/sched/scheduler.h
+++ b/kernel/sched/scheduler.h
@@ -3,8 +3,10 @@
 #include <fs/ext2.h>
 #include <fs/vfs.h>
 #include <halts.h>
+#include <ipc.h>
 #include <mmu.h>
 #include <signal.h>
+#include <stdbool.h>
 
 #define MAX_PATH 256
 #define KEYBOARD_HALT 0
@@ -41,6 +43,7 @@ struct Process {
   u32 signal_handler_stack;
   void *signal_handlers[20];
   PageDirectory *cr3;
+  struct IpcMailbox ipc_mailbox;
   vfs_fd_t *file_descriptors[100];
   vfs_inode_t *read_halt_inode[100];
   vfs_inode_t *write_halt_inode[100];
@@ -59,6 +62,7 @@ struct Process {
   int dead;
 };
 
+bool get_task_from_pid(u32 pid, process_t **out);
 process_t *get_current_task(void);
 int get_free_fd(process_t *p, int allocate);
 void free_process(void);
-- 
cgit v1.2.3