summaryrefslogtreecommitdiffstats
path: root/hal/process.h
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-09-05 20:24:13 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-09-05 20:24:13 -0400
commit779b7fc1fe91e5a355b6e15de882d46b26ab2270 (patch)
treec62da25a0a0b02488550e856921350fd94668c2b /hal/process.h
parent73cbb23130f634bf52ac92da063efd3e6016f8ee (diff)
downloadjove-kernel-779b7fc1fe91e5a355b6e15de882d46b26ab2270.tar.gz
jove-kernel-779b7fc1fe91e5a355b6e15de882d46b26ab2270.tar.bz2
jove-kernel-779b7fc1fe91e5a355b6e15de882d46b26ab2270.zip
working syscalls.
Diffstat (limited to 'hal/process.h')
-rw-r--r--hal/process.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/hal/process.h b/hal/process.h
new file mode 100644
index 0000000..63c800f
--- /dev/null
+++ b/hal/process.h
@@ -0,0 +1,29 @@
+#ifndef _JOVE_HAL_PROCESS_H
+#define _JOVE_HAL_PROCESS_H 1
+
+#include "hal/obj.h"
+
+typedef uintmax_t pid_t;
+
+enum pcb_state
+{
+ PCB_DEAD, PCB_READY, PCB_RUNNING, PCB_BLOCKED
+};
+
+struct pcb_mailbox
+{
+ jove_obj_t *obj;
+ pid_t pid;
+};
+
+typedef struct process_control_block pcb_t;
+
+jove_owned_obj_t *process_current(void);
+
+/*Returns the process ID of the passed PCB. */
+pid_t pcb_pid(pcb_t *pcb);
+
+/*Returns the root kernel object directory of this PCB. */
+jove_owned_obj_t *pcb_rootdir(pcb_t *pcb);
+
+#endif