home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!sgigate!sgi!fido!shankar
- From: shankar@sgi.com (Shankar Unni)
- Newsgroups: comp.sys.hp
- Subject: Re: Bad escape codes on 9000/720?
- Message-ID: <1icvuuINNo4s@fido.asd.sgi.com>
- Date: 5 Jan 93 21:52:30 GMT
- References: <1993Jan5.204601.22486@brtph560.bnr.ca>
- Organization: Silicon Graphics, Inc.
- Lines: 61
- NNTP-Posting-Host: boris.wpd.sgi.com
- X-Newsreader: Tin 1.1 PL5
-
- I tried to reply to Richard directly, but my mail bounced back from
- the gateway:
-
- Your message was not delivered to
- rjohns@bnr.ca for the following reason:
- Bad Address
- Unknown local user 'rjohns' (Unknown alias type ''
- '/S=rjohns/PRMD=BNR/ADMD=TELECOM.CANADA/C=CA/')
- * DR generated by mta bcars520
- * in /PRMD=BNR/ADMD=TELECOM.CANADA/C=CA/
- * at Tue, 5 Jan 1993 16:38:46 -0500
-
- Anyway,
-
- Richard Johns P205 (rjohns@brtph46.BNR.CA) wrote:
-
- > Ok, some more investigation and I find that there's a Pascal include file,
- > /usr/include/pasesc.ph, that maps these "huge numbers" to reasonable numbers.
- > For example, escape code 39321792 maps to error PasErr_600, which means I
- > can look up error 600 in /usr/lib/paserrs. SO, NOW:
-
- Ah, an old, rusty memory stirs (I was with the Pascal team when this
- stuff was implemented way back in '85 or '86)...
-
- > 1. What's with these funny escape codes? What good are they?
-
- The reason they are done that way was to provide a crude way of
- distinguishing escapes from different libraries on the system (not too
- important on Unix, where few of the libraries are in Pascal, but vital
- on MPE/XL, where the kernel, and most of the system libraries, are
- written in Pascal).
-
- > 2. What's the recommended way of translating the constant PasErr_600?
-
- The exact encoding is an artifact of the system error encoding in the
- MPE/XL operating system, where the *lower* half (16 bits) is a
- "subsystem number", and the *upper* half is the error number. Seems
- a**-backward, and I never got a good explanation from anyone why it
- was done that way.
-
- Thus, 39321792 == 0x25800c0, which translates to subsystem number 0xc0
- (192 == Pascal) and error number 0x258 (600).
-
- > 3. Is there anything useful I can do with the error message catalog,
- > /usr/lib/nls/$LANG/pc_msgs.cat?
-
- If I remember right, the /usr/lib/nls/$LANG/pc_msgs.cat catalog has
- the text for the errors in pasesc.ph. If you know how to read a
- message catalog, you can retrieve the text for these messages from
- there. I *think* the message set number (for catread/catgetmsg et.
- al.) is "5".
-
- However, it may be wise to dump the catalog to determine the exact set
- number. Again, not having access to a handy HP machine, I don't
- remember the exact command which dumps a message catalog.. You may
- want to look for all the commands containing the string "cat" in
- /usr/bin, or do a "man -k catalog".
-
- --
- Shankar Unni E-Mail: shankar@sgi.com
- Silicon Graphics Inc. Phone: +1-415-390-2072
-