[comp.os.vms] This is the third time I've posted this,

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