#ifndef _EVENTS_H_
#define _EVENTS_H_
-#ifndef INLINE_EVENTS
-#define INLINE_EVENTS
-#endif
+/* typedef struct _event_queue event_queue; */
+/* typedef struct _event_entry_tag *event_entry_tag; */
+typedef void event_handler(void *data);
-typedef struct _event_queue event_queue;
-typedef void *event_entry_tag;
-
-typedef void event_handler
-(event_queue *queue,
- void *data);
-
-INLINE_EVENTS event_queue *event_queue_create
+INLINE_EVENTS\
+(event_queue *) event_queue_create
(void);
+INLINE_EVENTS\
+(void) event_queue_init
+(event_queue *queue);
+
/* (de)Schedule things to happen in the future. */
-INLINE_EVENTS event_entry_tag event_queue_schedule
+INLINE_EVENTS\
+(event_entry_tag) event_queue_schedule
(event_queue *queue,
signed64 delta_time,
event_handler *handler,
void *data);
-INLINE_EVENTS event_entry_tag event_queue_schedule_after_signal
+INLINE_EVENTS\
+(event_entry_tag) event_queue_schedule_after_signal
(event_queue *queue,
signed64 delta_time,
event_handler *handler,
void *data);
-INLINE_EVENTS void event_queue_deschedule
+INLINE_EVENTS\
+(void) event_queue_deschedule
(event_queue *queue,
event_entry_tag event_to_remove);
/* progress time. In to parts so that if something is pending, the
caller has a chance to save any cached state */
-INLINE_EVENTS int event_queue_tick
+INLINE_EVENTS\
+(int) event_queue_tick
(event_queue *queue);
-INLINE_EVENTS void event_queue_process
+INLINE_EVENTS\
+(void) event_queue_process
(event_queue *events);
/* local concept of time */
-INLINE_EVENTS signed64 event_queue_time
+INLINE_EVENTS\
+(signed64) event_queue_time
(event_queue *queue);
#endif /* _EVENTS_H_ */