🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: vmsnet.internals
Article #262

Re: Booting MicroVAX 3400 using non-system UIC

#262
From: robbie
Date: Wed, 02 Sep 1992 01:21
69 lines
3374 bytes
In article <01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU>, DWING@UH01.Colorado.EDU (Dan Wing) writes:
> Eric J. Seeger, eseeger@ssdc.sterling.com, writes:
> 
>>Is there a way to boot up a MicroVAX 3400 running VMS V5.4 so that a
>>site specific definition can reside in a different UIC group instead of
>>the system accounts group.  More specifically, I am trying to define
>>several specific logicals that I want to have reside in a specific
>>accounts group table, and I want to define them during the startup procedure.
>>What I am finding is that even if I 'set uic' to the account I want them
>>to reside in they are still ending up under the system account during startup.
> 
> ...  Now, even if you pointed it to the correct logical name
> table, or specified the table's name with DEFINE/TABLE, it wouldn't work
> because the table doesn't exist.
>      

There is an easier way to create the group logical name table at startup.
Try the following...

    RUN /UIC=[<UIC in group>] SYS$SYSTEM:LOGINOUT.EXE

The group logical name table is created by the first run process in that
group. This does a process creation which does very little other than
create the logical name table. The UIC doesn't even have to be a valid
account, as long as it is in the correct group.

eg. JOE_SMITH has a UIC [LAZY_BUMS,JOE_SMITH] (or [3010,253]).

    To create his group logical name table, do a RUN/UIC=[LAZY_BUMS] ...
    or RUN/UIC=[3010] ...

    The group logical name table can be accessed via
    
        DEFINE/TABLE=LNM$GROUP_003010

The following is some code to determine from a NAME type UIC which group
table to use (i.e. How to get from [LAZY_BUMS] to LNM$GROUP_003010)

$!
$!***************************************************************************
$Get_Group_LNM_String:  SUBROUTINE
$!***************************************************************************
$!
$!      P1 == Specified Group
$!
$   SET NOON
$!
$   GroupString == "LNM$GROUP_000000"
$   UICIdent    =  F$IDENTIFIER("''P1'","NAME_TO_NUMBER")
$   UICString   =  F$FAO("!%U",UICIdent) - "[" - "]"
$   UICString   =  F$EXTRACT(0,F$LOCATE(",",UICString),UICString)
$   StringLen   =  F$LENGTH(GroupString) - F$LENGTH(UICString)
$   GroupString == "''F$EXTRACT(0,StringLen,GroupString)'''UICString'"
$!
$   EXIT
$   ENDSUBROUTINE

The subroutine could be called and logicals defined as follows:

$   CALL Get_Group_LNM_String "LAZY_BUMS"
$   DefLazyBums := "DEFINE/TABLE=''GroupString'"
$   DefLazyBums DECW$USER_DEFAULTS SYS$LOGIN:, LAZYBUMS_DATA:[DECW$DEFAULTS]

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rob Spencer, BHP Information Technology           |   Sorry, but my .sig
Newcastle, Australia        Voice: +61 49 40 1673 |   is on .sig leave!
Bits: robbie@winkle.bhpese.oz.au                  |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Technical Details
Message-ID: <1992Sep2.112130.252@winkle.bhpese.oz.au>
Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!merlin!cerberus!winkle.bhpese.oz.au!robbie
References: <01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!merlin!cerberus!winkle.bhpese.oz.au!robbie
From: robbie@winkle.bhpese.oz.au
Newsgroups: vmsnet.internals
Subject: Re: Booting MicroVAX 3400 using non-system UIC
Message-ID: <1992Sep2.112130.252@winkle.bhpese.oz.au>
Date: 2 Sep 92 11:21:30 +1000
References: <01GO8KCZ8CCY001SUR@VAXF.COLORADO.EDU>
Organization: BHP Information Technology, Newcastle
Lines: 69