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 for the NEC Spinwriter,
Printronix, Versatec, Imagen, and GE 3000 printers.
A user device driver may consist of the following 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
(PRSVR) 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 one of the following for standard
DOMAIN-supported devices: SPINWRITER, PRINTRONIX, VERSATEC, GE, or
IMAGEN. Specify 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.
INTERFACING THE IMAGEN PRINTER VIA THE MULTIBUS INTERFACE
The multibus interface provides the option of using a multibus controller
board other than the Versatec IKON 10071-5 board. The user must write and
bind with the print server a software module containing the following
calls:
INIT_$MULTIBUS(sio_line,sio_speed)
performs any required initialization.
WRITE_$MULTIBUS(buf,buflen)
passes a buffer (buf) of type UNIV pr_$buf_t and length (buflen)
to the controller.
(Refer to the documentation for the GPIO package for further details
on using the multibus.)
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.