SENDFD(3)                                               SENDFD(3)

     NAME
          sendfd, recvfd - pass file descriptors along Unix domain
          sockets

     SYNOPSIS
          #include <u.h>

          #include <libc.h>

          int  sendfd(int socket, int fd)

          int  recvfd(int socket)

     DESCRIPTION
          Recvfd and sendfd can be used to pass an open file descrip-
          tor 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.

     SOURCE
          /src/lib9/sendfd.c

     SEE ALSO
          socketpair(2), sendmsg in send(2)