HELPLIB.HLB  —  System Services, $PUTMSG
    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);

1  –  Arguments

 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 VSI 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.
Close Help