1 #ifndef IOLOOPER_H 2 #define IOLOOPER_H 3 4 #include <stdint.h> 5 6 /* An IOLooper is an abstraction for select() */ 7 8 typedef struct IoLooper IoLooper; 9 10 IoLooper* iolooper_new(void); 11 void iolooper_free( IoLooper* iol ); 12 void iolooper_reset( IoLooper* iol ); 13 14 void iolooper_add_read( IoLooper* iol, int fd ); 15 void iolooper_add_write( IoLooper* iol, int fd ); 16 void iolooper_del_read( IoLooper* iol, int fd ); 17 void iolooper_del_write( IoLooper* iol, int fd ); 18 19 int iolooper_poll( IoLooper* iol ); 20 int iolooper_wait( IoLooper* iol, int64_t duration ); 21 22 int iolooper_is_read( IoLooper* iol, int fd ); 23 int iolooper_is_write( IoLooper* iol, int fd ); 24 25 #endif /* IOLOOPER_H */ 26