Google
 

Trailing-Edge - PDP-10 Archives - bb-d549g-sb - wld5.doc
There are no other files named wld5.doc in the archive.


WILD.DOC -- Changes from version 4 to 5
November, 1973

Copyright 1973, Digital Equipment Corp., Maynard, Mass.





1.0 SUMMARY

1.1    This  release  adds  the   capability   of   handling
       wild-cards  in  the  output (or secondary input) file
       specifications.  It also supports the DATE75  project
       and  adds  support for the new switches /ERPROTECTION
       and /OKPROTECTION.  WILD version 5 corrects all  SPRs
       received through October 10,1973 (10-11421).

1.2    WILD version 5 runs on all  monitors.   It  has  been
       tested on 5.06.  There are no known deficiencies.

1.3    WILD  version  5  is  documented  implicitly  in  the
       software  notebook description of DIRECT, and briefly
       in  chapter  one  of  the  system   command   manual.
       Supporting  documentation  can  be  found in the .DOC
       files for SCAN version 4 and DIRECT version 3.

1.4    Function of WILD
       WILD is designed to be used as  a  subroutine  called
       from  any  program  which  needs to perform wild-card
       lookups on any device.  It is needed since the  logic
       for  selecting  and  reading  directories  has become
       quite involved under the 5-series monitor.  Among the
       special cases handled correctly by WILD and few other
       user-mode programs are  sub-file  directories,  NEW:,
       HLP:, SYSA:, and controller controller-class and file
       structure  abbreviations.   Most   Digital   supplied
       utilities will eventually be converted to use WILD if
       they perform wild-card operations.
WILD.DOC -- Changes from version 4 to 5               Page 2


2.0    CHANGES

123    Add a new error message "?  NO FILE NAME SPECIFIED".

124    Add routine .SCWLD  to  handle  secondary  wild-cards
       such as output files.

125    Simplify checks for end of directory list.

126    At location WILDK, replace the HALT with  a  JRST  to
       recover from read errors in the directory.

127    Add routines E.LKEN and  .TFILB  as  general  purpose
       SCAN style typeout blocks.

130    Create a dummy module, WILDDM, which  defines  a  low
       segment the same size as WILDs.  This will be updated
       each release.

131    In .SCWLD, if the input and output files are for  the
       same  owner,  set  the  default  protection to be xyy
       where x is from the system standard  file  protection
       and yy is from the input file.

132    Support the DATE75 project when checking the  /BEFORE
       and /SINCE switches.

133    Support the /OKPROTECTION and /ERPROTECTION switches.
       /OKPROTECTION   suppresses   protection  check  error
       messages.  This is the default if the UFD is wild.

134    Correct error in edit 127.

135    Handle device NUL: correctly.  NUL: is considered  to
       be a non-directory device for callers of WILD.

136    (SPR 10-10819) Fix a bug  in  the  DECtape  directory
       logic  for  wild-carding which omitted the first file
       of the directory.

137    Type  the  correct  directory  when  the  UFD  has  a
       protection  error  and the user was trying to specify
       the directory itself.

140    Change all error messages to have a unique prefix  of
       six  letters starting with WLD.  The message prefixes
       are:
          DEM     %directory is empty
          DFO     ?open failure for xxx in use by job nnn
          IOE     %error while reading file
          IWC     ?insufficient wild-cards in input for
          output
          LKE      lookup/enter failure (or mnemonic
          message)
          LKP     %lookup failure (or mnemonic message)
WILD.DOC -- Changes from version 4 to 5               Page 3


          NDO     ?null name in output wild-card
          NFS     ?no file name specified
          NNO     ?null directory in output wild-card
          NSD     %no such directory
          NSF     %no such files as
          NXD     %non-existent ufd
          NXU     %non-existent ufd
          SCO     ?open failure on xxx in use by job nnn
          SLE     %search list empty for device
       Each error message has a local symbol defined of  the
       form E$$xxx where xxx is the unique error suffix.

141    (SPR 10-11421) Verify that /STRS  and  /PHYSICAL  are
       the   same   on   all   files   of   a   concatenated
       specification.

142    Correctly store for the caller  the  pointer  to  the
       matching input file spec.
WILD.DOC -- Changes from version 4 to 5               Page 4


