From 058b0118a52061ad57694c01fc8763b22b789c4d Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 3 Jan 2005 06:40:20 +0000 Subject: Some man pages. --- man/man3/sendfd.3 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 man/man3/sendfd.3 (limited to 'man/man3/sendfd.3') diff --git a/man/man3/sendfd.3 b/man/man3/sendfd.3 new file mode 100644 index 00000000..8090dfce --- /dev/null +++ b/man/man3/sendfd.3 @@ -0,0 +1,57 @@ +.TH SENDFD 3 +.SH NAME +sendfd, recvfd \- pass file descriptors along Unix domain sockets +.SH SYNOPSIS +.B +#include +.PP +.B +#include +.PP +.B +int sendfd(int socket, int fd) +.PP +.B +int recvfd(int socket) +.SH DESCRIPTION +.I Recvfd +and +.I sendfd +can be used to pass an open file descriptor over +a Unix domain socket from one process to another. +Since +.IR pipe (3) +is implemented with +.IR socketpair (2) +instead of +.IR pipe (2), +.I socket +can be a file descriptor obtained from +.IR pipe (3). +.PP +.I Sendfd +sends the file descriptor +.I fd +along the socket to a process calling +.I recvfd +on the other end. +.PP +It is assumed that the two sides have coordinated +and agreed to transfer a file descriptor already, so +that the +.I sendfd +is met with a +.I recvfd +instead of an ordinary +.IR read . +.PP +The file descriptor number may change on its way +between processes, but the kernel structure it represents +will not. +.SH SOURCE +.B /usr/local/plan9/src/lib9/sendfd.c +.SH SEE ALSO +.IR socketpair (2), +.I sendmsg +in +.IR send (2) -- cgit v1.2.3