Charles.Forsyth20060303-partialeea662d19 years agoHistory
108 lines · 2.8 KB · Text
RawDownload
.TH SRV9 3 "Plan 9".SH NAMEsrv9 \- plan 9 server registry.SH SYNOPSIS.nf.B bind -c #₪ /srv .BI /srv/ service1.BI /srv/ service2 ....fi.SH DESCRIPTIONOn Inferno hosted on Plan 9,.I srv9serves a one-level directory that gives Inferno applicationsdirect access to Plan 9 services posted in its.B #sserver registry,and allows Inferno applications to post services for access by Plan 9 applications.A service is represented by a file descriptor, usually serving the common file serviceprotocol described in.IR intro (5),allowing it to be mounted (see.IR bind (1)and.IR sys-bind (2))in the name space of an application in the other system..PPTo access a Plan 9 service in Inferno, open the desired service file;the resulting file descriptor is connected to the associated Plan 9 service.When that service is a shared Plan 9 file service,.I srv9automatically starts Plan 9's.I exportfswith appropriate options to make the service accessible from Inferno.It can safely be shared with Plan 9 applications, but note that any path namesmentioned in the attach specifier (see.IR mount (1)and.IR attach (5))will be in the Plan 9 application's name space, not the Inferno application's.(Indeed, a similar caveat applies in Plan 9 itself.).PPTo export an Inferno service to Plan 9, create a new file such as.BR /srv/myservusing.B Sys->createwith mode.B Sys->ORDWR(see.IR sys-open (2))and any desired permissions for the new service file.(Note that the.B #₪device must have been bound in with the.B -coption, as shown above, to allow file creation.)If the create is successful, Plan 9's service registry will have a new entry.BR myserv ,and the file descriptor returned from.B createacts as a pipe to any Plan 9 applicationthat opens the associated service file in Plan 9.Typically on the Inferno side the file descriptor is passed to.IR sys-export (2)or made the standard input of an Inferno file service(see.IR intro (4)).The Plan 9 service file is automatically removed when the Inferno file descriptor is no longer referenced..SH EXAMPLESTo make Plan 9's factotum available in Inferno:.IP.EXmount -Aa /srv/factotum /mnt.EE.PP(Note the.B -Aoption to suppress Inferno authentication.).PPTo mount the Plan 9 file service from which a Plan 9 machine booted:.IP.EXmount -9 /srv/boot /n/local.EE.PPThe.B -9option to.IR mount (1)requests Plan 9 authentication; that could also have been used instead of.B -Ain the previous example..PPTo make the environment variables of the current Inferno name space available to Plan 9:.IP.EXfd := sys->create("/srv/infenv", Sys->ORDWR, 8r600);sys->export(fd, "/env", Sys->EXPWAIT);.EE.SH SOURCE.B /emu/Plan9/devsrv9.c.SH SEE ALSO.IR sys-bind (2),.IR sys-open (2),.IR sys-export (2),.IR import (4),.IR 9srvfs (4)