3.0    KNOWN BUGS AND DEFICIENCIES

       None.










4.0    CHANGES IN INSTALLATION INSTRUCTIONS

       None.










5.0    SUGGESTIONS

       Read the directories via super USETI if possible  for
       better  speed.   This  would  also allow a pack to be
       read when not mounted as a structure.

       Support a switch to control SFD  scanning,  going  to
       LIB:   and  SYS:.   This  would  override  the  job's
       default.

       When user specifies "SYS:"  and  has  NEW:   enabled,
       wild-card over both [1,4] and [1,5].

       Make the routine which outputs "IN USE BY JOB  n"  be
       generally available.

       When  the  user   specifies   "ALL:",   exclude   any
       single-access structures which he does not own.

       Extend the error message routines to include all  the
       components of a concatenated specification.  
WILD.DOC -- CHANGES FROM VERSION 3 TO 4               Page 5


                   EXTRACTS FROM WLD4.RND





2.0    CHANGES

100  (INTERNAL) CHANGE TO USE .FX SYMBOLS FROM SCNMAC.

101  USE FX.DFX TO FLAG MFD FIXUPS (USER SPECIFIES EXTENSION
     .UFD).   THIS  GIVES  THE  CONSISTENT INTERPRETATION OF
     FILE  NAME  BEING  IGNORED  AND  DIRECTORY   USED   FOR
     EXTENSION  .UFD.   ALSO,  CORRECT  THE  CODE  TO HANDLE
     SYS:.UFD, ETC., CORRECTLY.

102  REMOVE A  GLITCH  WHICH  PROHIBITED  RE-ENTRY  AFTER  A
     NON-DISK  DEVICE  IS  USED.   BEFORE  THIS  CHANGE, THE
     CALLER HAD TO UPDATE THE INITIAL  POINTER  AND  RESTART
     WILD.

103  ALLOW BOTH FX.ADD  AND  .FXTRO  FOR  THE  INCLUSIVE  OR
     FUNCTION.   THIS  LAYS THE GROUND-WORK TO SWITCH TO "!"
     AS THE INCLUSIVE OR SPECIFICATION  IN  MATCHING  RATHER
     THAT "+".

104  (SPR 10-7182) ADD DEFENSIVE HALT IN CASE  LH(DIRECTORY)
     IS  ZERO.  THIS CAN BE CAUSED ONLY BY AN INTERNAL ERROR
     OR BY A FILSER BUG.

105  (INTERNAL) REPLACE THE INTERN STATEMENTS BY "::".

106  USE THE CORRECT EXTENSION IN THE LOOKUP ERROR MESSAGE.

107  ADD HANDLING OF WILD-CARDS ON  DEC-TAPE.   HANDLING  OF
     NON-DISK  DEVICES  IS  ENABLED  BY  A  NEW  BIT  IN THE
     ARGUMENT BLOCK.  WHEN SET, THE OPEN AND  LOOKUP  BLOCKS
     ARE  SETUP  FOR  ALL  DEVICES.   THE NON-SKIP RETURN IS
     TAKEN ONLY WHEN THE REQUESTS ARE FINISHED.

110  CORRECT SUBSCRIPTING IN E.DFL ROUTINE.

111  FOR  MAG-TAPES,  SET  OPEN  BLOCK  DEPENDING  UPON  THE
     /DENSITY AND /PARITY SWITCHES.

112  CHANGE /BEFORE AND  /SINCE  LOGIC  TO  CONSIDER  -1  AS
     DEFAULT BEHAVIOUR.

113  IF THE USER'S PROJECT NUMBER IS GREATER THAN 7, AND THE
     TARGET  DIRECTORY  PROJECT IS LESS THAN 10, THEN IF THE
     USER TYPED "*" FOR PROJECT AND NOT "*"  FOR  PROGRAMMER
     NUMBER REJECT THE MATCH.  THIS SUPPORTS THE NOTION THAT
     FOR  PROJECTS  BELOW  10,  THE  PROGRAMMER  NUMBER   IS
     INDEPENDENT  OF  THOSE  ABOVE  10.  IN PARTICULAR, WITH
     LIBRARIES, ETC., BEING DEVELOPED FOR PROJECTS BELOW 10,
