diff options
Diffstat (limited to 'nio.h')
-rw-r--r-- | nio.h | 28 |
1 files changed, 23 insertions, 5 deletions
@@ -5,7 +5,7 @@ enum { - NIO_ERROR_SUCCESS = 0, + NIO_SUCCESS = 0, NIO_ERROR_INTERNAL = 1, NIO_ERROR_SYSTEM = -1 }; @@ -23,9 +23,9 @@ struct nio int nready; nfds_t poll_max_fds; - nfds_t poll_cur_fds; struct pollfd * poll_fds; void ** poll_ptrs; + nfds_t * poll_fds_set; int epoll_fd; int max_events; @@ -46,15 +46,33 @@ int nio_del_fd(struct nio * io, int fd); int nio_run(struct nio * io, int timeout); +static inline int nio_get_nready(struct nio const * const io) +{ + return io->nready; +} + int nio_check(struct nio * io, int index, int events); int nio_is_valid(struct nio * io, int index); -int nio_has_input(struct nio * io, int index); +int nio_get_fd(struct nio * io, int index); -int nio_can_output(struct nio * io, int index); +void * nio_get_ptr(struct nio * io, int index); + +static inline int nio_has_input(struct nio * io, int index) +{ + return nio_check(io, index, NIO_EVENT_INPUT); +} -int nio_has_error(struct nio * io, int index); +static inline int nio_can_output(struct nio * io, int index) +{ + return nio_check(io, index, NIO_EVENT_OUTPUT); +} + +static inline int nio_has_error(struct nio * io, int index) +{ + return nio_check(io, index, NIO_EVENT_ERROR); +} void nio_free(struct nio * io); |