12 #include <sys/epoll.h>
16 typedef int (handle_event_fn_t)(struct event_handler *);
17 typedef int (work_fn_t)(void *);
19 struct event_handler {
22 handle_event_fn_t *handle_event;
26 int register_event_handler(struct event_handler *handler, int op);
28 int init_jobcontrol(int max_jobs_requested);
29 int poll_job_requests(int timeout);
30 int notify_job_request(void);
32 int run(const char *p, char *const argv[]);
33 int clear_zombie(int pid);
34 int run_piped(const char *cmd, char *const argv[],
35 int *stdinfd, int *stdoutfd, int *stderrfd);
36 int run_piped_stream(const char *cmd, char *const argv[],
37 FILE **stdinf, FILE **stdoutf, FILE **stderrf);
45 int queue_work(unsigned int priority, char *name,
46 int (work_fn)(void *arg), void *arg);