Types
EpollData {.importc: "epoll_data_t", header: "<sys/epoll.h>", pure, final, union.} = object `ptr`* {.importc: "ptr".}: pointer fd* {.importc: "fd".}: cint u32* {.importc: "u32".}: uint32 u64* {.importc: "u64".}: uint64
- Source Edit
 EpollEvent {.importc: "struct epoll_event", header: "<sys/epoll.h>", pure, final.} = object events*: uint32 data*: EpollData
- Source Edit
 
Consts
EPOLL_CTL_ADD = 1
- Source Edit
 EPOLL_CTL_DEL = 2
- Source Edit
 EPOLL_CTL_MOD = 3
- Source Edit
 EPOLLEXCLUSIVE = 268435456
- Source Edit
 EPOLLONESHOT = 1073741824
- Source Edit
 EPOLLRDBAND = 0x00000080
- Source Edit
 EPOLLRDHUP = 0x00002000
- Source Edit
 EPOLLRDNORM = 0x00000040
- Source Edit
 EPOLLWAKEUP = 536870912
- Source Edit
 EPOLLWRBAND = 0x00000200
- Source Edit
 EPOLLWRNORM = 0x00000100
- Source Edit
 
Procs
proc epoll_create(size: cint): cint {.importc: "epoll_create", header: "<sys/epoll.h>", ...raises: [], tags: [].}
- 
Creates an epoll instance. Returns an fd for the new instance.
The "size" parameter is a hint specifying the number of file descriptors to be associated with the new instance. The fd returned by epoll_create() should be closed with close().
Source Edit proc epoll_create1(flags: cint): cint {.importc: "epoll_create1", header: "<sys/epoll.h>", ...raises: [], tags: [].}
- Same as epoll_create but with an FLAGS parameter. The unused SIZE parameter has been dropped. Source Edit
 proc epoll_ctl(epfd: cint; op: cint; fd: cint | SocketHandle; event: ptr EpollEvent): cint {.importc: "epoll_ctl", header: "<sys/epoll.h>", ...raises: [], tags: [].}
- 
Manipulate an epoll instance "epfd". Returns 0 in case of success, -1 in case of error (the "errno" variable will contain the specific error code).
The "op" parameter is one of the EPOLL_CTL_* constants defined above. The "fd" parameter is the target of the operation. The "event" parameter describes which events the caller is interested in and any associated user data.
Source Edit proc epoll_wait(epfd: cint; events: ptr EpollEvent; maxevents: cint; timeout: cint): cint {.importc: "epoll_wait", header: "<sys/epoll.h>", ...raises: [], tags: [].}
- 
Wait for events on an epoll instance "epfd". Returns the number of triggered events returned in "events" buffer. Or -1 in case of error with the "errno" variable set to the specific error code. The "events" parameter is a buffer that will contain triggered events. The "maxevents" is the maximum number of events to be returned ( usually size of "events" ). The "timeout" parameter specifies the maximum wait time in milliseconds (-1 == infinite).
This function is a cancellation point and therefore not marked with __THROW.
Source Edit