TITLE PATH -- Monitor level SETSRC commands plus enhancements SUBTTL G.M. Uhler/GMU/RCB 3-Dec-86 SEARCH JOBDAT,MACTEN,SWIL,UUOSYM .DIRECTIVE .XTABM,FLBLST SALL ; CLEAN UP LISTING OPDEF TRC [640G] ;SOME IDIOT MADE THIS A MACRO .REQUEST REL:SWIL ; LOAD SCAN AND HELPER TWOSEG RELOC 400000 COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1978,1987. ALL RIGHTS RESERVED. \;END OF COPYRIGHT MACRO ;COPYRIGHT (C) 1978,1979,1980,1981,1982,1983,1984,1987 BY ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ;ALL RIGHTS RESERVED ; ; ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE ;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER ;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY ;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY ;TRANSFERRED. ; ;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT ;CORPORATION. ; ;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. ; ;Show versions of universal files %%JOBD==%%JOBD %%MACT==%%MACT %%SWIL==%%SWIL %%UUOS==%%UUOS PTHVER==3 ; DEC VERSION PTHMIN==1 ; DEC MINOR VERSION PTHEDT==30 ; DEC EDIT NUMBER PTHWHO==0 ; WHO LAST EDITED LOC .JBVER VRSN. (PTH) ; VERSION NUMBER TO JOB DATA AREA RELOC SUBTTL Revision history COMMENT ` [1] 26-Mar-79 The sequence .PATH .CONTINUE caused I/O to unassigned channel. Make CONTINUE act the same as REENTER. [2] 12-May-79 Change the logical name code to know about the new format for the logical name block. [3] 29-May-79 If PATH gets an error return trying to do a /CLEAR, it loops forever retrying the UUO. Give up with an appropriate message if the /CLEAR fails [4] 07-Aug-79 If /PHYSICAL is applied to any component in a logical name definition, PATH will ignore any existing logical name in performing the substitution for the component. [5] 21-Aug-79 In search list switches where the user types a * with no modifiers (e.g., NOCREATE), keep the existing modifier bits for each structure represented by the *. [6] 15-Nov-79 APLSTK was AOBJNing on the wrong AC sometimes causing a loop. Correct the AC. [7] 06-Dec-79 "pa/mod:dskb:write" (note the lower case) would result in "?PTHUSM Unknown structure modifier 7RITE" Call .SIXSW instead of .SIXSC. [10] 18-Jun-80 Change the job search list before changing the default path so the user can do both in the same command if the SFDs in the path only exist on the structure being added. [11] 18-Jun-80 Change the processing of /SEARCH and /LIB to reflect the new monitor algorithm. [12] 09-Jul-80 Change the search list switch processing routines to do the REMOVEs then the ADDs and finally the MODIFYs. This allows commands of the form .PATH/REM:DSKG/ADD:DSKG which causes DSKG to be moved to the end of the current search list. ;Start version 2 here [13] 30-Sep-81 Change the definition of logical names to allow filenames and extensions to be specified. Also implement /OVERRIDE and /COMMAND. [14] 30-Sep-81 If the user specifies no path in a component for a logical name, zero the PPN word of the component in the logical name block and let the monitor fill it in. ;Revision history continued [15] 01-May-82 If the user defined a logical name with the [,...] construct, type the logical name back at him with [,] instead of filling in the PPN. [16] 22-Mar-83 Remove the /COMMAND function since that is now provided by another program. Start version 3 here [17] 01-Sep-83 Change over to use RDH's SCAN. [20] 17-Nov-83 Add .PA=DEV: construct to change path and add a structure if needed. [21] 22-Nov-83 Fix bug with defaulting strs in names to DSK: caused by [17]. [22] 03-Feb-84 Add the /UP and /DOWN switches for easy SFD level changes in default paths. [23] 22-Apr-84 Add the < and > constructs for easy use of UP and DOWN type features. [24] 29-Aug-84 .PA XX:=XPN:/L listed all pathological names, rather than just XX:. [25] 30-Aug-84 Improve speed of /ADD by changing the default path into UFD level during the STRUUO (when safe). Start version 3A here. [26] 2-Dec-86 Update to handle MCO 13170 by allowing <> commands. [27] 2-Dec-86 Make the up and down characters be assembly parameters. [30] 3-Dec-86 Fix the the <> commands handle errors. ` ; End revision history SUBTTL Symbol definitions ;AC definitions ; F==0 ; FLAGS T1==1 ; FIRST OF FOUR TEMPORARIES T2==2 T3==3 T4==4 P1==5 ; FIRST OF FOUR PRESERVED REGISTERS P2==6 P3==7 P4==10 N==P3 ; SCAN CONVENTION C==P4 ; SCAN CONVENTION P==17 ; PDL POINTER ; ;Miscellaneous definitions ; ND .PDLEN,100 ; LENGTH OF PDL ND DEBUG$,0 ; NO DEBUG FEATURES ND CH$UP,074 ; LEFT-ANGLE ND CH$DWN,076 ; RIGHT-ANGLE TTY==1 ; TTY CHANNEL ;Flag bits in F ; FL.ERR==1B0 ; FATAL ERROR ENCOUNTERED FL.WRN==1B1 ; WARNING MESSAGE ISSUED FL.TEL==1B2 ; INFORMATIVE MESSAGE ISSUED FL.SDP==1B3 ; USER TYPED SOMETHING REQUIRING NEW DEFAULT PATH FL.SAP==1B4 ; USER TYPED SOMETHING REQUIRING NEW ADDITIONAL PATH FL.SLN==1B5 ; USER TYPED SOMETHING REQUIRING LOGICAL NAME FL.JSL==1B6 ; USER TYPED SOMETHING REQUIRING NEW SEARCH LIST FL.SSL==1B7 ; USER TYPED SOMETHING REQUIRING NEW SYSTEM SEARCH LIST FL.UFD==1B8 ; CHANGED TO UFD FOR /ADD SPEED HACK FL.RDP==1B9 ; PTSDP CONTAINS CURRENT DEFAULT PATH FL.RAP==1B10 ; PTSAP CONTAINS CURRENT ADDITIONAL PATH FL.CLN==1B11 ; USER WANTS TO CHANGE A LOGICAL NAME FL.GSO==1B12 ; USER TYPED GLOBAL SWITHES ONLY FL.LSN==1B13 ; USER WANTS TO LIST A LOGICAL NAME FL.FST==1B14 ; GENERAL FLAG USED TO INDICATE 1ST TIME SOMETHING HAPPENS FL.TOF==1B15 ; TTY OPEN FAILED, USE OUTCHRS FL.SLS==1B16 ; USER TYPED AT LEAST ONE SYS SEARCH LIST SWITCH FL.JLS==1B17 ; USER TYPED AT LEAST ONE JOB SEARCH LIST SWITCH FL.CSL==1B18 ; ALREADY COPIED CURRENT SEARCH LIST INTO NEW SL FL.RSP==1B19 ; RESCAN SUCCEEDED, DON'T PROMPT FL.RSF==1B20 ; RESCAN FIRST CALL (LIT ONLY FOR ONE CALL) FL.PRM==1B21 ; SECOND PROMPT VIA TSCAN FL.RSN==1B22 ; FIRST SCAN CALL WHEN RESCAN FAILED ; ;The following flags are stored in L.LIST by SCAN when it processes ;the /[NO]LIST switch. They are then moved to F for processing. ; FL.LST==1B<^D36-> ; LIST THINGS IN CONTEXT OF COMMAND (/L) FL.LAL==1B<^D36-LSWALL> ; LIST EVERYTHING (/L:ALL) FL.LLN==1B<^D36-LSWNAMES> ; LIST LOGICAL NAMES (/L:NAMES) FL.LSS==1B<^D36-LSWSSL> ; LIST SYSTEM SEARCH LIST (/L:SSL) FL.LJS==1B<^D36-LSWJSL> ; LIST JOB SEARCH LIST (/L:JSL) FL.LPT==1B<^D36-LSWPATH> ; LIST PATH (/L:PATH) FL.LCG==1B<^D36-LSWCHANGE> ; LIST THOSE THINGS THAT HAVE CHANGED (/L:CHANGE) FL.LSW==FL.LLN!FL.LSS!FL.LJS!FL.LPT!FL.LCG ; ALL LIST FLAGS MINUS FL.LST AND FL.LAL SUBTTL Macro definitions ;The following symbols define the error option selected by the third ;argument to the ERROR, WARN, and TELL macros. ; EO.NUL==0 ; NO OPTION GIVEN EO.STP==1 ; STOP PROGRAM ON THIS ERROR EO.NCR==2 ; NO CRLF AT END OF THIS MESSAGE EO.MAX==2 ; MAX NUMBER OF ERROR OPTIONS ;Macro to type a fatal error message. The arguments are: ; ; PRFX - Error prefix, e.g., the XXX in ?PTHXXX ... ; FIRST - The message to be typed ; OPTION - Error option; may be STOP, NOCRLF, or blank ; LABEL - Label to jump to after message is issued ; DEFINE ERROR (PRFX,FIRST,OPTION,LABEL), < ERRFLG==EO.NUL IFIDN