#ifndef _EVENTS_H_INCLUDED_
#define _EVENTS_H_INCLUDED_
#include <time.h>
typedef void (*EVENT_NOTIFY_RDWR) (int, char *);
typedef void (*EVENT_NOTIFY_TIME) (int, char *);
extern time_t event_time(void);
extern void event_enable_read(int, EVENT_NOTIFY_RDWR, char *);
extern void event_enable_write(int, EVENT_NOTIFY_RDWR, char *);
extern void event_disable_readwrite(int);
extern time_t event_request_timer(EVENT_NOTIFY_TIME, char *, int);
extern int event_cancel_timer(EVENT_NOTIFY_TIME, char *);
extern void event_loop(int);
extern void event_drain(void);
#define EVENT_READ (1<<0)
#define EVENT_WRITE (1<<1)
#define EVENT_XCPT (1<<2)
#define EVENT_TIME (1<<3)
#define EVENT_ERROR EVENT_XCPT
#define EVENT_NULL_TYPE 0
#define EVENT_NULL_CONTEXT ((char *) 0)
#endif