VMS Help
System Services, $PUTMSG
*Conan The Librarian
|
Writes informational and error messages to processes.
On Alpha and Integrity server systems, this service accepts 64-
bit addresses.
NOTE
The return value from *actrtn is checked to determine
whether or not the message is output.
Format
SYS$PUTMSG msgvec ,[actrtn] ,[facnam] ,[actprm]
C Prototype
int sys$putmsg (void *msgvec, int (*actrtn)(__unknown_params),
void *facnam, unsigned __int64 actprm);
msgvec
OpenVMS usage:cntrlblk
type: longword (unsigned)
access: read only
mechanism: by 32- or 64-bit reference (Alpha and Integrity
servers)
Message argument vector specifying the message or messages to be
written and options that $PUTMSG is to use in writing the message
or messages. The msgvec argument is the 32- or 64-bit address (on
Alpha and Integrity server systems) of the message vector.
The message vector consists of one longword followed by one or
more message descriptors, one descriptor per message.
To view the diagram of the contents of the first longword and the
message vector fields table, see the HP OpenVMS System Services
Reference Manual.
actrtn
OpenVMS usage:procedure
type: procedure value
access: call without stack unwinding
mechanism: by 32- or 64-bit reference (Alpha and Integrity
servers)
User-supplied action routine to be executed during message
processing. The actrtn argument is the 32- or 64-bit address
(on Alpha and Integrity server systems) of this routine.
Note that the first argument passed to the action routine is the
address of a character string descriptor pointing to the message
text; the parameter specified by actprm is the second.
The action routine receives control after a message is formatted
but before it is actually written to the user.
The completion code in general register R0 from the action
routine indicates whether the message should be written. If the
low-order bit of R0 is set (1), then the message will be written.
If the low-order bit is cleared (0), then the message will not be
written.
If you do not specify actrtn or specify it as 0 (the default), no
action routine executes.
Because $PUTMSG writes messages only to SYS$ERROR and SYS$OUTPUT,
an action routine is useful when output must be directed to, for
example, a file.
facnam
OpenVMS usage:char_string
type: character-coded text string
access: read only
mechanism: by 32- or 64-bit descriptor: fixed-length string
descriptor (Alpha and Integrity servers)
Facility prefix to be used in the first or only message written
by $PUTMSG. The facnam argument is the 32- or 64-bit address
(on Alpha and Integrity server systems) of a character string
descriptor pointing to this facility prefix.
If you do not specify facnam, $PUTMSG uses the default facility
prefix associated with the message.
actprm
OpenVMS usage:user_arg
type: longword (unsigned)
access: read only
mechanism: by value
Parameter to be passed to the action routine. The actprm argument
is a longword value containing this parameter. If you do not
specify actprm, no parameter is passed.