$!----------------------------------------------------------------------------- $! STARTUP_DECNET.COM $! $! Example startup for WASD DECnet-based scripting with OSU scripting support. $! This procedure should be called from the HTTP server startup procedure $! before actually starting-up the HTTPd. $! $! NOTE that using this procedure will cause (almost certainly undesireable) $! interactions between WASD and OSU on sites that are attempting to run both. $! $! As there seems no way to instantiate DECnet objects into non-system-wide $! enviroments this procedure just exits if it detects it is executing in $! any but the primary WASD environment. $! $! Copyright (C) 1996-2009 Mark G.Daniel $! This program, comes with ABSOLUTELY NO WARRANTY. $! This is free software, and you are welcome to redistribute it under the $! conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or later version. $! http://www.gnu.org/licenses/gpl.txt $! $! VERSION HISTORY $! --------------- $! 06-JUL-2009 MGD v10 and pre-v10 logical names $! WASD autonomous environments $! 17-JUL-1998 MGD renamed from STARTUP_OSU.COM $! 10-JAN-1998 MGD initial $!----------------------------------------------------------------------------- $! $ wasd_root = f$trnlnm("WASD_ROOT") $ if f$trnlnm("WASD_ROOT") .eqs. "" then wasd_root = f$trnlnm("HT_ROOT") $ if wasd_root .eqs. "" $ then $ say "%STARTUP_DECNET-E-WASD_ROOT, problem with WASD_ROOT logical" $ exit %X10000014 $ endif $! $ if f$type(P1) .eqs. "INTEGER" $ then $ if P1 .gt. 15 $ then $ write sys$output "%STARTUP_DECNET-E-ENV, out-of-range" $ exit %X10000014 $ endif $ if P1 .ge. 2 $ then table_is = "/table=WASD_TABLE_" + f$string(P1) $ else table_is = "/table=WASD_TABLE" $ endif $ else $ if P1 .eqs. "LNM$SYSTEM" $ then $ table_is = "/table=LNM$SYSTEM" $ else $! (if WASD_TABLE exists assume we actually want to use it) $ if f$trnlnm("WASD_TABLE","LNM$SYSTEM_DIRECTORY",0,"EXECUTIVE",,"TABLE") $ then table_is = "/table=WASD_TABLE" $ else table_is = "/table=LNM$SYSTEM" $ endif $ endif $ endif $! $! ----------------- $! OSU Logical Names $! ----------------- $! $ www_root = wasd_root - ".]" + ".SRC.OSU]" $ define /nolog /executive 'table_is' /trans=concealed WWW_ROOT 'www_root' $ define /nolog /executive 'table_is' HTBIN CGI-BIN:[000000] $!(allows the OSU v3.3a WWWEXEC.COM to reuse DECnet connections) $ define /nolog /executive 'table_is' WWW_SCRIPT_MAX_REUSE 999 $! $! -------------------- $! object logical names $! -------------------- $! $!(exit here if these system-wide logical names already defined) $ if f$trnlnm("WASD_DECNET_CGI_OBJECT") .nes. "" .and. - f$trnlnm("WASD_DECNET_OSU_OBJECT") .nes. "" then exit $! $ wasd_cgi_decnet_object = wasd_root - ".]" + ".CGI-BIN]CGIWASD.COM" $ define /nolog /system /exec WASD_DECNET_CGI_OBJECT 'wasd_cgi_decnet_object' $! $ osu_cgi_decnet_object = wasd_root - ".]" + ".CGI-BIN]WWWEXEC.COM" $ define /nolog /system /exec WASD_DECNET_OSU_OBJECT 'osu_cgi_decnet_object' $! $ if f$search("SYS$SYSTEM:NCL.EXE") .nes. "" $ then $! ----------------------------- $! DECnet-Plus (Phase-V) Objects $! ----------------------------- $ MCR NCL ! ! WASD CGI object ! CREATE NODE 0 SESSION CONTROL APPLICATION CGIWASD SET NODE 0 SESSION CONTROL APPLICATION CGIWASD ADDRESSES = {NAME=CGIWASD} - ,CLIENT = - ,INCOMING ALIAS = TRUE - ,INCOMING PROXY = TRUE - ,OUTGOING ALIAS = FALSE - ,OUTGOING PROXY = TRUE - ,NODE SYNONYM = TRUE - ,IMAGE NAME = WASD_DECNET_CGI_OBJECT - ,INCOMING OSI TSEL = ! ! OSU object ! CREATE NODE 0 SESSION CONTROL APPLICATION WWWEXEC SET NODE 0 SESSION CONTROL APPLICATION WWWEXEC ADDRESSES = {NAME=WWWEXEC} - ,CLIENT = - ,INCOMING ALIAS = TRUE - ,INCOMING PROXY = TRUE - ,OUTGOING ALIAS = FALSE - ,OUTGOING PROXY = TRUE - ,NODE SYNONYM = TRUE - ,IMAGE NAME = WASD_DECNET_OSU_OBJECT - ,INCOMING OSI TSEL = $! $ else $! ----------------------- $! DECnet Phase-IV Objects $! ----------------------- $ MCR NCP ! WASD CGI object (volatile) SET OBJECT CGIWASD NUMBER 0 FILE WASD_DECNET_CGI_OBJECT ! OSU object (volatile) SET OBJECT WWWEXEC NUMBER 0 FILE WASD_DECNET_OSU_OBJECT $! $ endif $! $! ----------------------- $! NETSERVER logical names $! ----------------------- $! $!(uncomment either of these definitions as appropriate) $!! define /nolog /system NETSERVER$TIMEOUT "0 00:00:30" $!! define /nolog /system NETSERVER$SERVERS_HTTP$SERVER 5 $! $!-----------------------------------------------------------------------------