diff options
author | Martin Mares <mj@ucw.cz> | 1999-02-11 22:18:36 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-02-11 22:18:36 +0000 |
commit | 3b15402fd4055cb5bd66cd9ac1106ceecff9f760 (patch) | |
tree | e5b1d33f760cdf3f3a90452051abae34ac6c6701 /lib/event.h | |
parent | e8f73195fa68b027fdcb89f239107c2d4902bd9a (diff) |
Grrr, forgot to commit the event routines themselves :|
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 00000000..0b1ea842 --- /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 |