From: CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 15-MAY-1991 19:36:47.45 To: ARISIA::EVERHART CC: Subj: Re: What's installed on a VAX From: RELAY-INFO-VAX@CRVAX.SRI.COM@SMTP@CRDGW2 To: Everhart@Arisia@MRGATE Received: by crdgw1.ge.com (5.57/GE 1.97) id AA18056; Tue, 14 May 91 11:27:49 EDT Received: From NAGY.FNAL.GOV by CRVAX.SRI.COM with TCP; Tue, 14 MAY 91 07:13:39 PDT Date: Tue, 14 May 1991 9:13:18 CDT From: NAGY@NAGY.FNAL.GOV (Frank J. Nagy:VAX Wizard&Loose Cannon) Message-Id: <910514091318.204001b8@NAGY.FNAL.GOV> Subject: Re: What's installed on a VAX To: Info-VAX@sri.com X-Vmsmail-To: info_vax >> What I'm trying to find out is: Is there any way, from a C program, that I >> can find out what layered products are installed on the system. LMF creates a logical name table: LMF$LICENSE_TABLE. In this table there is a logical name LMF$DEC_xxxx created for each license loaded by LMF. Do a SHOW LOGICAL/TABLE=LMF$LICENSE_TABLE to see what I mean. I use these logicals to control calling layered product software at startup time: $ If (F$Trnlnm("LMF$DEC_C","LMF$LICENSE_TABLE") .nes. "") .OR. - (F$Trnlnm("LMF$DEC_VNXSET","LMF$LICENSE_TABLE") .nes. "") $ Then $ ... Install the C compiler image... $ Endif etc. This is a quick and easy way to determine if a license is loaded for an LMF-compatible product (of course it does not check if the product has been started by calling its startup procedure during system boot). = Dr. Frank J. Nagy "VAX Guru & Wizard, Loose Cannon" = Fermilab Computing Division/Distributed Computing Dept/Special Projects Grp = HEPnet/SPAN: FNDCD::NAGY (43123::NAGY) or FNAL::NAGY (43009::NAGY) = Internet: NAGY@FNAL.FNAL.GOV = BitNet: NAGY@FNAL = USnail: Fermilab POB 500 MS/234 Batavia, IL 60510