/* * equeue.h * Event queue structures and prototypes for 2Iota. * $Id: equeue.h 518 2010-04-28 17:48:38Z cpressey $ */ #ifndef __EQUEUE_H #define __EQUEUE_H #include "etime.h" struct equeue { struct equeue_entry *head; }; struct equeue_entry { struct equeue_entry *next; struct equeue_entry *prev; struct symstr *name; /* name of event to trigger */ struct etime delay; }; struct equeue *equeue_new(void); void equeue_free(struct equeue *); struct equeue_entry *equeue_insert(struct equeue *, struct symstr *, struct etime *); struct equeue_entry *equeue_remove(struct equeue *); void equeue_entry_free(struct equeue_entry *); void equeue_transfer(struct equeue *, struct equeue *); void equeue_time_passes(struct equeue *, struct etime *); void equeue_dump(struct equeue *); #endif /* !__EQUEUE_H */