aacdec: detect buffer overrun and return an errror.
[paraslash.git] / sched.h
1 struct sched {
2 struct timeval now, timeout;
3 int max_fileno;
4 fd_set rfds, wfds;
5 int select_ret;
6 struct timeval default_timeout;
7 };
8
9 struct task {
10 void *private_data;
11 unsigned flags;
12 int ret;
13 void (*pre_select)(struct sched *s, struct task *t);
14 void (*post_select)(struct sched *s, struct task *t);
15 void (*event_handler)(struct task *t);
16 struct list_head pre_select_node;
17 struct list_head post_select_node;
18 char status[MAXLINE];
19 };
20
21 enum task_flags {
22 PRE_ADD_TAIL = 1,
23 POST_ADD_TAIL = 2,
24 };
25
26 void *register_task(struct task *t);
27 void unregister_task(struct task *t);
28 int sched(struct sched *s);
29 void init_sched(void);