Use <linux/eventpoll.h> to implement <sys/epoll.h>.
Bug: https://github.com/android-ndk/ndk/issues/302
Test: builds
Change-Id: Ia3074326a128c38f2488e342c028cc030801cfd9
diff --git a/libc/include/sys/epoll.h b/libc/include/sys/epoll.h
index 4ec8969..b7fdd4d 100644
--- a/libc/include/sys/epoll.h
+++ b/libc/include/sys/epoll.h
@@ -31,11 +31,17 @@
#include <sys/cdefs.h>
#include <sys/types.h>
-#include <fcntl.h> /* For O_CLOEXEC. */
#include <signal.h> /* For sigset_t. */
+#include <linux/eventpoll.h>
+/* TODO: https://lkml.org/lkml/2017/2/23/416 has a better fix. */
+#undef EPOLLWAKEUP
+#undef EPOLLONESHOT
+#undef EPOLLET
+
__BEGIN_DECLS
+/* TODO: remove once https://lkml.org/lkml/2017/2/23/417 is upstream. */
#define EPOLLIN 0x00000001
#define EPOLLPRI 0x00000002
#define EPOLLOUT 0x00000004
@@ -51,12 +57,6 @@
#define EPOLLONESHOT 0x40000000
#define EPOLLET 0x80000000
-#define EPOLL_CTL_ADD 1
-#define EPOLL_CTL_DEL 2
-#define EPOLL_CTL_MOD 3
-
-#define EPOLL_CLOEXEC O_CLOEXEC
-
typedef union epoll_data {
void* ptr;
int fd;