text: #ifndef	_SYS_EPOLL_H
  #define	_SYS_EPOLL_H
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #include <stdint.h>
  #include <sys/types.h>
  
  #define __NEED_sigset_t
  
  #include <bits/alltypes.h>
  
  #define EPOLL_CLOEXEC 02000000
  #define EPOLL_NONBLOCK 04000
  
  enum EPOLL_EVENTS { __EPOLL_DUMMY };
  #define EPOLLIN 0x001
  #define EPOLLPRI 0x002
  #define EPOLLOUT 0x004
  #define EPOLLRDNORM 0x040
  #define EPOLLRDBAND 0x080
  #define EPOLLWRNORM 0x100
  #define EPOLLWRBAND 0x200
  #define EPOLLMSG 0x400
  #define EPOLLERR 0x008
  #define EPOLLHUP 0x010
  #define EPOLLRDHUP 0x2000
  #define EPOLLONESHOT (1U<<30)
  #define EPOLLET (1U<<31)
  
  #define EPOLL_CTL_ADD 1
  #define EPOLL_CTL_DEL 2
  #define EPOLL_CTL_MOD 3
  
  typedef union epoll_data {
  	void *ptr;
  	int fd;
  	uint32_t u32;
  	uint64_t u64;
  } epoll_data_t;
  
  struct epoll_event {
  	uint32_t events;
  	epoll_data_t data;
  } __attribute__ ((__packed__));
  
  
  int epoll_create(int);
  int epoll_create1(int);
  int epoll_ctl(int, int, int, struct epoll_event *);
  int epoll_wait(int, struct epoll_event *, int, int);
  int epoll_pwait(int, struct epoll_event *, int, int, const sigset_t *);
  
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* sys/epoll.h */
  