[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vaxaxp::vmsnotes

Title:VAX and Alpha VMS
Notice:This is a new VMSnotes, please read note 2.1
Moderator:VAXAXP::BERNARDO
Created:Wed Jan 22 1997
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:703
Total number of notes:3722

234.0. "translate message to code" by HTSC12::MICKWIDLAM (Water addict, water man) Fri Feb 21 1997 05:09

Providing a message, say %LOGIN-F-CMDINPUT, how can I find the status code for
it?

Regards,
Mickwid.
T.RTitleUserPersonal
Name
DateLines
234.1many in SYS$LIBRARY:STARLET.REQCERN::HOBBSCongrats to the Ignoble Peace Prize winner! (http://www.eecs.harvard.edu/ig_nobel)Fri Feb 21 1997 07:059
%SYSTEM-F-MTLBLLONG, magnetic tape volume label can be no more than six characte
rs

tignes$ search sys$library:starlet.req MTLBLLONG
literal SS$_MTLBLLONG = 772;

Unfortunately, that doesn't work for private messages like %LOGIN-F-CMDINPUT.

-cw
234.2QUARK::LIONELFree advice is worth every centFri Feb 21 1997 09:046
In a case like this, the easiest way is to grab the VMS source listings for
the facility that contains the .MSG file defining this message.  There's no
straightforward way to translate the message name to a number if it isn't
defined in STARLET.REQ.

					Steve
234.3LGI$_CMDINPUT == 0x000D38064XDELTA::HOFFMANSteve, OpenVMS EngineeringFri Feb 21 1997 09:0541
:Providing a message, say %LOGIN-F-CMDINPUT, how can I find the status
:code for it?

   As cw indicates, one can usually SEARCH through the message include files
   (DECC$LIBRARY_INCLUDE:*.H, SYS$LIBRARY:*.REQ, etc) for `public' message
   constants.

   For private applications, one can use various tools that scan the external
   message file for the messages -- there are command procedures around that
   can do this.  (I tend to use the LINKER to link against the files, and
   I pull all the definitions out of the file and into a LINKER map.  Ugly,
   but it works.)

   With access to the OpenVMS source code listings -- see note 8.* or 9.*
   for how to contact SSB and order the source listings CD-ROMs -- one can
   SEARCH the facility directly.

   With access to the source listings (or -- as shown below -- an OpenVMS
   `results disk'), one can use something like the following technique:

$ sear v71_resd$:[LOGIN.LIS]*.map CMDINPUT


******************************
X6NO_RESD$:[LOGIN.LIS]LOGINOUT.MAP;1

LGI$_CMDINPUT               00D38064          LGI$MSGDEF                  FILEIO

00D38064        LGI$_CMDINPUT
$ analyz/image sys$system:loginout/out=x.x
$ sear x.x message
                        indirect message section filename: CLIUTLMSG
                        indirect message section filename: PLIMSG
                        indirect message section filename: PLIMSG
                        indirect message section filename: PLIMSG
$ set mess sys$message:CLIUTLMSG
$ x=f$mess(%x00D38064)
$ sho sym x
  X = "%LOGIN-F-CMDINPUT, error reading command input"
$