| #ifndef IOLOOPER_H |
| #define IOLOOPER_H |
| |
| #include <stdint.h> |
| |
| /* An IOLooper is an abstraction for select() */ |
| |
| typedef struct IoLooper IoLooper; |
| |
| IoLooper* iolooper_new(void); |
| void iolooper_free( IoLooper* iol ); |
| void iolooper_reset( IoLooper* iol ); |
| |
| void iolooper_add_read( IoLooper* iol, int fd ); |
| void iolooper_add_write( IoLooper* iol, int fd ); |
| void iolooper_del_read( IoLooper* iol, int fd ); |
| void iolooper_del_write( IoLooper* iol, int fd ); |
| |
| int iolooper_poll( IoLooper* iol ); |
| int iolooper_wait( IoLooper* iol, int64_t duration ); |
| |
| int iolooper_is_read( IoLooper* iol, int fd ); |
| int iolooper_is_write( IoLooper* iol, int fd ); |
| |
| #endif /* IOLOOPER_H */ |