diff options
Diffstat (limited to 'lib/event.h')
-rw-r--r-- | lib/event.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/event.h b/lib/event.h new file mode 100644 index 0000000..0b1ea84 --- /dev/null +++ b/lib/event.h @@ -0,0 +1,33 @@ +/* + * BIRD Library -- Event Processing + * + * (c) 1999 Martin Mares <mj@ucw.cz> + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#ifndef _BIRD_EVENT_H_ +#define _BIRD_EVENT_H_ + +#include "lib/resource.h" + +typedef struct event { + resource r; + void (*hook)(void *); + void *data; + node n; /* Internal link */ +} event; + +typedef list event_list; + +extern event_list global_event_list; + +event *ev_new(pool *); +void ev_run(event *); +#define ev_init_list(el) init_list(el) +void ev_enqueue(event_list *, event *); +void ev_schedule(event *); +void ev_postpone(event *); +void ev_run_list(event_list *); + +#endif |