Returns message text associated with a given message identification code into the caller's buffer. The message can be from the system message file or a user-defined message. On Alpha and Integrity server systems, this service accepts 64- bit addresses. Format SYS$GETMSG msgid ,msglen ,bufadr ,[flags] ,[outadr] C Prototype int sys$getmsg (unsigned int msgid, unsigned short int *msglen, void *bufadr, unsigned int flags, unsigned char outadr [4]);
1 – Arguments
msgid OpenVMS usage:cond_value type: longword (unsigned) access: read only mechanism: by value Identification of the message to be retrieved. The msgid argument is a longword value containing the message identification. Each message has a unique identification, contained in bits 3 through 27 of system longword condition values. msglen OpenVMS usage:word_unsigned type: word (unsigned) access: write only mechanism: by 32- or 64-bit reference Length of the message string returned by $GETMSG. The msglen argument is the 32- or 64-bit address of a word into which $GETMSG writes this length. bufadr OpenVMS usage:char_string type: character-coded text string access: write only mechanism: by 32- or 64-bit descriptor-fixed-length string descriptor Buffer to receive the message string. The bufadr argument is the 32- or 64-bit address of a character string descriptor pointing to the buffer into which $GETMSG writes the message string. The maximum size of any message string is 256 bytes. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value Message components to be returned. The flags argument is a longword bit vector wherein a bit, when set, specifies that the message component is to be returned. The following table describes the significant bits: Bit Value Description 0 1 Include text of message 0 Do not include text of message 1 1 Include message identifier 0 Do not include message identifier 2 1 Include severity indicator 0 Do not include severity indicator 3 1 Include facility name 0 Do not include facility name If you omit this argument in a VAX MACRO or BLISS-32 service call, it defaults to a value of 15; that is, all flags are set and all components of the message are returned. If you omit this argument in a Fortran service call, it defaults to a value of 0; the value 0 causes $GETMSG to use the process default flags. outadr OpenVMS usage:vector_byte_unsigned type: byte (unsigned) access: write only mechanism: by 32- or 64-bit reference Optional information to be returned by $GETMSG. The outadr argument is the 32- or 64-bit address of a 4-byte array into which $GETMSG writes the following information: Byte Contents 0 Reserved 1 Count of FAO arguments associated with message 2 User-specified value in message, if any 3 Reserved