A small integer handle the kernel gives a process to reference an open file, socket, or pipe.
Everything is a file on Unix: epoll, sockets, timers, and even eventfd all flow through the descriptor table you inspect with lsof.