WILD.DOC -- CHANGES FROM VERSION 3 TO 4               Page 6


     USERS  LOOKING  FOR  THEIR FILES IN ALL PROJECTS SHOULD
     NOT SEE THESE FILES.  IF EITHER THE PROJECT IS EXPLICIT
     OR  THE  PROGRAMMER  IS  "*", THEN THE OLD BEHAVIOUR IS
     INDICATED.  THUS, [*,*] WILL STILL  SEARCH  ALL  UFD'S.
     NOTE   THAT  [?,X]  WILL  MATCH  PROGRAMMER  X  IN  ALL
     DIRECTORIES BELOW PROJECT  10.   NOTE  ALSO,  THAT  THE
     BEHAVIOUR FROM [1,2] IS UNAFFECTED.

114  HANDLE  [1,1].UFD  CONSISTENT  WITH  THE   OTHER   .UFD
     HANDLING.     THIS    ELIMINATES    THE   NOTATION   OF
     #X0000YY.UFD[1,1].

115  CORRECT A BUG  IN  THE  MFD  CHKACC  LOGIC.   THIS  WAS
     UNCOVERED  BY  A  BUG IN TWICE WHICH CAUSED STRANGE UFD
     PROTECTIONS, BUT THE CODE SHOULD BE CORRECT ANYWAY.

116  CORRECT BUG INTRODUCED BY 107.

117  ADD  ENTRY  POINT  .CHKTA  FOR  DIRECT  TO  CHECK   THE
     BEFORE/SINCE SWITCHES ON MAGTAPES.

120  CHANGE THE MODULE NAME FROM "WILD" TO ".WILD" TO  AVOID
     ANY NAME CONFLICTS.

121  ADD SYMBOLS ".WILDZ" AND ".WILDL"  FOR  THE  START  AND
     LENGTH OF THE LOW SEGMENT AREA.

