2 * BIRD Library -- Event Processing
4 * (c) 1999 Martin Mares <mj@ucw.cz>
6 * Can be freely distributed and used under the terms of the GNU GPL.
10 #define _BIRD_EVENT_H_
12 #include "lib/resource.h"
14 typedef struct event
{
18 node n
; /* Internal link */
21 typedef list event_list
;
23 extern event_list global_event_list
;
24 extern event_list global_work_list
;
26 event
*ev_new(pool
*);
28 #define ev_init_list(el) init_list(el)
29 void ev_enqueue(event_list
*, event
*);
30 void ev_schedule(event
*);
31 void ev_schedule_work(event
*);
32 void ev_postpone(event
*);
33 int ev_run_list(event_list
*);
34 int ev_run_list_limited(event_list
*, uint
);
39 return e
->n
.next
!= NULL
;
43 ev_new_init(pool
*p
, void (*hook
)(void *), void *data
)