Specifications

Data Structures
1.19 Unit Control Block (UCB)
Table 1–26 (Cont.) UCB Terminal Extension
Field Name Contents
UCB$W_TT_HOLD Port driver’s internal flags and unit holding tank. This is read and written
by the port driver, and is not accessed by the class driver. It contains the
following subfields:
TTY$B_TANK_CHAR Character.
TTY$V_TANK_PREMPT Send preempt character.
TTY$V_TANK_STOP Stop output.
TTY$V_TANK_HOLD Character stored in TTY$B_TANK_CHAR.
TTY$V_TANK_BURST Burst is active.
TTY$V_TANK_DMA DMA transfer is active.
UCB$B_TT_PREMPT Preempt character.
UCB$B_TT_OUTYPE* Amount of data to be written on a callback from the class driver. When
negative, this field indicates that there is a burst of data ready to be
returned; when zero, it signifies that no data is to be written; and when
1, it indicates that a single character is to be written. This field is written
by the class driver and read by the port driver.
UCB$L_TT_GETNXT* Address of the class drivers input routine. This field is read by the port
driver.
UCB$L_TT_PUTNXT* Address of the class driver’s output routine. This field is read by the port
driver.
UCB$L_TT_CLASS* Address of the class driver’s vector table. This field is initialized by the
CLASS_CTRL_INIT macro. The port driver reads UCB$L_TT_CLASS
whenever it must call the class driver at an entry point other than UCB$L_
TT_GETNXT or UCB$L_TT_PUTNXT.
UCB$L_TT_PORT Address of the port driver’s vector table.
UCB$L_TT_OUTADR Address of the first character of a burst of data to be written. This field is
only valid when UCB$B_TT_OUTYPE contains –1. It is read and written by
the port driver, and written by the class driver.
UCB$W_TT_OUTLEN Number of characters in a burst of data to be written. This field is only valid
when UCB$B_TT_OUTYPE contains –1. It is read and written by the port
driver, and written by the class driver.
UCB$W_TT_PRTCTL Port driver control flags. The bits in this field indicate features that are
available to the port; the class driver specifies which of these features are to
be enabled.
The following fields are defined within UCB$W_TT_PRTCTL.
TTY$V_PC_NOTIME No timeout. If set, the terminal class driver is
not to set up timers for output.
TTY$V_PC_DMAENA DMA enabled. If set, DMA transfers are
currently enabled on this port.
TTY$V_PC_DMAAVL DMA supported. If set, DMA transfers are
supported for this port.
TTY$V_PC_PRMMAP Permanent map registers. If set, the port
driver is to permanently allocate UNIBUS
/Q22–bus map registers.
TTY$V_PC_MAPAVL Map registers available. If set, the port driver
has currently allocated map registers.
(continued on next page)
1–104