iolooper.h revision 5d8f37ad78fc66901af50c762029a501561f3b23
15d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#ifndef IOLOOPER_H
25d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#define IOLOOPER_H
35d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
45d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#include <stdint.h>
55d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
65d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner/* An IOLooper is an abstraction for select() */
75d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
85d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnertypedef struct IoLooper  IoLooper;
95d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
105d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' TurnerIoLooper*  iolooper_new(void);
115d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_free( IoLooper*  iol );
125d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_reset( IoLooper*  iol );
135d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
145d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_add_read( IoLooper*  iol, int  fd );
155d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_add_write( IoLooper*  iol, int  fd );
165d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_del_read( IoLooper*  iol, int  fd );
175d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid       iolooper_del_write( IoLooper*  iol, int  fd );
185d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
195d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerint        iolooper_poll( IoLooper*  iol );
205d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerint        iolooper_wait( IoLooper*  iol, int64_t  duration );
215d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
225d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerint        iolooper_is_read( IoLooper*  iol, int  fd );
235d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerint        iolooper_is_write( IoLooper*  iol, int  fd );
245d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
255d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#endif /* IOLOOPER_H */
26