Specifications

Operating System Routines
ERL$DEVICERR, ERL$DEVICTMO, ERL$DEVICEATTN
Initializes the buffer with the current system time, error log sequence
number, and error type code. These routines use the following error type
codes:
ERL$DEVICERR Device error (EMB$C_DE)
ERL$DEVICTMO Device timeout (EMB$C_DT)
ERL$DEVICEATTN Device attention (EMB$C_DA)
Places the address of the error message buffer in UCB$L_EMB.
Sets UCB$V_ERLOGIP in UCB$L_STS.
Loads fields from the UCB, the IRP, and the DDB into the buffer, including
the following:
UCB$B_DEVCLASS Device class
UCB$B_DEVTYPE Device type
IRP$L_PID Process ID of the process originating the
I/O request (ERL$_DEVICERR and ERL$_
DEVICTMO)
IRP$W_BOFF Transfer parameter (ERL$DEVICERR and
ERL$DEVICTMO)
IRP$W_BCNT Transfer parameter (ERL$DEVICERR and
ERL$DEVICTMO)
UCB$L_MEDIA Disk size
UCB$W_UNIT Unit number
UCB$W_ERRCNT Count of device errors
UCB$L_OPCNT Count of completed operations
ORB$L_OWNER UIC of volume owner
UCB$L_DEVCHAR Device characteristics
UCB$B_SLAVE Slave unit number
IRP$W_FUNC I/O function value (ERL$DEVICERR and
ERL$DEVICTMO)
DDB$T_NAME Device name (concatenated with cluster node name
if appropriate)
Loads into R0 the address of the location in the buffer in which the contents
of the device registers are to be stored.
Calls the driver’s register-dumping routine, the address of which is specified
in the regdmp argument to the DDTAB macro.
Note that a driver must define the local disk UCB extension or local tape UCB
extension, as described in Section 1.19, to use these error-logging routines.
3–11