#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