telnetproxy/event.h

43 lines
1011 B
C
Raw Normal View History

2006-11-25 14:31:52 +01:00
#ifndef _EVENT_H_
#define _EVENT_H_
#include <sys/time.h>
2007-03-11 17:52:51 +01:00
#define EVENT_NEW 0x1000
#define EVENT_DELETE 0x2000
2007-03-11 17:23:34 +01:00
2007-03-11 17:52:51 +01:00
#define FD_READ 0x0001
#define FD_WRITE 0x0002
2007-03-11 17:23:34 +01:00
#define FD_TYPES (FD_READ | FD_WRITE)
#define event_add_readfd(entry, fd, callback, privdata) \
event_add_fd(entry, fd, FD_READ, callback, privdata)
2006-11-25 14:31:52 +01:00
2007-03-11 17:23:34 +01:00
#define event_add_writefd(entry, fd, callback, privdata) \
event_add_fd(entry, fd, FD_WRITE, callback, privdata)
2006-11-25 14:31:52 +01:00
2007-03-11 17:52:51 +01:00
/* inner details are not visible to external users (TODO: size unknown) */
struct event_fd;
struct event_timeout;
struct event_fd * event_add_fd(
struct event_fd *entry,
2007-03-11 17:23:34 +01:00
int fd,
int type,
int (*callback)(int fd, void *privdata),
void *privdata);
2006-11-25 14:31:52 +01:00
2007-03-11 17:52:51 +01:00
int event_get_fd(struct event_fd *entry);
void event_remove_fd(struct event_fd *entry);
struct event_timeout * event_add_timeout(
2007-03-11 17:23:34 +01:00
struct timeval *timeout,
int (*callback)(void *privdata),
void *privdata);
2006-11-25 14:31:52 +01:00
2007-03-11 17:52:51 +01:00
void event_remove_timeout(struct event_timeout *entry);
2006-11-25 14:31:52 +01:00
2006-12-03 20:03:16 +01:00
int event_loop(void);
2006-11-25 14:31:52 +01:00
#endif /* _EVENT_H_ */