From: MERC::"uunet!CRVAX.SRI.COM!RELAY-INFO-VAX" 15-MAR-1993 13:23:04.69 To: Info-VAX@KL.SRI.COM CC: Subj: Re: How to detect if user logged in with /NOCOMMAND? In article <01GVR56KKG9U8WW1HG@kopc.hhs.dk>, ARNE@kopc.hhs.dk (Arne Vajhj) writes... #> Does anybody know how one can detect if someone logged in with the #> qualifier /NOCOMMAND. No. (well, you could ask them...) #> I checked all the items of F$GETJPI (VMS 5.5) for both ways of logging #> in, but could find none which might point to this qualifier. #> Somehow it must at least be known to LOGINOUT, because it has to decide #> whether to execute LOGIN.COM or not. # #Sure LOGINOUT/the CLI knows it - but does it also save the information ? # #A little reading in IDS 5.2 revealed: # #p. 795 : LOGINOUT begins initialization for a CLI. It creates user mode # logical names PROC0 through PROC9, each equated to the file # specification of a command procdure (or indirect command file) # to be excuted before the CLI enters its input loop. Currently # only PROC0 and PROC1 are used. # #p. 801 : The CLI translates PROC0 through PROC9 and saves their # equivalence names to identify the command procdures it must # execute. # #And that is all I can find. # #So the two questions are: # #1) Where does the CLI save the information (symbolic addreses) ? It does not. It uses it internally as global symbol COM_NEGATED which you'll find in [.login.lis]inituser.lis and interact.lis. The latter sets the flag based on the existence of /NOCOMMAND and the former uses it to decide what to do. If job logical name PROC1 hung around one could compare its value to that of UAF LGICMD. However, DCL kindly removes it (and PROC0) before turning control over to the user so the answer there is nix as well. #2) Does the information stay there after execution of the command # procedures ? The information actually is gone before the command procedures execute since it's translated internally to the CLI. This can be verified via sys$sylogin: $ show log/full/job * Fails to show any job logical names not present later. If DCL didn't translate and remove the logical names first, PROC1 would be listed druing PROC0 (sys$sylogin). #Arne Vajhxj local DECNET: KO::ARNE #Computer Department PSI: PSI%238310013040::ARNE #Business School of Southern Denmark Internet: ARNE@KO.HHS.DK You could always patch DCL to save the PROCn logicals. I've found however that DCL is resilient to trivial patches so undoubtedly it won't be.* Ehud -- Ehud Gavron (EG76) gavron@aces.com * yes that's a challenge ;)