From: CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 21-OCT-1990 03:53:25.49 To: MRGATE::"ARISIA::EVERHART" CC: Subj: Re: F$GETSYI says we have a VAXServer! Hmm. Received: by crdgw1.ge.com (5.57/GE 1.76) id AA12963; Sat, 20 Oct 90 13:20:29 EDT Received: From UCBVAX.BERKELEY.EDU by CRVAX.SRI.COM with TCP; Sun, 21 OCT 90 00:29:36 PDT Received: by ucbvax.Berkeley.EDU (5.63/1.42) id AA04588; Sun, 21 Oct 90 00:05:53 -0700 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-vax@kl.sri.com (info-vax@kl.sri.com) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 21 Oct 90 07:03:03 GMT From: zaphod.mps.ohio-state.edu!mips!wdl1.wdl.fac.com!wdl50!rob@tut.cis.ohio-state.edu (Rob Riepel) Organization: Ford Aerospace Subject: Re: F$GETSYI says we have a VAXServer! Hmm. Message-Id: <1990Oct21.070303.4613@wdl1.wdl.fac.com> References: <31278@netnews.upenn.edu>, <7921@darkstar.ucsc.edu>, <35082@cup.portal.com> Sender: info-vax-request@kl.sri.com To: info-vax@kl.sri.com We had a VS2000 that with a dead display. I hooked up a normal terminal to it and *poof* it became a 'VAXserver 2000'. Naturally I had to find out how that happened, so I dug around and found out where VMS hides the hardware model information. I don't remember where I found it, but the hardware model number is stored in the global location EXE$GW_CPUMODEL. I wrote the following program to display it. /* vaxmodel.c - print the vax hardware model number */ #include globalvalue EXE$GW_CPUMODEL; main(int argc, char **argv) { int i, *ip; ip = EXE$GW_CPUMODEL; printf("The CPU model number is %d\n",*ip); } Of course that only returns a number. It's an index into a hardware name table at EXE$GA_HWNAME. Here's the program I wrote to format the table. /* vaxhw.c - format the vax hardware name table */ #include globalvalue EXE$GA_HWNAME; main(int argc, char **argv) { int i, j=0, **ip; char *cp; ip = EXE$GA_HWNAME; /* get the pointer to the hw table */ cp = (char *) **ip; while ( (i=(*cp++)) ) { j++; printf("%3d\t",j); while ( i-- ) { putchar(*cp); cp++; } putchar('\n'); } } Here's a few lines of output from the program. 1 VAX-11/780 2 VAX-11/782 3 VAX-11/750 22 Processor 009 32 VAX 9RR 34 Unknown MicroVAX II 75 VAX 6280 183 VAXserver 6305E 185 VAX 1202_1T 205 VAXstation 4100/LCG 218 VAXstation 4200/SPX Well, none of this really explains why VAXstations suddenly turn into VAXservers, but it does give a little insight into how F$GEYSYI("HW_MODEL") works. It also begs the question "If I change EXE$GW_CPUMODEL, can I run layered products for a uVAX II on a 6000-440?" (only kidding DEC! :-)). ..rob (rob@wdl1.wdl.fac.com)