2 * D header file to interface with the Linux epoll API (http://man7.org/linux/man-pages/man7/epoll.7.html).
3 * Available since Linux 2.6
5 * Copyright: Copyright Adil Baig 2012.
6 * License : $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Authors : Adil Baig (github.com/adilbaig)
9 module core.sys.linux.epoll;
20 EPOLL_CLOEXEC = 0x80000,
21 EPOLL_NONBLOCK = 0x800
36 EPOLLRDHUP = 0x2000, // since Linux 2.6.17
37 EPOLLONESHOT = 1u << 30,
41 /* Valid opcodes ( "op" parameter ) to issue to epoll_ctl(). */
44 EPOLL_CTL_ADD = 1, // Add a file descriptor to the interface.
45 EPOLL_CTL_DEL = 2, // Remove a file descriptor from the interface.
46 EPOLL_CTL_MOD = 3, // Change file descriptor epoll_event structure.
51 align(1) struct epoll_event
60 align(1) struct epoll_event
75 else version (AArch64)
107 else version (MIPS64)
115 else version (SPARC64)
123 else version (SystemZ)
133 static assert(false, "Platform not supported");
144 int epoll_create (int size);
145 int epoll_create1 (int flags);
146 int epoll_ctl (int epfd, int op, int fd, epoll_event *event);
147 int epoll_wait (int epfd, epoll_event *events, int maxevents, int timeout);