
NFS provides an interface to the print spool services on your pcnfsd
servers. To use this all you need to do is to select print to file with a
special file name. The file name to use has the general format
NFS#Printer::<server>[.$][.<printer name>[.<user name>[.<options>]]]. In
this specification anything in square brackets ([ and ]) is optional and
anything in angle brackets (< and >) should be replaced by the thing being
described. For example, if you have pcnfsd running on unixhost01 (any
machine which can be used as a name server has pcnfsd running on it), and
you want to print to printer lp01, and your user name is jbloggs, but you
didn't want to specify any options, then you would select print to file
NFS#unixhost01.$.lp01.jbloggs. Any files dropped onto the printer icon would
then be printed to printer lp01 on unixhost01. The .$ is entirely optional,
its presence or absence has no effect on the print spooling. If the printer
name is ommited, then the print is sent to the printer lp. If the user name
or options are ommited, then this is equivalent of having a blank name or no
options specified.

In detail, when NFS#Printer is used a temporary mount point is established
under the user 'nobody', the mount path for this being obtained from pcnfsd
running on the target host. Files are automatically generated in the root
directory of this mount point when an openout is performed and then they are
spooled when they are closed. Most operations allowed on open files are
allowed on these automatically generated files, however, only OS_File 5
(look up file) is allowed out of the non-open-file operations, and this call
indicates that the file doesn't exist. The automatically generated names are
eight digit hexadecimal numbers starting from 0. When these files are
spooled their access is set to R/r so that the spooling operation is
guaranteed of being able to read it.

