rlb@rtpark.ge.COM (Bob Boyd 8*565-3627 13-Jul-1988 2043) (07/14/88)
Message created @ 13-JUL-1988 20:43:52.06 Here is the procedure that we use to pre-create group logical name tables. Yes it will work after V5. It takes as its parameter the group number (in octal digits) that you wish to create. It even checks to see if it exists or not. The method is very simple. ================================ 8< cut here ================================ $! VAX/VMS archive file created by VMS_SHAR V-5.01 01-Oct-1987 $! which was written by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au) $! To unpack, simply save and execute (@) this file. $! $! This archive was created by RLB $! on Wednesday 13-JUL-1988 20:42:48.27 $! $! It contains the following 1 file: $! CREGROUP.COM $!============================================================================== $ Set Symbol/Scope=(NoLocal,NoGlobal) $ Version=F$GetSYI("VERSION") ! See what VMS version we have here: $ If Version.ges."V4.4" then goto Version_OK $ Write SYS$Output "Sorry, you are running VMS ",Version, - ", but this procedure requires V4.4 or higher." $ Exit 44 $Version_OK: CR[0,8]=13 $ Pass_or_Failed="failed!,passed." $ Goto Start $Convert_File: $ Read/Time_Out=0/Error=No_Error1/Prompt="creating ''File_is'" SYS$Command ddd $No_Error1: Define/User_Mode SYS$Output NL: $ Edit/TPU/NoSection/NoDisplay/Command=SYS$Input/Output='File_is' - VMS_SHAR_DUMMY.DUMMY f:=Get_Info(Command_Line,"File_Name");b:=Create_Buffer("",f); o:=Get_Info(Command_Line,"Output_File");Set(Output_File,b,o); Position(Beginning_of(b));Loop x:=Erase_Character(1);Loop ExitIf x<>"V"; Move_Vertical(1);x:=Erase_Character(1);Append_Line; Move_Horizontal(-Current_Offset);EndLoop;Move_Vertical(1); ExitIf Mark(None)=End_of(b) EndLoop;Position(Beginning_of(b));Loop x:=Search("`",Forward,Exact);ExitIf x=0;Position(x);Erase_Character(1); If Current_Character='`' then Move_Horizontal(1);else Copy_Text(ASCII(INT(Erase_Character(3))));EndIf;EndLoop;Exit; $ Delete VMS_SHAR_DUMMY.DUMMY;* $ Checksum 'File_is $ Success=F$Element(Check_Sum_is.eq.CHECKSUM$CHECKSUM,",",Pass_or_Failed)+CR $ Read/Time_Out=0/Error=No_Error2/Prompt=" CHECKSUM ''Success'" SYS$Command ddd $No_Error2: Return $Start: $ File_is="CREGROUP.COM" $ Check_Sum_is=1281629056 $ Copy SYS$Input VMS_SHAR_DUMMY.DUMMY X$! create group logical name table after seeing if it exists X$! p1 -- the octal representation of the group of interest X$ if p1.eqs."" then $ goto exit X$ grp_name = f$fao("!6OL",%O'p1') X$ tgrp = f$trnlnm("lnm$group_"+grp_name,"lnm$system_directory",,,,"TABLE") X$ if .not.tgrp then $ goto create_it V$ tgrp_typ = f$trnlnm("lnm$group_"+grp_name,"lnm$system_directory",,,,"ACCESS_M XODE") X$ if tgrp_typ.eqs."KERNEL" then $ goto exit X$create_it: X$ run/det/uic=['grp_name',0] sys$system:loginout.exe/inp=nl:/out=nl: X$ goto exit X$! this isn't supported ----------- X$ create/name lnm$group_'grp_name'- X`009/kernel_mode/attrib=(no_alias,supercede)- X`009/parent=lnm$system_directory- X`009/prot=(s:rwed,o:r,g:r,w) X$exit: X$ exit $ GoSub Convert_File $ Exit ============================= End of Text to Cut ============================= ----------------------------------------------------------------- Bob Boyd Usenet: rlb@rtpark.ge.com GE Microelectronics Ctr. Internet: rlb%rtpark.ge.com@mcnc POB 13049, MS 7T3-01 BitNet: rlb%rtpark.ge.com@relay.cs.net RTP, NC 27709-3049 Voice: (919)549-3627 GE DECnet: RTPARK::RLB GE DIALCOMM: 8*565-3627 PROFS: SSAVRNA,MECRLBT