sendfd, recvfd – pass file descriptors along Unix domain sockets|
int sendfd(int socket, int fd)
int recvfd(int socket)|
Recvfd and sendfd can be used to pass an open file descriptor
over a Unix domain socket from one process to another. Since pipe(3)
is implemented with socketpair(2) instead of pipe(2), socket can
be a file descriptor obtained from pipe(3).
Sendfd sends the file descriptor fd along the socket to a process
calling recvfd on the other end.
It is assumed that the two sides have coordinated and agreed to
transfer a file descriptor already, so that the sendfd is met
with a recvfd instead of an ordinary read.
The file descriptor number may change on its way between processes,
but the kernel structure it represents will not.|
socketpair(2), sendmsg in send(2)|