plan9 man page for srv

Query: srv

OS: plan9

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

SRV(3)							     Library Functions Manual							    SRV(3)

NAME
srv - server registry
SYNOPSIS
bind #s /srv #s/service1 #s/service2 ...
DESCRIPTION
The srv device provides a one-level directory holding already-open channels to services. In effect, srv is a bulletin board on which pro- cesses may post open file descriptors to make them available to other processes. To install a channel, create a new file such as /srv/myserv and then write a text string (suitable for strtoul; see atof(2)) giving the file descriptor number of an open file. Any process may then open /srv/myserv to acquire another reference to the open file that was reg- istered. An entry in srv holds a reference to the associated file even if no process has the file open. Removing the file from /srv releases that reference. It is an error to write more than one number into a server file, or to create a file with a name that is already being used.
EXAMPLE
To drop one end of a pipe into /srv, that is, to create a named pipe: int fd, p[2]; char buf[32]; pipe(p); fd = create("/srv/namedpipe", 1, 0666); sprint(buf, "%d", p[0]); write(fd, buf, strlen(buf)); close(fd); close(p[0]); write(p[1], "hello", 5); At this point, any process may open and read /srv/namedpipe to receive the hello string. Data written to /srv/namedpipe will be received by executing read(p[1], buf, sizeof buf); in the above process.
SOURCE
/sys/src/9/port/devsrv.c SRV(3)
Related Man Pages
srv(9e) - opensolaris
bbdb-srv(1) - debian
bind(1) - plan9
srv(9e) - centos
net::openid::yadis::service(3pm) - debian
Similar Topics in the Unix Linux Community
File Descriptors
Removing ".nfs" files
sed question (again)
How to create domain controller in Linux for windows client?
Process to use open files