diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-05 20:24:13 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-05 20:24:13 -0400 |
| commit | 779b7fc1fe91e5a355b6e15de882d46b26ab2270 (patch) | |
| tree | c62da25a0a0b02488550e856921350fd94668c2b /hal/process.h | |
| parent | 73cbb23130f634bf52ac92da063efd3e6016f8ee (diff) | |
| download | jove-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.h | 29 |
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 |
