Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ulowell!apollo!oj From: oj@apollo.COM (Ellis Oliver Jones) Newsgroups: comp.sys.apollo Subject: Re: name_$not_found status code Message-ID: <43146499.d5b2@apollo.COM> Date: 7 May 89 13:52:00 GMT References: <8905041340.AA03449@umix.cc.umich.edu> Reply-To: oj@canyon.UUCP (Ellis Oliver Jones) Organization: Apollo Computer, Chelmsford, MA Lines: 24 In article <8905041340.AA03449@umix.cc.umich.edu> FERGUSON@TMASL.EXXON.COM writes: > > ... The name_$not_found status code in /sys/ins/name.ins.c >is different by one bit. Instead of being 0x800e0007, it's >0x000e0007.... Fun facts to know and tell: Here's the typedef "status_$t" as defined, on SR10+, in /usr/apollo/include/base.h : /* Common status datatype returned by most Apollo-supplied procedures: */ typedef union { struct { unsigned fail : 1, /* true if module couldn't handle error */ subsys : 7, /* subsystem code */ modc : 8; /* module code */ short code; /* module specific error */ } s; long all; /* used for testing for specific value */ } status_$t; As several others have pointed out, the high bit should be ignored when trying to determine equality of error codes. /oj