Specifications
Data Structures
1.19 Unit Control Block (UCB)
Table 1–22 (Cont.) Contents of Unit Control Block
Field Name Contents
UCB$W_ERRCNT Number of errors that have occurred on the device since the system was
booted. The driver-loading procedure initializes the field to zero when
the procedure creates the UCB. ERL$DEVICERR and ERL$DEVICTMO
increment the value in the field and copy the value into an error message
buffer. The DCL command SHOW DEVICE displays in its error count
column the value contained in this field.
UCB$L_PDT* Address of port descriptor table (PDT). This field is reserved for SCSI port
drivers.
UCB$L_DDT* Address of DDT for unit. The driver load procedure writes the contents of
DDB$L_DDT for the device controller to this field when it creates the UCB.
UCB$L_MEDIA_ID* Bit-encoded media name and type, used by MSCP devices.
The UCB error-log extension is illustrated in Figure 1–24 and described in
Table 1–23.
Figure 1–24 UCB Error-Log Extension
Base UCB (164 bytes) 0
UCB$B_SLAVE*UCB$B_SPRUCB$B_FEXUCB$B_CEX 164
UCB$L_EMB* 168
UnusedUCB$W_FUNC 172
UCB$L_DPC 176
*A read-only field
Table 1–23 UCB Error-Log Extension
Field Name Contents
UCB$B_SLAVE* Unit number of slave controller.
UCB$B_SPR Spare byte. This field is reserved for driver use. MASSBUS adapter drivers
use this field to store a fixed offset to the MASSBUS adapter registers for
the unit.
UCB$B_FEX Device-specific field. This field is reserved for driver use. Certain system
disk drivers (such as DLDRIVER in one of the appendixes to the OpenVMS
VAX Device Support Manual) use this field to store an index in a hardware
function dispatch table.
(continued on next page)
1–95