1433d6423SLionel Sambuc /* Function prototypes. */ 2433d6423SLionel Sambuc 3433d6423SLionel Sambuc struct mproc; 4433d6423SLionel Sambuc 5433d6423SLionel Sambuc #include <minix/timers.h> 6433d6423SLionel Sambuc 7433d6423SLionel Sambuc /* alarm.c */ 8433d6423SLionel Sambuc int do_itimer(void); 9433d6423SLionel Sambuc void set_alarm(struct mproc *rmp, clock_t ticks); 10433d6423SLionel Sambuc void check_vtimer(int proc_nr, int sig); 11433d6423SLionel Sambuc 12*910831cbSDavid van Moolenbroek /* event.c */ 13*910831cbSDavid van Moolenbroek int do_proceventmask(void); 14*910831cbSDavid van Moolenbroek int do_proc_event_reply(void); 15*910831cbSDavid van Moolenbroek void publish_event(struct mproc *rmp); 16*910831cbSDavid van Moolenbroek 17433d6423SLionel Sambuc /* exec.c */ 18433d6423SLionel Sambuc int do_exec(void); 19433d6423SLionel Sambuc int do_newexec(void); 20433d6423SLionel Sambuc int do_execrestart(void); 21433d6423SLionel Sambuc void exec_restart(struct mproc *rmp, int result, vir_bytes pc, vir_bytes sp, 22433d6423SLionel Sambuc vir_bytes ps_str); 23433d6423SLionel Sambuc 24433d6423SLionel Sambuc /* forkexit.c */ 25433d6423SLionel Sambuc int do_fork(void); 26433d6423SLionel Sambuc int do_srv_fork(void); 27433d6423SLionel Sambuc int do_exit(void); 28433d6423SLionel Sambuc void exit_proc(struct mproc *rmp, int exit_status, int dump_core); 29*910831cbSDavid van Moolenbroek void exit_restart(struct mproc *rmp); 3029346ab0SDavid van Moolenbroek int do_wait4(void); 31433d6423SLionel Sambuc int wait_test(struct mproc *rmp, struct mproc *child); 32433d6423SLionel Sambuc 33433d6423SLionel Sambuc /* getset.c */ 34433d6423SLionel Sambuc int do_get(void); 35433d6423SLionel Sambuc int do_set(void); 36433d6423SLionel Sambuc 37433d6423SLionel Sambuc /* main.c */ 38433d6423SLionel Sambuc int main(void); 39433d6423SLionel Sambuc void reply(int proc_nr, int result); 40433d6423SLionel Sambuc 41433d6423SLionel Sambuc /* mcontext.c */ 42433d6423SLionel Sambuc int do_getmcontext(void); 43433d6423SLionel Sambuc int do_setmcontext(void); 44433d6423SLionel Sambuc 45433d6423SLionel Sambuc /* misc.c */ 46433d6423SLionel Sambuc int do_reboot(void); 47433d6423SLionel Sambuc int do_sysuname(void); 48433d6423SLionel Sambuc int do_getsysinfo(void); 49433d6423SLionel Sambuc int do_getprocnr(void); 50433d6423SLionel Sambuc int do_getepinfo(void); 51433d6423SLionel Sambuc int do_svrctl(void); 52433d6423SLionel Sambuc int do_getsetpriority(void); 53433d6423SLionel Sambuc int do_getrusage(void); 54433d6423SLionel Sambuc 55433d6423SLionel Sambuc /* schedule.c */ 56433d6423SLionel Sambuc void sched_init(void); 57433d6423SLionel Sambuc int sched_start_user(endpoint_t ep, struct mproc *rmp); 58433d6423SLionel Sambuc int sched_nice(struct mproc *rmp, int nice); 59433d6423SLionel Sambuc 60433d6423SLionel Sambuc /* profile.c */ 61433d6423SLionel Sambuc int do_sprofile(void); 62433d6423SLionel Sambuc 63433d6423SLionel Sambuc /* signal.c */ 64433d6423SLionel Sambuc int do_kill(void); 65433d6423SLionel Sambuc int do_srv_kill(void); 66433d6423SLionel Sambuc int process_ksig(endpoint_t proc_nr_e, int signo); 67433d6423SLionel Sambuc int check_sig(pid_t proc_id, int signo, int ksig); 68433d6423SLionel Sambuc void sig_proc(struct mproc *rmp, int signo, int trace, int ksig); 69433d6423SLionel Sambuc int do_sigaction(void); 70433d6423SLionel Sambuc int do_sigpending(void); 71433d6423SLionel Sambuc int do_sigprocmask(void); 72433d6423SLionel Sambuc int do_sigreturn(void); 73433d6423SLionel Sambuc int do_sigsuspend(void); 74433d6423SLionel Sambuc void check_pending(struct mproc *rmp); 75433d6423SLionel Sambuc void restart_sigs(struct mproc *rmp); 76433d6423SLionel Sambuc 77433d6423SLionel Sambuc /* time.c */ 78433d6423SLionel Sambuc int do_stime(void); 79433d6423SLionel Sambuc int do_time(void); 80433d6423SLionel Sambuc int do_getres(void); 81433d6423SLionel Sambuc int do_gettime(void); 82433d6423SLionel Sambuc int do_settime(void); 83433d6423SLionel Sambuc 84433d6423SLionel Sambuc /* trace.c */ 85433d6423SLionel Sambuc int do_trace(void); 86433d6423SLionel Sambuc void trace_stop(struct mproc *rmp, int signo); 87433d6423SLionel Sambuc 88433d6423SLionel Sambuc /* utility.c */ 89433d6423SLionel Sambuc pid_t get_free_pid(void); 90433d6423SLionel Sambuc char *find_param(const char *key); 91433d6423SLionel Sambuc struct mproc *find_proc(pid_t lpid); 92433d6423SLionel Sambuc int nice_to_priority(int nice, unsigned *new_q); 93433d6423SLionel Sambuc int pm_isokendpt(int ep, int *proc); 94433d6423SLionel Sambuc void tell_vfs(struct mproc *rmp, message *m_ptr); 9529346ab0SDavid van Moolenbroek void set_rusage_times(struct rusage *r_usage, clock_t user_time, 9629346ab0SDavid van Moolenbroek clock_t sys_time); 97