github.com/afumu/libc@v0.0.6/musl/include/sys/epoll.h (about)

     1  #ifndef	_SYS_EPOLL_H
     2  #define	_SYS_EPOLL_H
     3  
     4  #ifdef __cplusplus
     5  extern "C" {
     6  #endif
     7  
     8  #include <stdint.h>
     9  #include <sys/types.h>
    10  #include <fcntl.h>
    11  
    12  #define __NEED_sigset_t
    13  
    14  #include <bits/alltypes.h>
    15  
    16  #define EPOLL_CLOEXEC O_CLOEXEC
    17  #define EPOLL_NONBLOCK O_NONBLOCK
    18  
    19  enum EPOLL_EVENTS { __EPOLL_DUMMY };
    20  #define EPOLLIN 0x001
    21  #define EPOLLPRI 0x002
    22  #define EPOLLOUT 0x004
    23  #define EPOLLRDNORM 0x040
    24  #define EPOLLNVAL 0x020
    25  #define EPOLLRDBAND 0x080
    26  #define EPOLLWRNORM 0x100
    27  #define EPOLLWRBAND 0x200
    28  #define EPOLLMSG 0x400
    29  #define EPOLLERR 0x008
    30  #define EPOLLHUP 0x010
    31  #define EPOLLRDHUP 0x2000
    32  #define EPOLLEXCLUSIVE (1U<<28)
    33  #define EPOLLWAKEUP (1U<<29)
    34  #define EPOLLONESHOT (1U<<30)
    35  #define EPOLLET (1U<<31)
    36  
    37  #define EPOLL_CTL_ADD 1
    38  #define EPOLL_CTL_DEL 2
    39  #define EPOLL_CTL_MOD 3
    40  
    41  typedef union epoll_data {
    42  	void *ptr;
    43  	int fd;
    44  	uint32_t u32;
    45  	uint64_t u64;
    46  } epoll_data_t;
    47  
    48  struct epoll_event {
    49  	uint32_t events;
    50  	epoll_data_t data;
    51  }
    52  #ifdef __x86_64__
    53  __attribute__ ((__packed__))
    54  #endif
    55  ;
    56  
    57  
    58  int epoll_create(int);
    59  int epoll_create1(int);
    60  int epoll_ctl(int, int, int, struct epoll_event *);
    61  int epoll_wait(int, struct epoll_event *, int, int);
    62  int epoll_pwait(int, struct epoll_event *, int, int, const sigset_t *);
    63  
    64  
    65  #ifdef __cplusplus
    66  }
    67  #endif
    68  
    69  #endif /* sys/epoll.h */