.th PC11 VI 4/21/86
.sh NAME
PC11/PR11 - kernel interface to DEC PC11 paper tape reader/punch unit
.sh DESCRIPTION
The PC11 device is the KSOS interface to the paper tape reader/punch unit
produced by DEC.  A unit containing a reader only (PR11) is also supported.
The KSOS device driver supports only one unit per system.
A paper tape reader/punch unit will appear as two independent device types
under KSOS.  To write a paper tape, the user must open the PC11 device SEID.
To read a paper tape, the user must open the PR11 device SEID.
.s3 
Data is transferred between the unit and memory one byte at a time.
.s3
The PC11/PR11 devices are identified to the kernel by their SEIDs.  The
first two components of an PC11 SEID are always the same: the name
space field is 'device_nsp' and the unique id 0 field is 52.
Similarly, the first two components of an PR11 SEID are always the
same: the name space field is 'device_nsp' and the unique id 0 field is
51.  The unique id 1 field corresponds to the unit number of the device.
.s3
There are four basic functions of the KSOS PC11 device driver.
They are implemented with the following system calls:
K_open, K_read_block, K_write_block, K_device_function and K_close.
.s3
.lp 23 18
K_open	Before any data may be pass between a PC11 and a user process,
that process must open the device using the K_open kernel call.
Opening a PC11 device is a higher level function of the kernel I/O
system and has no effect on the device itself or the device driver.
.s3
.lp 23 18
K_read_block	The K_read_block kernel call is used to read characters
from a PC11 device.
.s3
.lp 23 18
K_write_block	The K_write block kernel call is used to write characters
to a PC11 device.
.s3
.lp 23 18
K_device_function	The PC11 supports the following functions: READ,
and WRITE.
.lp 23 18
K_close	Closing a PC11 device is a higher level function of the kernel I/O
system and has no effect on the device itself or the device driver.
.i0
.sh "SEE ALSO"
K_device_function(II),
K_read_block(II),
K_write_block(II),
K_open(II),
K_close(II),
ioFunction(IIa),
ioStatus(IIa)
