PRSVR/DEVICE_DRIVERS -- User-supplied Print Server Device Drivers 83/08/08
The Print Server (PRSVR) is capable of handling up to 4 customer-supplied
device drivers on systems running Software Version SR4.1 or later. This
support is in addition to that supplied by Apollo for the NEC Spinwriter,
Printronix, Versatec, and GE 3000 printers.
A user device driver may consist of 6 procedures:
USERn_INIT (sio_line, sio_line_speed)
is called once to initialize the printer. This procedure
typically initializes internal state and opens the
specified SIO line. SIO_$CONTROL may be called to set the
characteristics of the SIO line. The sio_line_speed parameter
indicates the line speed of the chosen SIO line (i.e., one
of SIO_$50, SIO_$75, SIO_$110, ..., SIO_$19200).
USERn_WRITE (string, length)
is called to write the specified string to the device. Any
number of newline characters (including zero) may be
present in the string.
USERn_FLUSH
is called to flush the output buffer for the device.
Ignore this call if data for the device is not buffered by
the driver.
USERn_SET_MODE (mode, value)
is called to convey to the device driver any information
which the user may have specified (via the PRF command)
at the time the file was printed. This call may also be
used by PRSVR to convey information from other sources
in the future. Support is currently provided which allows
the user to specify the following information:
- point size of desired font
- weight of desired font
- draft or letter quality font
- type of data being sent
1. text
2. plot file - bitmap data defined by
a GMF file
3. transparent - no interpretation
of data is done by PRSVR.
USERn_RETURN_INFO (query, info)
is called to determine some capability of the device from
the user supplied device driver. Currently the only query
which need be supported is the bits/inch for a plotting device.
USERn_CLOSE
is called to close the device prior to exiting from the
print server.
(The declarations of these calls and data types used may be found in
/SYS/INS/PRSVR.INS.PAS.)
After the device driver has been written, bind it with the Print Server
as follows:
$ bind -b prsvr.user /com/prsvr user1.bin
The binder will complain about undefined symbols for all unsupplied user
device drivers; ignore these messages.
Select the device using the DEVICE entry in the configuration file
(see HELP PRSVR CONFIG). Specify either SPINWRITER, PRINTRONIX, VERSATEC,
or GE for the standard Apollo-supported devices, or USER1, USER2, USER3, or
USER4 for user-supplied device drivers. The letter "n" in the device
driver procedure names is replaced by the device number: 1, 2, 3, or 4.
RELATED TOPICS
More information is available. Type:
- HELP PRSVR
for details about starting the Print Server.
- HELP PRSVR CONFIG
for details about device configuration files.
- HELP PRF
for details about queueing files to a printer.