xref: /minix3/minix/servers/pm/proto.h (revision 910831cb5ca62d66feb4e9664745910bbf5c03e1)
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