27 if (
const auto ptr = process)
#define PROCESS_MAGIC_PROC
basic_string_view< char > string_view
void process_exit(Process *&&proc, u8 exit_code, signal_t signal)
pid_t process_wait_for_pid(pid_t pid, u32 *exit_code, u32 flags)
fd_t process_attach_ref_fd(Process *process, io_t *file, fd_flags_t flags)
long process_do_execveat(fd_t dirfd, const char *path, const char *const argv[], const char *const envp[], int flags)
Process * process_do_fork(Process *process)
should_inline stdio_t current_stdio(void)
Process * process_new(Process *parent, mos::string_view name, const stdio_t *ios)
should_inline bool process_is_valid(const Process *process)
const char * get_vmap_type_str(vmap_type_t type)
void process_dump_mmaps(const Process *process)
void process_destroy(Process *process)
mos::HashMap< pid_t, Process * > ProcessTable
bool process_register_signal_handler(Process *process, signal_t sig, const sigaction_t *sigaction)
std::optional< Process * > process_get(pid_t pid)
bool process_detach_fd(Process *process, fd_t fd)
io_t * process_get_fd(Process *process, fd_t fd)
A wrapper type for the standard I/O streams.