telnetproxy/event.h

42 lines
946 B
C

#ifndef _EVENT_H_
#define _EVENT_H_
#include <sys/time.h>
#define EVENT_FD_CB 0x10000000
#define EVENT_TIMEOUT 0x20000000
#define EVENT_NEW 0x01000000
#define EVENT_DELETE 0x02000000
#define FD_READ 0x01
#define FD_WRITE 0x02
#define FD_TYPES (FD_READ | FD_WRITE)
#define event_add_readfd(entry, fd, callback, privdata) \
event_add_fd(entry, fd, FD_READ, callback, privdata)
#define event_add_writefd(entry, fd, callback, privdata) \
event_add_fd(entry, fd, FD_WRITE, callback, privdata)
struct event_entry * event_add_fd(
struct event_entry *entry,
int fd,
int type,
int (*callback)(int fd, void *privdata),
void *privdata);
struct event_entry * event_add_timeout(
struct timeval *timeout,
int (*callback)(void *privdata),
void *privdata);
int event_get_fd(struct event_entry *entry);
void event_remove_fd(int fd);
void event_remove(struct event_entry *entry);
int event_loop(void);
#endif /* _EVENT_H_ */