NAME
vp —
Versatec printer/plotter
interface
SYNOPSIS
vp0 at uba0 csr 0177510 vector vpintr vpintr
DESCRIPTION
NOTE: This driver has not been ported from
4.4BSD yet.
The Versatec printer/plotter is normally used with the line printer system. This
description is designed for those who wish to drive the Versatec directly.
To use the Versatec yourself, you must realize that you cannot open the device,
/dev/vp0 if there is a daemon active. You can see if there
is a daemon active by doing a
vax/lpq(1), and seeing if
there are any files being sent. Printing should be turned off using
vax/lpc(8).
To set the Versatec into plot mode you should include
<sys/vcmd.h> and use the
ioctl(2) call
ioctl(fileno(vp), VSETSTATE, plotmd);
where
plotmd is defined to be
int plotmd[] = { VPLOT, 0, 0 };
and
vp is the result of a call to
fopen(3) on stdio. When you
finish using the Versatec in plot mode you should eject paper by sending it a
EOT after putting it back into print mode, i.e. by
int prtmd[] = { VPRINT, 0, 0 };
...
fflush(vp);
ioctl(fileno(vp), VSETSTATE, prtmd);
write(fileno(vp), "\04", 1);
FILES
- /dev/vp0
-
DIAGNOSTICS
The following error numbers are significant at the time the device is opened.
-
-
- [
ENXIO
]
- The device is already in use.
-
-
- [
EIO
]
- The device is offline.
SEE ALSO
vax/lpr(1),
vax/va(4),
vax/lpd(8)
HISTORY
A
vp driver appeared in
Version 7
AT&T UNIX.
BUGS
The configuration part of the driver assumes that the device is set up to vector
print mode through 0174 and plot mode through 0200. As the configuration
program can't be sure which vector interrupted at boot time, we specify that
it has two interrupt vectors, and if an interrupt comes through 0200 it is
reset to 0174. This is safe for devices with one or two vectors at these two
addresses. Other configurations with 2 vectors may require changes in the
driver.