Specifications

Data Structures
1.19 Unit Control Block (UCB)
Table 1–23 (Cont.) UCB Error-Log Extension
Field Name Contents
UCB$B_CEX 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 into a software
function case table.
UCB$L_EMB* Address of error message buffer. If error logging is enabled and a device
/controller error or timeout occurs, the driver calls ERL$DEVICERR or
ERL$DEVICTMO to allocate an error message buffer and copy the buffer
address into this field. IOC$REQCOM writes final device status, error
counters, and I/O request status into the buffer specified by this field.
UCB$W_FUNC I/O function modifiers. This field is read and written by drivers that log
errors.
UCB$L_DPC 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 the driver’s return PC
across a dispatch to a hardware function routine.
The UCB local tape extension is illustrated in Figure 1–25 and described in
Table 1–24.
Figure 1–25 UCB Local Tape Extension
Base UCB (164 bytes) 0
Error Log UCB Extension (16 bytes) 164
Dual Path UCB Extension (12 bytes) 180
UCB$W_DIRSEQUCB$B_ONLCNTUCB$B_PREV_RECORD 192
UCB$L_RECORD 196
Reserved 200
UCB$L_TMV_RECORD 204
UCB$W_TMV_CRC1UCB$W_TMV_CRC2 208
UCB$W_TMV_CRC3UCB$W_TMV_CRC4 212
1–96