Sm@numm.nu (Scott Merrilees) (09/15/87)
In article <8709122339.AA27689@ucbvax.Berkeley.EDU> ASIDONHO@JHUIGF.BITNET writes: > ... > I have written a useropen routine to open files only using <=exec mode >log names (by changing the lnm_mode field in the FAB as described in 5-19 >of the RMS manual). The program works OK for lnm_mode=psl$c_super, that is, >it will ignore user mode names for the open. It fails for lnm_mode=psl$c_exec >however (just doesn't see that exec mode name), unless the exec name is >in the SYSTEM TABLE! ... > The logical name LNM$FILE_DEV tells RMS which logical name tables to search when resolving logical names. If you check LNM$SYSTEM_DIRECTORY, you will find two entrys for LNM$FILE_DEV. The first, at super mode, equates to LNM$PROCESS, LNM$JOB, LNM$GROUP & LNM$SYSTEM; the second, at exec mode, only equates to LNM$SYSTEM, thus you needed to use LNM$SYSTEM to get $open/$create to work at exec mode. Since LNM$DIRECTORIES equates to LNM$SYSTEM_DIRECTORY & LNM$PROCESS_DIRECTORY at kernel mode, you could try defining LNM$FILE_DEV as the logical name tables you want to search in LNM$PROCESS_DIRECTORY at exec mode. But this probably won't work for run/detached. I haven't tested this exactly, but have encounted the problem before when trying to get f$trnlnm() to give me the exec mode translation of some logical name in the process table. -- Scott Merrilees [Samarium] ARPA: Sm%numm.nu.oz@uunet.uu.net ACSnet: Sm@numm.nu.oz UUCP: ...!{uunet,mcvax}!munnari!numm.nu.oz!Sm