const (
EPOLLIN = 0x1
EPOLLOUT = 0x4
EPOLLERR = 0x8
EPOLLHUP = 0x10
EPOLLRDHUP = 0x2000
EPOLLET = 0x80000000
EPOLL_CLOEXEC = 0x80000
EPOLL_CTL_ADD = 0x1
EPOLL_CTL_DEL = 0x2
EPOLL_CTL_MOD = 0x3
EFD_CLOEXEC = 0x80000
)
const (
SYS_MPROTECT = 10
SYS_FCNTL = 72
SYS_EPOLL_CTL = 233
SYS_EPOLL_PWAIT = 281
SYS_EPOLL_CREATE1 = 291
SYS_EPOLL_PWAIT2 = 441
SYS_EVENTFD2 = 290
EFD_NONBLOCK = 0x800
)
func EpollCreate1(flags int32) (fd int32, errno uintptr)
func EpollCtl(epfd, op, fd int32, event *EpollEvent) (errno uintptr)
func EpollWait(epfd int32, events []EpollEvent, maxev, waitms int32) (n int32, errno uintptr)
func Eventfd(initval, flags int32) (fd int32, errno uintptr)
func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
Syscall6 calls system call number 'num' with arguments a1-6.
type EpollEvent struct {
Events uint32
Data [8]byte // unaligned uintptr
}