Implements IOPoll.
IOPoll Linuximpl | Implements IOPoll. |
Copyright | This program is free software. |
Files | |
C-kern/ | Header file IOPoll. |
C-kern/ | Implementation file IOPoll Linuximpl. |
iopoll_t | |
helper | |
convert2ioeventbits_iopoll | Converts Linux specific epoll_event->events into ioevent_e. |
convert2epolleventbits | Converts ioevent_e into Linux epoll event bits. |
convert2epollevent_iopoll | Converts ioevent_t into Linux struct epoll_event. |
lifetime | |
init_iopoll | Creates epoll event notification facility. |
free_iopoll | Frees Linux epoll object. |
query | |
change | |
registerfd_iopoll | Adds file descriptor to Linux epoll object. |
updatefd_iopoll | Updates event mask/value of sys_iochannel_t registered at Linux epoll object. |
updatefd_iopoll | Unregisteres sys_iochannel_t at Linux epoll object. |
test |
This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
© 2012 Jörg Seebohn
Header file IOPoll.
Implementation file IOPoll Linuximpl.
Uses Linux epoll | I/O event notification facility. See: man 4 epoll. |
helper | |
convert2ioeventbits_iopoll | Converts Linux specific epoll_event->events into ioevent_e. |
convert2epolleventbits | Converts ioevent_e into Linux epoll event bits. |
convert2epollevent_iopoll | Converts ioevent_t into Linux struct epoll_event. |
lifetime | |
init_iopoll | Creates epoll event notification facility. |
free_iopoll | Frees Linux epoll object. |
query | |
change | |
registerfd_iopoll | Adds file descriptor to Linux epoll object. |
updatefd_iopoll | Updates event mask/value of sys_iochannel_t registered at Linux epoll object. |
updatefd_iopoll | Unregisteres sys_iochannel_t at Linux epoll object. |
test |
static inline uint32_t convert2ioeventbits_iopoll( uint32_t events )
Converts Linux specific epoll_event->events into ioevent_e.
static inline uint32_t convert2epolleventbits_iopoll( uint32_t ioevents )
Converts ioevent_e into Linux epoll event bits.
static inline void convert2epollevent_iopoll( /*out*/struct epoll_event * epevent, const ioevent_t * ioevent )
Converts ioevent_t into Linux struct epoll_event.
int updatefd_iopoll( iopoll_t * iopoll, sys_iochannel_t fd, const struct ioevent_t * updated_event )
Updates event mask/value of sys_iochannel_t registered at Linux epoll object.
Unregisteres sys_iochannel_t at Linux epoll object.
Converts Linux specific epoll_event->events into ioevent_e.
static inline uint32_t convert2ioeventbits_iopoll( uint32_t events )
Converts ioevent_e into Linux epoll event bits.
static inline uint32_t convert2epolleventbits_iopoll( uint32_t ioevents )
Converts ioevent_t into Linux struct epoll_event.
static inline void convert2epollevent_iopoll( /*out*/struct epoll_event * epevent, const ioevent_t * ioevent )
Associates one or more ioevent_e with an ioevent_id_t.
struct ioevent_t
Creates epoll event notification facility.
int init_iopoll( /*out*/iopoll_t * iopoll )
Frees Linux epoll object.
int free_iopoll( iopoll_t * iopoll )
Adds file descriptor to Linux epoll object.
int registerfd_iopoll( iopoll_t * iopoll, sys_iochannel_t fd, const struct ioevent_t * for_event )
Updates event mask/value of sys_iochannel_t registered at Linux epoll object.
int updatefd_iopoll( iopoll_t * iopoll, sys_iochannel_t fd, const struct ioevent_t * updated_event )
Choose Posix file descriptor type.
#define sys_iochannel_t int