Specifications
Operating System Routines
EXE$SNDEVMSG
EXE$SNDEVMSG
Builds and sends a device-specific message to the mailbox of a system process,
such as the job controller or OPCOM.
Module
MBDRIVER
Input
Location Contents
R3 Address of mailbox UCB. (SYS$AR_JOBCTLMB
contains the address of the job controller’s mailbox;
SYS$AR_OPRMBX contains the address of
OPCOM’s mailbox.)
R4 Message type
R5 Address of device UCB
UCB$W_UNIT Device unit number
UCB$L_DDB Address of device DDB
DDB$T_NAME and
mailbox UCB fields
Device controller name
Output
Location Contents
R0 SS$_NORMAL, SS$_MBTOOSML, SS$_MBFULL,
SS$_INSFMEM, or SS$_NOPRIV
R1 through R4 Destroyed
Synchronization
Because EXE$SNDEVMSG raises IPL to IPL$_MAILBOX and obtains the
MAILBOX spinlock in a multiprocessing environment, its caller cannot be
executing above IPL$_MAILBOX. EXE$SNDEVMSG returns control to its caller
at the caller’s IPL. The caller retains any spinlocks it held at the time of the call.
Description
EXE$SNDEVMSG builds a 32-byte message on the stack that includes the
following information:
Bytes Contents
0 and 1 Low word of R4 (message type)
2 and 3 Device unit number (UCB$W_UNIT)
4 through 31 Counted string of device controller name, formatted as
node$controller for clusterwide devices
3–59