122  HANDLE NO MFD MESSAGE GRACEFULLY ("NON-EXISTENT MFD  ON
     XXX:").
WILD.DOC -- CHANGES FROM VERSION 2 TO 3               Page 7


                   EXTRACTS FROM WLD3.RND





THE ONLY CHANGE IS TO CORRECT ONE BUG.  THIS BUG CAUSED WILD
TO SKIP THE LAST FILE IN EACH BLOCK OF THE DIRECTORY.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2       Page 8


                   EXTRACTS FROM WLD2.RND





2.0 EXTERNAL CHANGES

2.1 USER (CONSOLE) CHANGES

2.1.1  SUB-FILE  DIRECTORIES  ARE   FULLY   SUPPORTED.    IN
PARTICULAR,  UP  TO FIVE SFDS MAY BE SPECIFIED FOLLOWING THE
PROJECT,PROGRAMMER NUMBER.  THESE SFDS MAY  INCLUDE  BOTH  *
AND  ?   WILD  CARDS.   THE  SFDS  ARE  SPECIFIED  IN SIXBIT
SEPARATED BY COMMAS.  THUS, FOR EXAMPLE,  TO  REFER  TO  THE
FILE  NAMED  FOO.MAC WITHIN SFD XYZ WHICH RESIDES IN SFD ABC
IN AREA [10,612], ONE TYPES "FOO.MAC[10,612,ABC,XYZ]".

2.1.2  THE  DEFAULT  DIRECTORY  SET  BY  SETSRC   IS   FULLY
SUPPORTED.   THIS  IS NORMALLY INVOKED BY NOT SPECIFYING THE
DIRECTORY IN THE COMMAND.  IF IT IS DESIRED TO  SPECIFY  THE
DEFAULT  DIRECTORY  EXPLICITLY,  THE  NOTATION  "[-]" MAY BE
USED.

2.1.3 FOR CONVENIENCE, A DIRECTORY REFERENCE TO A  DIRECTORY
IN  THE  USER'S PROJECT OR HIS PROGRAMMER NUMBER MAY BE LEFT
BLANK.  THUS [,7] WHEN LOGGED IN AS [10,612], MEANS  [10,7].
SIMILARLY, [11,] WOULD MEAN [11,612].  THIS ALSO CAN BE USED
WITH  SFDS,  SO  THE  EXAMPLE  IN  2.1.1  CAN  BE  TYPED  AS
"FOO.MAC[,,ABC,XYZ]".   IF  THE DEFAULT DIRECTORY IS NOT THE
USER'S LOGGED IN UFD, HIS UFD CAN BE  REFERENCED  AS  "[,]".
NOTE  THAT  THESE NOTATIONS USE THE USER'S LOGGED IN PROJECT
PROGRAMMER NUMBER, NOT HIS DEFAULT DIRECTORY.

2.1.4 A  DEFICIENCY  IN  VERSION  1  HAS  BEEN  FIXED.   THE
NOTATION  "+" IS USED TO COMBINE SEVERAL SPECIFICATIONS INTO
ONE WILD CARD SCAN.  IT  REPRESENTS  AN  OR  FUNCTION.   FOR
EXAMPLE,  A.B+C.D  MEANS  ANY  FILE  NAMED  A.B  OR C.D.  IN
VERSION 1, THIS DID NOT WORK FOR  UFDS.   IN  VERSION  2  IT
WORKS FOR ALL CASES.

2.1.5  (SER  1567)  WILD  NOW   HANDLES   CONTROLLER   CLASS
ABBREVIATIONS,   CONTROLLER   ABBREVIATIONS,  AND  STRUCTURE
ABBREVIATIONS.  THIS IS FULLY  COMPATIBLE  WITH  THE  FILSER
INTERPRETATION OF THESE ABBREVIATIONS.

2.1.6 REPORTING OF DIRECTORY LOOKUP ERRORS  IS  DEFERRED  TO
THE  END  OF  LOOKING AT ALL STRUCTURES.  THUS, IF AN SFD OR
UFD IS MISSING ON ONE  STRUCTURE,  BUT  PRESENT  ON  ANOTHER
STRUCTURE,  NO  ERROR WILL BE GENERATED.  THIS IS COMPATIBLE
WITH THE FILSER INTERPRETATION.

2.1.7 THE OPEN FAILURE MESSAGE NOW INCLUDES A QUESTION  MARK
TO  MAKE  IT  FATAL.   IF POSSIBLE, IT ALSO INCLUDES THE JOB
NUMBER OF THE JOB WHICH IS USING THE DEVICE.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2       Page 9


2.1.8 THE FILSER LOOKUP ERROR CODE 24  IS  SUPPORTED.   THIS
CODE  HAPPENS  IF  THE  JOB'S  SEARCH  LIST  IS EMPTY.  WILD
VERSION 1 DETECTED THIS ITSELF FOR WILD CARD LOOKUPS, BUT IT
DEPENDS ON FILSER IF NO WILD CARDS ARE INDICATED.

2.1.9 THE DIRECTORY WILD CARDING WORKS AS FOLLOWS.   A  FILE
IS  A MATCH ONLY IF IT APPEARS AT THE DEPTH INDICATED BY THE
DIRECTORY SPECIFICATION OR IF  0  MATCHES  THE  NEXT  DEEPER
DIRECTORY   SPECIFICATION.    THUS,   IF   THE   USER  TYPES
"[1,2,A,*,C]", FILES WILL MATCH ONLY  IN  [1,2,A]  (SINCE  0
MATCHES  *)  AND  IN  [1,2,A,*,C]  (SINCE THIS IS THE BOTTOM
LEVEL).

2.1.10 SPECIAL HANDLING IS PERFORMED WHEN THE USER SPECIFIES
.UFD AS THE EXTENSION.  IN THIS CASE, THE PROJECT-PROGRAMMER
NUMBER FROM THE DIRECTORY (AFTER DEFAULTING) IS  SUBSTITUTED
FOR  THE  FILE  NAME  AND THE DIRECTORY IS SET TO BE THE MFD
(1,1).

2.1.11 WHEN THE MONITOR DOES A LOOKUP  ON  DEVICES  SUCH  AS
SYS:  OR HLP:, IT IGNORES THE DIRECTORY SPECIFICATION UNLESS
IT TURNS OUT TO BE A LOGICAL DEVICE  NAME.   WILD  DOES  THE
SAME THING.










2.2 CALLER (PROGRAM) CHANGES

2.2.1 WILD NOW OBSERVES THE  STANDARD  CALLING  CONVENTIONS.
ACS  1-4 ARE TEMP AND 5 IS PRESERVED.  PARAMETERS ARE PASSED
TO IT VIA A POINTER IN AC 1.  THE INDEX TO  THE  SCAN  BLOCK
WHICH  MATCHED  THE REQUEST IS STORED IN A LOCATION SELECTED
BY THE CALLER.

2.2.2 WILD HAS BEEN  UPDATED  TO  USE  THE  REVISED  TYPEOUT
ROUTINES  IN  SCAN VERSION 2.  THE CALLING SEQUENCE TO THESE
ROUTINES HAS BEEN CHANGED TO PASS THE VALUE IN AC 1.

2.2.3 DIRECTORIES ARE LISTED  BY  CALLING  THE  NEW  ROUTINE
(.TDIRB) IN SCAN VERSION 2.  THIS ROUTINE HANDLES SFD FORMAT
AND SCAN FORMAT FOR THE TYPEOUT.

2.2.4 ALL DIRECTORY READING IS NOW ON CHANNEL  0,  WHICH  IS
ASSUMED  TO  BE  A  SCRATCH  CHANNEL.   BECAUSE OF THIS, ALL
DIRECTORIES ARE READ IN DUMP MODE.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2      Page 10


2.2.5 THE DATA READ ROUTINE  (.NXDTW)  NOW  USES  A  CHANNEL
SELECTED  BY  THE  CALLING PROGRAM.  THE DATA CHANNEL IS NOW
OPENED BY THE CALLER.

2.2.6  THE  FLAG  (.WLDFL)  WHICH  INDICATES  WILDCARD   VS.
MULTIPLE  STRS  VS.  SIMPLE LOOKUP, NOW HAS A FOURTH STATE--
VALUE -2 MEANS BOTH MULTIPLE STRS AND WILDCARD.

2.2.7 THE LOOKUP BLOCK IS  NOW  RETURNED  IN  A  CORE  BLOCK
POINTED  TO  FROM  THE  ARGUMENT  BLOCK.   THIS  IS SETUP IN
STANDARD EXTENDED LOOKUP FORMAT.

2.2.8 A ROUTINE (.CHKTM) HAS BEEN ADDED WHICH WILL  VALIDATE
THE  FILE'S  CREATION  TIME AND DATE AGAINST THE /BEFORE AND
/SINCE  SWITCHES  FROM  SCAN.   (THESE  SWITCHES   ARE   NOT
SUPPORTED IN SCAN VERSION 2).










5.0 INTERNAL CHANGES

5.1 C.MAC AND  SCNMAC.MAC  ARE  USED  FOR  ALL  MONITOR  AND
PARAMETER SPECIFICATIONS.

5.2 ALL DIRECTORY READS ARE VALIDATED  BY  THE  CHKACC  UUO.
THIS REMOVES A DEFICIENCY IN QUEUE WHICH ALLOWED THE USER TO
LIST PROTECTED DIRECTORIES.  THUS WILD CAN NOW  BE  USED  IN
ANY PROGRAM RUNNING WITH JACCT TURNED ON.

5.3 THE INDEX POINTER TO THE FILE SPEC AREA IS NOW IN P1 (AC
5).

5.4 THE DIRECTORY READING CODE HAS BEEN REWRITTEN.   IT  NOW
HANDLES  UFDS AND SFDS IN ONE ROUTINE.  WHEN A UFD OR SFD IS
FOUND, THE SEARCH WILL DROP  DOWN  INTO  THAT  DIRECTORY  IF
THERE  IS ANY POSSIBILITY FOR A MATCH.  AT END OF DIRECTORY,
THE  SEARCH  WILL  RETURN  UP  ONE  LEVEL.   LEVELS  OF  THE
DIRECTORY  WITHOUT  WILDCARDS WILL AVOID THE SCAN AND ASSUME
THE RESULT IMMEDIATELY.

5.5 NO SPRS HAVE BEEN RECEIVED.   THE  ONLY  SER  WAS  1567,
WHICH IS ANSWERED.

5.6 WHEN WILD IS DONE WITH A DIRECTORY, IT DOES A CLOSE  100
SO  THE  MONITOR WILL DELETE THE ACCESS TABLES.  THIS SHOULD
DECREASE INTERFERENCE IN THE DORMANT ACCESS TABLES.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2      Page 11


[END OF WILD.DOC]