• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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