.TP
.B EPOLLERR
Error condition happened on the associated file descriptor.
+.BR epoll_wait (2)
+will always wait for this event; it is not necessary to set it in
+.IR events .
.TP
.B EPOLLHUP
Hang up happened on the associated file descriptor.
+.BR epoll_wait (2)
+will always wait for this event; it is not necessary to set it in
+.IR events .
.TP
.B EPOLLET
Sets the Edge Triggered behaviour for the associated file descriptor.
.SH ERRORS
.TP
.B EBADF
-The
.I epfd
-file descriptor is not a valid file descriptor.
+is not a valid file descriptor.
+.TP
+.B EEXIST
+.I op
+was EPOLL_CTL_ADD, and the supplied file descriptor
+.IR fd
+is already in
+.IR epfd .
.TP
.B EINVAL
-The supplied file descriptor,
-.IR epfd ,
+.IR epfd
is not an
.B epoll
-file descriptor, or the requested operation
+file descriptor,
+or
+.IR fd
+is the same as
+.IR epfd ,
+or the requested operation
.I op
is not supported by this interface.
.TP
+.B ENOENT
+.I op
+was EPOLL_CTL_MOD or EPOLL_CTL_DEL, and
+.IR fd
+is not in
+.IR epfd .
+.TP
.B ENOMEM
There was insufficient memory to handle the requested
.I op
.B EPERM
The target file
.I fd
-is not supported by
+does not support
.BR epoll .
.SH CONFORMING TO
.BR epoll_ctl (2)