Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-12 - 43,50553/fndfil.doc
There are no other files named fndfil.doc in the archive.


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X                                                                            X
X  1. Adjust paper position so that dark frame on this page is               X
X     copied centered on paper 8.5 inches wide by 11 inches                  X
X     high.                                                                  X
X  2. Copy all remaining pages of document in same manner.                   X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
X                                                                            X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX








                         THEFNDFILUSERSG    THEFNDFILUSERSG
                         E          S  S    E  E          S
                         DETHE  DFILU  R    D  H  NDFILUSER
                             H  NDFIL  E    I  T  F
                             T  FNDFI  SERSGU  E  EFNDFI
                             E  EFNDF          D       F
                             D  HEFND  LUSERS  I  THEFND
                             I  THEFN  ILUSER  U  E
                             U  ETHEF  FILUSE  G  DETHEFNDF
                             G  DETHE  DFILUS  S          D
              DETHEFNDFILUS  SGUIDETHEFNDFILUSERSGUIDETHEFNDFILU
              I        F  US   G  D      DFIL        D      D  L
              U  ETHEFND   US  S  I  THEF  FI  SERSGUIDE  EFN  I
              G  DETHEFN    US R  U  ETHEF  F  USERSGUID  HEF  F
              S  IDETHEF  F  USE  G  DETHE  D  LUSERSGUI  THE  D
              R       HE  DF  US  S  IDETH  N       RSGU  ETH  N
              E  GUIDETH  NDF  U  R  UIDET  F  FILUSERSG  DET  F
              S  SGUIDET  FNDF    E  GUIDE  E  DFILUSERS  IDE  E
              U  RSGUIDE  EFNDF   S  SGUI  TH  NDFILUSER  UID  HEFNDFI
              L  ERSGUID  HEFNDF  U      IDET  FNDFILU      I        F
              ILUSERSGUIDETHEFNDFILUSERSGUIDETHEFNDFILUSERSGUIDETHEFND
              F  USERSG  DETH       U          H       USERSGU       N
              D  LUSERS  ID  HEFNDFIL  ERSGUIDET  FNDFI  SER  UIDETHEF
              N  ILUSER  U  ETHEFNDFI  SERSGUIDE  EFNDFI  S  SG
              F  FILUSE  GU  ETHEFNDF  USERSGUID  HEFND  LUS  SGUID
              E  DFILUS  SGUI    EFND       SGUI       DFILUSE    IDE
              H  NDFILU  RSGUIDET  FN  ILUSERSGU  ETH  NDFILUSERSG  DE
              T  FNDFIL  ERSGUIDET  F  FILUSERSG  DETH  NDFILUSERSG  D
              ET  FNDF  USERSGUID  HE  DFILUSERS  IDETH  NDFILUSER  UI
               ETH    FILU       DETH          R  UIDETH  N       RSG
                 THEFNDFILUSERSGUIDETHEFNDFILUSERSGUIDETHEFNDFILUSER
                 ETH       U  RSGUID  H      L       IDET          E
                ID  HEFNDFIL  ERSGUI  THE  DFI  SERSG  DE  EFNDFILUS
                U  ETHEFNDFI  SERSGU  ETH  NDF  USERSG  D  H
                G  DETHEFNDF  USERSG  DET  FND  LUSERS  I  THEFND
                S  IDE     D  LUSERS  IDE  EFN  ILUSER  U       N
                R  UIDETH  N  ILUSER  UID  HEF  FILUSE  G  DETHEF
                E  GUIDET  F  FILUSE  GUI  THE  DFILUS  S  I
                SE  GUIDE  EF  FILU  RSGU  ETH  NDFIL  ER  UIDETHEFN
                 SER       HEFN    USER      T       LUSE          F
                   ERSGUIDETHEFNDFILUSERSGUIDETHEFNDFILUSERSGUIDETHE



                      The FNDFIL Installation and User's Guide

                                  Donald E. Barth

                                      1-Oct-84














                           Table of Contents
                           ----- -- --------


      Introduction  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1

      Instructions for Using the FNDFIL Program   .  .  .  .  .  2

      Names of the Directory Files and Tapes   .  .  .  .  .  . 10

      Instructions for Using the PAKDIR Program   .  .  .  .  . 13

      Using Batch Control Files to Run PAKDIR  .  .  .  .  .  . 16

      Resubmitting the Monthly PAKDIR Control File   .  .  .  . 17

      Instructions for Installation and Testing   .  .  .  .  . 18

      Description of the Compacted Directory Files   .  .  .  . 21

      List of Files Included in This Package   .  .  .  .  .  . 23

      FNDFIL Program Development History .  .  .  .  .  .  .  . 25




                                    INTRODUCTION
                                    ------------

      FNDFIL is a program which can be used to locate old  versions  of  files
      which have been copied from the disk structures to magnetic tapes at the
      end of each month, or at times set by  some  other  repeating  schedule.
      The  owner  of  the files specifies whatever is known about the names of
      the files and about when and where these files existed.  Directory files
      must  be  available on-line which contain a list of the files which were
      saved on each of the sets  of  tapes.   The  FNDFIL  program  reads  the
      directory files which list the files saved during the indicated range of
      dates, or which were on the specified private  structures,  and  reports
      all of the saved files matching the specifications stated by the user.

      A directory file containing a complete list of the files which are on  a
      particular set of tapes can be produced either when the files are saved,
      or later using the system  DIRECT  program.   However,  these  directory
      files contain information which is not needed by FNDFIL as well as extra
      spaces or tab characters to  align  the  information  into  columns.   A
      program  named  PAKDIR  is used to extract the information which will be
      needed by  FNDFIL  from  these  directory  files.   PAKDIR  copies  this
      information  in  a more compact form into files which will be read later
      each time that FNDFIL is used.  The files produced by PAKDIR are  stored
      in  a central system disk directory from which they can be accessed from
      any individual user's account.  The compacted  directory  files  can  be
      edited   using   an  interactive  text  editor,  although  this  is  not
      recommended.

      FNDFIL and PAKDIR are DECsystem10 programs which are written in FORTRAN.
      These  programs would have to be modified before they could be used on a
      DECsystem20 since files and disk directories are  named  differently  on
      the DECsystem20.

      The FNDFIL program was written assuming that files on  the  public  disk
      structures are saved according to the following schedules.

      1.  All newly modified files are copied onto tape  once  each  day,  and
          these  tapes  are  recycled  after a week.  There would be at most 7
          sets of these tapes, 1 for each day of the week.  It does not matter
          if  such tapes are not created on the weekend or on the day when the
          weekly save tapes are written.

      2.  All files modified during the past week are copied onto tape at  the
          end  of the week, and these tapes are recycled after a month.  There
          would be at most 5 sets of these tapes, 1 for each possible  weekend
          in  the  month.   Following  a  month which only had 4 weekends, the
          fifth set of tapes would still contain the files  saved  during  the
          final weekend of the previous month which had a full 5 weekends.

      3.  All files, whether recently modified or not, are copied onto tape at
          the  end  of each month, and these tapes are kept for several years.
          There would be 12 sets of these tapes for each year.

      4.  In addition, the entire contents of each  disk  pack  which  can  be
          mounted   on   the   private   disk  drives  are  copied  onto  tape
          periodically, but no previous sets  of  these  tapes  are  retained.
          There  would  be  as  many  sets of these tapes as there are private
2                               The FNDFIL Installation and User's Guide


    packs.  This schedule could also  be  used  for  private  structures
    which are permanently mounted.

It is assumed that the date when a particular set of monthly tapes  will
be  recycled is based upon the month when that set of tapes was written.
January, April, July and October tapes are kept 3 years.  February, May,
August  and  November tapes are kept 4 years.  March and September tapes
are kept 5 years.  June and December  tapes  are  kept  10  years.   The
portion  of the FNDFIL program which determines whether a particular set
of monthly tapes is still available will have to be changed slightly  if
the monthly tapes are recycled according to a different schedule.

The PAKDIR program can process directory files  written  by  either  the
BACKUP  program  or  the  DIRECT program.  The columns from which PAKDIR
extracts the file names, their lengths and  their  creation  dates,  and
perhaps how PAKDIR evaluates these dates, will have to be changed if the
original directory files are written  using  a  different  format.   The
files  read  by the FNDFIL program must have been produced by the PAKDIR
program.  FNDFIL cannot read the original  directory  files  written  by
BACKUP or DIRECT.


               INSTRUCTIONS FOR USING THE FNDFIL PROGRAM
               ------------ --- ----- --- ------ -------

The user of the FNDFIL program selects the files which are to be located
by  specifying  whatever is known about their names, the disk structures
on which they resided, the disk directories in which they  were  stored,
and  the  dates  when  they  existed.  If the names of the files are not
known, then all files can be reported which were stored  in  the  user's
disk  directories  during  the  requested  range of dates.  For security
reasons, individual users cannot locate files which were stored in  disk
directories  which  belonged  to programmer numbers which were different
than that of the account from which  the  FNDFIL  program  is  currently
being  run.   However,  the  members  of the computer services staff can
locate files which belonged to any user.  If it is necessary  to  locate
files  which  were stored in disk directories having a programmer number
to which the user no longer has access, then a member  of  the  computer
services staff should be asked to perform the search instead.

FNDFIL can search for a particular file or for a collection  of  several
files.   The  time  which  is  needed  to perform a search is relatively
independent of the number of  files  being  located,  since  the  entire
directory  file  for each of the requested dates or for the private disk
structures must be read and processed anyway.  When specifying the  list
of  files  which are to be located, the user can type the file names and
the  disk  structures  on  which  these  files  resided  and  the   disk
directories  in  which these files were stored together on a single line
separated by commas or spaces.  Alternatively, the user can  type  these
items one to a line on as many lines as desired.  The order in which the
file names and disk structures and disk directories are entered does not
matter.   If  2  or more disk directories are specified, then any of the
files which were stored in any of the disk directories are reported.

The user indicates the date when the files probably existed by typing  a
slash  followed  by  the first 3 letters of the month name, then a colon
and the 2 right digits of the year.  For example, /JAN:84  would  select
      Instructions for Using the FNDFIL Program                              3


      files  which existed at the end of January in the year 1984.  Typing two
      such dates would indicate the first month and the final month  when  the
      files  are  thought  to have existed.  For example, /JAN:84/JUN:84 would
      select files which existed at the end of any of the months from  January
      1984  through  and  including  June 1984.  The date or date range can be
      entered on the same line as the file names and disk structures and  disk
      directories,  or  on  separate  lines  either  before or after the lines
      containing the file names and disk structures and disk directories.   If
      a  date  range  is  entered, then it does not matter which date is typed
      first, and each of the dates could even be typed  on  a  separate  line.
      The  complete  month  name and all 4 digits of the year can be supplied,
      but are not necessary.  Also, the colon does not have to appear  between
      the  month  name  and  the year.  The date range selected by the example
      shown  above  could  just  as  well  have  been   selected   by   typing
      /JUNE1984/JANUARY1984 instead.

      If an error is made in typing anything, and if leaving it in the list of
      items to be matched would cause the wrong files to be reported, then the
      item which is wrong can be removed from the list by typing  the  item  a
      second  time  exactly  as  it was typed originally.  This can be used to
      cancel disk directories, disk structures,  file  names,  dates  and  the
      /SKIM  and  /OLD  commands  which are described below.  The user finally
      types /GO to indicate that all of the items identifying the  files  have
      been entered and to cause the search to be started.  Of course, commands
      such as /GO, which cause something to be performed  immediately,  cannot
      be cancelled by typing them in a second time.

      The FNDFIL program displays a single asterisk (*) when it  is  ready  to
      accept  instructions  from the user.  The user can type as many lines of
      instructions as desired.  Another asterisk will  be  displayed  whenever
      the  program is ready to accept the next line of instructions.  However,
      the user should not type more than 132 characters before ending the line
      by  pressing the RETURN key.  If it is likely that FNDFIL will be run on
      several different occasions to search for the same files, or if the list
      of  files  is  lengthy  or  complicated, then what would have been typed
      directly into the program can instead be placed into a file and the user
      can  type  the  name  of this file together with an at sign (@) to cause
      FNDFIL to obtain its instructions from this file rather  than  from  the
      terminal.   The  at  sign  can  appear immediately before or immediately
      after the  name  of  the  file  containing  the  instructions.   If  the
      instruction  file  includes  a  line  containing a /GO command, then the
      search will be performed immediately.  If the instruction file does  not
      include  a  line  containing  a  /GO command, then, after processing the
      instruction file,  the  FNDFIL  program  will  again  display  a  single
      asterisk  and  then  will  wait  for  the  user  to  finish entering the
      instructions.  An instruction file can contain  only  a  single  set  of
      instructions.   Any  lines  in  the  instruction  file  after  the  line
      containing the /GO command will be ignored.

      The list of files which have been located by FNDFIL is  usually  written
      onto  the  controlling  terminal.  The list can instead be written to an
      output file if the user types the name of this file followed by an equal
      sign (=) character.  If a file having this name already exists, then the
      previous contents of the file will be lost.  The equal sign must  appear
      to  the  right  of the name of the output file.  The list of files to be
      located should appear either to the right of the equal sign, or  on  the
      lines following that containing the equal sign.
4                               The FNDFIL Installation and User's Guide


Disk structures and disk directories  can  be  specified  for  both  the
instruction  file  and  the  output  file.   If  a disk structure is not
specified for the instruction file, and if  more  than  1  file  of  the
indicated  name exists, then the instructions will be read from the file
which appears first in the search list of the job from which the program
is  being run.  If a disk directory is not specified for the instruction
file, then the file will be read from the disk directory  which  is  the
path  of  the current job.  If a disk structure is not specified for the
output file, then the file will be written onto the disk structure which
appears  first  in  the  search  list  of  the  current  job.  If a disk
directory is not specified for the output file, then the  file  will  be
written into the disk directory which is the path of the current job.

If, when specifying the list of files to be  located,  either  the  file
name is missing, or the disk structure is missing, or the disk directory
is missing, then all files are reported which meet  the  other  criteria
which  have  been  specified.   If  no disk structure is specified, then
files which are on any of the public disk structures  can  be  reported.
If  no file name is specified, then files will be reported regardless of
their names.  If a file name is specified, but  is  not  followed  by  a
period and a 1 to 3 character extension or suffix, then all files having
the indicated name are reported regardless of their extension.  However,
if the disk directory is not stated, and if the program is not being run
by a computer services staff  member,  then  the  files  which  will  be
reported  will be those which were stored in disk directories having the
same programmer number as the account from which the FNDFIL  program  is
currently  being  run,  or  in  any  of  the sub-file-directories (SFDs)
belonging to these same disk directories.  If the date  when  the  files
existed  is  omitted,  then  the directories of the tapes containing the
daily and weekly incremental saves will be searched instead.

For example, if FNDFIL is being run from the account [123,456]  but  the
user  does  not  explicitly  state the disk directory in which the files
were stored, then the only files which will be reported  will  be  those
which  were  stored  in  the [*,456,*] disk directories.  (The asterisks
here mean that any project number and any SFD are matched for programmer
number 456.)

If more than a single file name or more than a single disk structure  or
more  than  a  single disk directory are specified, then all files which
match any combination of these characteristics will be reported.   If  3
file  names  and  2  disk  structures are specified, no matter how these
where associated when they were typed, then all files  matching  any  of
the 3 file names on either of the 2 disk structures would be reported.

File names can consist of 1 to 6 letters or digits, optionally  followed
by  a  period  and  1  to  3 letters or digits.  The portion of the name
appearing to the right of the period is called the extension of the file
name.   If  the period is not specified in the file name, then all files
which match the first part of the name will be reported,  regardless  of
whether  the  actual  name  of  the  file includes an extension.  If the
period is specified, but an extension is not specified, then only  files
which  do  not have an extension will be reported.  If both a period and
an extension are specified, then only files which have  this  particular
extension will be reported.
      Instructions for Using the FNDFIL Program                              5


      The user can type an asterisk (*) character in place of the  portion  of
      the file name to the left of the period, or in place of the extension of
      the file name, or in place of the project number or programmer number or
      SFD  to  indicate  that  it does not matter how many and what characters
      appear in that item for the files.  If the user types  other  characters
      preceding the asterisk in the file name or extension, then the preceding
      characters must be matched, but it does not matter  what  characters  if
      any  appear  at  or  to  the  right of the position corresponding to the
      asterisk.

      The user can type a question mark (?) character in the file name  or  in
      the  disk  structure  specification  where any single character is to be
      accepted.  If the question mark is followed by some character other than
      a  question mark, then this following character must be matched exactly.
      If a question mark appears at the right end of  either  portion  of  the
      file  name,  then the preceding characters must still be matched.  There
      can be at most 1 character at the position corresponding to the question
      mark.  Question marks which appear at the right end of either portion of
      a file name thus indicate the maximum length of an  item  in  which  the
      rightmost characters do not matter.  A question mark appearing in either
      a project number or a programmer number indicates that the value of  the
      digit at this location does not matter.  Thus, a question mark appearing
      at the left end of either of these numbers indicates that  it  does  not
      matter if the number is large enough to extend into that digit, although
      the number could not extend still further to the left.

      For example, if the 4 files named ABC, ABC.JKL,  ABCDEF  and  ABCDEF.JKL
      were  stored  in  the disk directory belonging to the account from which
      the program is being run, then  typing  the  file  specifications  shown
      below  at  the  left  would  cause  the  files listed at the right to be
      reported.  This table does not include all of the possible  combinations
      of * and ? characters.

      ABC. or ???.                    gives ABC
      ABC.JKL or ???.JKL              gives ABC.JKL
      ABC or ABC.* or ???.*           gives ABC and ABC.JKL
      *. or ABC*. or ABC???.          gives ABC and ABCDEF
      *.JKL or ABC*.JKL or ABC???.JKL gives ABC.JKL and ABCDEF.JKL
      * or *.* or ABC* or ABC*.*      gives all 4 files
      ABC??? or ABC???.*              gives all 4 files

      The project numbers and programmer numbers and the SFD names, if any, of
      the  disk directories in which the files are stored must be separated by
      commas, and must be enclosed between square brackets.  Usually, the only
      files  which  can  be  located  are  those  which  were  stored  in disk
      directories which belonged to the programmer number of the account  from
      which  the  FNDFIL  program  is  currently  being  run.   However, since
      programmer numbers of 377 or less are assumed to be used by  members  of
      the  computer  services  staff, accounts having these programmer numbers
      can be used to search for files which were stored in any disk directory.
      At  most  one level of sub-file-directory (SFD) can be specified.  If an
      SFD is not specified, then the requested files for the given project and
      programmer number will be reported regardless of whether these files are
      in SFDs.  Files which are within an SFD within an SFD will  be  reported
      as though these files were in the first level of SFD.
6                               The FNDFIL Installation and User's Guide


For example, if the user having programmer number 56  has  accounts  for
projects 73 and 123, and has files stored in the disk directories

[73,56], [73,56,ONE], [73,56,TWO], [123,56], [123,56,THREE]
and [123,56,FOUR],

then typing the specifications shown below at the left would  cause  the
files in the directories listed at the right to be reported.

[73,56,ONE]  gives [73,56,ONE]
[73,56]      gives [73,56], [73,56,ONE], [73,56,TWO]
[?3,56]      gives [73,56], [73,56,ONE], [73,56,TWO]
[??,56]      gives [73,56], [73,56,ONE], [73,56,TWO]
[123,56]     gives [123,56], [123,56,THREE], [123,56,FOUR]
[?23,56]     gives [123,56], [123,56,THREE], [123,56,FOUR]
[??3,56]     gives all directories
[???,56]     gives all directories
[*,56]       gives all directories
[*,56,*]     gives all directories
[*,56,??]    gives no directories
[*,56,???]   gives [73,56,ONE], [73,56,TWO]
[*,56,????]  gives [73,56,ONE], [73,56,TWO], [123,56,FOUR]
[*,56,?????] gives all directories

The disk structure upon which the files were stored can be specified  by
typing  the name of the structure followed by a colon.  A disk structure
might be one of several different private packs which could  be  mounted
when  requested,  or  might  be  a  public  structure composed of one or
several disk packs which are always available.  If the name of a private
structure  is  specified, then files on that structure will be reported.
If the name of a private structure is specified, then  the  contents  of
the  public  structures will not be reported unless a date is specified,
or unless the /SKIM command described below  is  issued  to  search  the
directories  of  the  incremental  tapes, or unless the name of a public
structure is also  issued.   If  the  name  of  a  public  structure  is
specified,  then  files  on  other public structures which are not named
will not be reported.

For example, if the user types the instruction

DSKB:,DSKC:,[100,56],[23,56],ONE,TWO/JUN:84

or

/JUN:84 DSKC:ONE[23,56],DSKB:[100,56]TWO

or these same specifications in any other order

then all of the files which existed at the end of June of 1984 and which
had  either  of  the names ONE or TWO regardless of the suffix and which
were on either of the public disk structures DSKB: or  DSKC:  and  which
were  stored in either of the disk directories [23,56] or [100,56] would
be reported.

Several commands can be typed along with the file specifications, either
to  modify how the search will be performed, or to cause something to be
done immediately.  These commands are preceded by  slashes  to  indicate
      Instructions for Using the FNDFIL Program                              7


      that  they  are  not  themselves part of the file specifications.  These
      commands  can  be  typed  either  on  the  same  lines   as   the   file
      specifications or on separate lines.  Typically, the user would type the
      files specifications, and either a /SKIM command  and/or  1  or  2  date
      specifications,  then  issue  a  /LIST  command  to  examine the list of
      specifications.  Any item seen to be in error could then  be  corrected,
      or additional items could be added to the list of specifications.  A /GO
      command  would  finally  be  issued  to  perform  the  search  when  the
      specifications  reported  by  the /LIST command were seen to be complete
      and correct.

      The following commands can be typed along with the file specifications.

      /MMM:YY or /MMMYY (where MMM is a 3 letter month  abbreviation  such  as
              JAN  or FEB, and YY is the right 2 digits of the year) specifies
              the date of the earliest or latest monthly save  of  the  public
              disk  structures  which is to be searched.  For example, /JAN:84
              or /JAN84 would specify  files  which  existed  at  the  end  of
              January  of  1984.  If only a single date is specified, then the
              directory for only that month  is  searched.   If  2  dates  are
              specified,  then  these  dates  define the range of dates of the
              directories to be searched, and the  most  recent  of  these  is
              searched first.

              Specifying a date or issuing the /SKIM command implies that  the
              directories of the public structures are to be searched.  A date
              does not need to be specified if  the  directory  of  a  private
              structure  is  to  be  searched.   Such  a  private structure is
              indicated merely by typing the name of the structure  without  a
              slash  but  followed  by  a colon.  If both a date and a private
              structure are specified, then both the directory of the  private
              structure and the directory of the indicated monthly save of the
              public structures are searched.

      /CANCEL cancels all specifications given so far.  If this is  issued  by
              accident, then the specifications can be retrieved by typing the
              /REPEAT command.  The /REPEAT command does not  however  restore
              the  specification  of  the  output file.  If an output file was
              specified before the /CANCEL command  was  issued  by  accident,
              then  the  output  file  should  be  specified  again before the
              /REPEAT command is issued.

      /EXIT   stops the program and exits to the monitor.

      /GO     causes the search to be performed when it is typed.  All of  the
              file  specifications must have been entered correctly before the
              /GO command is typed.  If something is seen to be wrong with the
              search  after  it  has started, then the user can type control-C
              twice to stop the  program.   The  2  control-C  characters  are
              obtained  by holding down the control key and pressing the C key
              twice while still holding down the control key.   The  user  can
              then  restart  the  program by typing START and can retrieve the
              list of file specifications just entered by typing  the  /REPEAT
              command.
8                               The FNDFIL Installation and User's Guide


/HELP   displays instructions for running  the  FNDFIL  program  on  the
        controlling terminal.

/LIST   summarizes the specifications which have been  entered  so  far.
        If  any  item  is seen to be incorrect, then this incorrect item
        can be cancelled by retyping it in its incorrect form.

/OLD    allows the directories of monthly saves for which the tapes have
        since  been recycled to be searched.  The directories of sets of
        tapes which are no longer available are not searched unless  the
        /OLD command is issued.  The user will still be told which tapes
        are no longer available.

/REPEAT retrieves the specifications which were associated with the last
        search  which  was  performed  during the current running of the
        program.  The list of specifications is normally cancelled  when
        the  search  is  completed.  The retrieved specifications can be
        modified, and then the /GO command can be issued  to  perform  a
        new  search.   The  /REPEAT command can be issued to restore the
        previous instructions in any of the following situations.

        A.  If the search has been completed so that the FNDFIL  program
            has again displayed an asterisk to indicate that it is ready
            to accept another set of file specifications.

        B.  If a control-C has been typed twice during  the  search  and
            then  START  rather  than CONTINUE has been typed to restart
            the program with the newly modified core image.

        C.  If a /CANCEL command has been issued since the  last  search
            was performed.

        If some new file specifications or  other  commands  are  issued
        before   the   /REPEAT   command   is  issued,  then  these  new
        specifications and commands will be merged with those which  are
        retrieved  by  the  /REPEAT command.  However, if a date or date
        range is given before the /REPEAT command is  issued,  then  the
        previous  date  or  date  range  is  not  restored.  The /REPEAT
        command does not reselect the same output file as was  specified
        for  the previous search, since a different file name would have
        to be used if the results of the previous search are to be kept.
        If a new output file is not specified before the /REPEAT command
        is issued, then the results of the new search will be  displayed
        on  the  controlling terminal.  If the results of the new search
        are to be written into an output  file  instead,  then  the  new
        output  file  should  be specified before the /REPEAT command is
        issued.  The command line would be similar to that shown below.

        FNDFIL.DIR=/REPEAT

/SKIM   causes the directories of the current set of  daily  and  weekly
        skim  or  incremental  tapes  to  be searched.  A skim save tape
        contains only  the  most  recently  created  and  most  recently
        modified  files.   If  both  a  date  and  the /SKIM command are
        issued, then files on the daily, weekly and monthly  tapes  will
        all be reported.
      Instructions for Using the FNDFIL Program                              9


      In the dialog shown below, the user has asked FNDFIL to  report  all  of
      the  files which have names which include the letters ABC, or which have
      ABC as the file name extension, which were  stored  in  the  [1,4]  disk
      directory  or  which  were  stored  in the disk directories belonging to
      programmer 56 from March 1984 through June 1984.  It is assumed that the
      program  is being run by a member of the computer services staff so that
      files belonging to any programmer number can be located.   Although  the
      /GO  command  must appear last, the disk directories, dates and files to
      be located could have been entered in any order and  on  any  convenient
      number  of lines.  In this dialog, the user typed the text which appears
      to the right of the leading asterisks.  The user  entered  an  incorrect
      file  name  extension  in the dialog and then corrected this error.  The
      comments enclosed within parentheses to the right of the dialog describe
      how this error was corrected.

      .R FNDFIL
      FNDFIL (05/84)
      Type /HELP for instructions
      *[1,4],[*,56]ABC*,?ABC*,??ABC*,???ABC,.ABD
      */LIST
      Ownr: 1,4,??????
      Ownr: ??????,56,??????
      File: ABC???.???
      File: ?ABC??.???
      File: ??ABC?.???
      File: ???ABC.???
      File: ??????.ABD                   (this item is wrong)
      *.ABD                              (command to remove error)
      Omit: ??????.ABD                   (confirmation of removal)
      *.ABC                              (retyping correct item)
      */MAR84/JUN:84
      */LIST
      Ownr: 1,4,??????
      Ownr: ??????,56,??????
      File: ABC???.???
      File: ?ABC??.???
      File: ??ABC?.???
      File: ???ABC.???
      File: ??????.ABC
      Date: MAR:84 to JUN:84
      */GO
      Searching monthly full save directories
       MB0539 DSKA:  ZZZABC.EXE  156 30-MAY-84 [1,4]
       MB0539 DSKA:  ZZZABC.CBL  163 30-MAY-84 [7777,56,CBL]
       MB0543 DSKB:  GRABC .RNO   25 29-MAY-84 [26,56]
       MB0543 DSKB:  GRABC .DOC   47 12-JUN-84 [26,56]
       MB0544 DSKB:  ABC   .OLD   48 30-APR-84 [7026,56]
              5 Files/     439 Blocks found for Jun 84
       MB0531 DSKA:  ZZZABC.CBL  163 30-MAY-84 [7777,56,CBL]
       MB0531 DSKA:  ZZZABC.BAK  156 30-MAY-84 [7777,56]
       MB0535 DSKB:  ZZZABC.REL   25 29-MAY-84 [26,56]
       MB0535 DSKB:  ZZZABC.MAP   47 23-MAY-84 [26,56]
       MB0535 DSKB:  GRABC .RNO   25 29-MAY-84 [4713,56]
       MB0535 DSKB:  GRABC .BAK   23 25-MAY-84 [4713,56]
       MB0536 DSKB:  GRABC .DOC   40 25-MAY-84 [4713,56]
       MB0536 DSKB:  ABC   .EXE   48 30-APR-84 [7026,56]
       MB0538 DSKC:  ABCD  .DAT    2 15-APR-84 [222,56]
10                              The FNDFIL Installation and User's Guide


        9 Files/     529 Blocks found for May 84
 MB0525 DSKB:  ABC   .FOR   52 29-APR-84 [7026,56]
 MB0525 DSKB:  ABC   .REL   48 30-APR-84 [7026,56]
 MB0525 DSKB:  ABC   .EXE   48 30-APR-84 [7026,56]
 MB0528 DSKC:  ABCD  .DAT    2 15-APR-84 [222,56]
        4 Files/     150 Blocks found for Apr 84
        0 Files/       0 Blocks found for Mar 84
       18 Files/    1118 Blocks total
*/EXIT
EXIT
.


                 NAMES OF THE DIRECTORY FILES AND TAPES
                 ----- -- --- --------- ----- --- -----

The PAKDIR program reads the directory files which were produced by  the
BACKUP  program  when  the  contents of the disk structures were written
onto tape.  PAKDIR extracts the structure names, disk directories,  file
names,  file lengths and file creation dates and writes this information
in a more compact form into directory files which will later be read  by
the  FNDFIL  program.   The  directory  files which were produced by the
BACKUP program are read from the directory of the account  used  to  run
the  PAKDIR program.  The resulting compacted directory files which will
later be read by the FNDFIL program are  written  into  a  central  disk
directory  which  is identified by an array in the block data routine in
both programs.  The account used to run the PAKDIR program must be  able
to write files into this central disk directory.

The BACKUP program does not itself assign names to the tapes, so  it  is
the responsibility of the PAKDIR program to keep track of the tapes.  It
is essential that the computer operators place visually readable  labels
onto the tape reels, and that the names which appear on these labels are
identical to those which the PAKDIR program has assigned.

For example,

TUEC02  would be the second tape in the Tuesday save  of  the  structure
        named DSKC.

WKDC02  would be the second tape in the week D  (the  4th  week  in  the
        month) save of the structure named DSKC.

MB1234  would be the 1234th tape created during all of the monthly saves
        of  all  public  disk structures.  The very first tape which was
        created  the  very  first  time  that  the  monthly  saves  were
        performed  would have been named MB0001.  This tape probably has
        long since been recycled.  The letters MB at the start of  these
        tape names merely stand for Monthly Backup.

ABCD02  would be the second tape in the save of  the  private  structure
        named ABCD.

The rules by which these names are assigned are described in more detail
below.
      Names of the Directory Files and Tapes                                11


      Daily Save Tapes

           If daily directories are being compacted, then the  PAKDIR  program
           will  ask  for  the name of the day (Sunday, Monday, Tuesday, etc.)
           during which the contents of the public structures were written  to
           tape.

           The names by which FNDFIL will  later  refer  to  these  tapes  are
           constructed from the following components.

           1.  The 3 letter abbreviation for the name of the day.
           2.  The 4th letter of the name of the disk structure.
           3.  The 2 digit number of the tape within the current set for  this
               disk structure for this day.

           The file in which the compacted directories are stored will have as
           its  name  the  3  letter abbreviation of the name of the day.  For
           example, the compacted directories for the Tuesday  tapes  will  be
           written into a file named TUE.FND.

      Weekly Save Tapes

           If the directories of the weekly saves are  being  compacted,  then
           the  PAKDIR  program  will  ask for the user to type a letter which
           identifies the week within the month.  The letter A  would  specify
           the  first week in the month.  The letter E would specify the fifth
           week in a month in which 5 weekly saves are performed.

           The names by which FNDFIL will  later  refer  to  these  tapes  are
           constructed from the following components.

           1.  The letters WK.
           2.  The letter which identifies the week.
           3.  The 4th letter of the name of the disk structure.
           4.  The 2 digit number of the tape within the current set for  this
               disk structure for this week.

           The file in which the compacted directories are stored will have  a
           name  which  consists of the word WEEK followed by the letter which
           identifies the week.  For example, the  compacted  directories  for
           the  second  week  in  the  month will be written into a file named
           WEEKB.FND.

      Monthly Save Tapes

           If the directories of the monthly saves are being  compacted,  then
           the  PAKDIR  program  will ask for the number of the first tape for
           the current month.  This can be a number in  the  range  1  through
           999999.

           The names by which FNDFIL will  later  refer  to  these  tapes  are
           constructed from the following components.

           1.  The letters MB which stand for Monthly Backup.
           2.  The 4 digit number of the tape within the set  of  all  monthly
               save  tapes  ever  created.  If the tape number is greater than
               9999, then the initial letters M and B in the tape name will be
12                              The FNDFIL Installation and User's Guide


         replaced by the leading digits of the number.

     If the number of the first tape is instead specified as zero,  then
     the number which will really be used will be read from a file named
     PAKDIR.NXT in the central disk directory  in  which  the  compacted
     directory  files  are stored.  PAKDIR will then write the number of
     the first tape for the following month back into  this  file  after
     PAKDIR  has  finished  processing of all of the directories for the
     current month.  PAKDIR neither reads nor writes the PAKDIR.NXT file
     if the request for the tape number is answered by a number which is
     greater than 0.

     PAKDIR assumes that the tapes for a particular month will have been
     written late in that month or early in the following month.  PAKDIR
     finds the newest file on any of the  tapes  and  assumes  that  the
     month for which the tapes were created is the month when the newest
     file was created if this file was created during the latter half of
     the  month.   This  would be the case if the save tapes were really
     created at the end of the month before any new files  were  created
     during  the  following  month.   PAKDIR  assumes that the month for
     which the tapes were created was the previous month instead if  the
     newest  file  was created during the first half of the month.  This
     would be the case if a holiday or other delay caused  the  creation
     of the save tapes to be delayed beyond the end of the month so that
     the disk structures contained new  files  created  during  the  new
     month.  The file in which the compacted directories are stored will
     have a name which consists  of  the  3  letter  month  abbreviation
     followed by the right 2 digits of the year number.  For example, if
     the newest file was created either in the second half  of  June  of
     1984  or  the  first  half  of July of 1984, then the file would be
     named JUN84.FND.

     When the directories of a monthly save  are  being  processed,  the
     date of the save is not known for certain until all of the dates of
     all of the files which have been saved have  been  evaluated.   The
     compacted  file is named PAKDIR.FND while it is being written.  The
     PAKDIR program changes the name of this file to be based  upon  the
     date  of  the most recently created of the saved files after all of
     the original directory files have been processed.  If the  computer
     has  itself  been  restarted  sometime  during  the  past  with  an
     incorrect date beyond the  middle  of  the  next  month,  then  the
     resulting  compacted file will be renamed incorrectly by the PAKDIR
     program, and will have to be renamed later.  For example, if during
     March 1984 the computer was restarted with the date incorrectly set
     to March 1985, then the compacted directory file created at the end
     of  March 1984 would incorrectly be named MAR85.FND.  The resulting
     file would have to be renamed MAR84.FND later.

Private Structure Save Tapes

     If the directories of private structures are being compacted,  then
     PAKDIR  will  ask for the name of the private structure.  This name
     should consist of from 1 to 4 characters.

     The names by which FNDFIL will  later  refer  to  these  tapes  are
     constructed from the following components.
      Names of the Directory Files and Tapes                                13


           1.  The 4 character name of the private structure.
           2.  The 2 digit number of the tape within the current set for  this
               disk  structure.   If  the  structure  name  is  shorter than 4
               characters, then extra  zeros  will  be  inserted  between  the
               structure name and the following number.

           The file in which the compacted directories are  stored  will  have
           the same name as that of the structure.  For example, the compacted
           directories for the private structure named ABCD  will  be  written
           into  a file named ABCD.FND.  The FNDFIL program determines whether
           a disk structure is public or private by checking  whether  such  a
           file  exists  in  the  central  disk directory.  Therefore, no file
           should be placed in the central disk directory which has  the  same
           name  as  that of a public disk structure and which has .FND as the
           extension or suffix of its file name.


                     INSTRUCTIONS FOR USING THE PAKDIR PROGRAM
                     ------------ --- ----- --- ------ -------

      The PAKDIR program first asks for the  user  to  identify  the  type  of
      directories  which  are  to  be  processed.  The answer to this question
      determines how the names used for identifying the individual  tapes  and
      how  the  name  of the file which will contain the compacted directories
      are constructed.  These  naming  conventions  are  described  in  detail
      elsewhere  in  this manual.  The type of directory is selected by typing
      one of the words

           DAY, WEEK, MONTH or PRIVATE

      Only the first letter of the word specifying the type  of  directory  is
      necessary.

      If the daily cycle is chosen, then the PAKDIR program will ask  for  the
      name of the day of the week.  Only the first few letters of the name are
      needed, but enough of the name should be typed to  distinguish  it  from
      the other possibilities.

      If the weekly cycle is chosen, then the PAKDIR program will ask for  the
      letter  which  selects the week in the cycle.  The letter A would select
      the first week, the letter B the second, and so  on.   For  a  month  in
      which  the portion of the week in which the weekly saves are done occurs
      5 times, the fifth week would be identified by the letter E.

      If the monthly cycle is chosen, then the PAKDIR program will ask for the
      number  of the first tape.  This number does not appear in the directory
      files which will be processed.  The  number  is  instead  based  upon  a
      historical  record of how many monthly tapes are already in the library.
      If the program is to select the next number in the  sequence,  then  the
      number  0  should  be typed.  (It should be noted that before the PAKDIR
      program can be asked to keep track  of  the  number  automatically,  the
      number of the next tape must be placed in a file named PAKDIR.NXT in the
      directory used for storing the compacted directory files.   This  number
      should  be  left justified in the first and only line in this file.) The
      PAKDIR program cannot handle tape numbers greater than 999999.   If  the
      number  is  greater  than  9999, then the initial letters M and B in the
      tape name will be replaced by the leading digits of the number.
14                              The FNDFIL Installation and User's Guide


If the directory of a private structure is  being  processed,  then  the
PAKDIR  program  will ask for the name of the structure.  This cannot be
longer than 4 characters.  This name obviously should be the same as the
name of the disk structure which was saved on the tapes.

The PAKDIR program can process directories created by the DIRECT program
or  by  the  BACKUP  program.  If DIRECT is used to obtain the directory
files which are to be compacted, then  it  is  likely  that  the  PAKDIR
program  will  have to be changed to correspond to the line format which
is produced by the particular version of DIRECT  which  is  being  used.
DIRECT could be used to create the directory files if the directories of
a pre-existing collection of save tapes are to be made available to  the
users of FNDFIL.  It is usually easier to have the BACKUP program create
the directory files of new tapes as these are being written.

The PAKDIR program will increment the tape number whenever the start  of
the  contents  of a new tape is indicated in the directory file which is
being processed.  It does not matter whether the directories of separate
tapes  appear  in  separate  files or are collected together in a single
file.  When the processing of the file has been completed,  PAKDIR  will
request  the  name of the program which created the next directory file,
and then will request the name of this directory file.  When all of  the
directory  files  have  been processed, then the request for the name of
the program which created the next directory  file  should  be  answered
with an empty line.

The dialog which is shown below resulted when 2 of the test files  which
are  included  with  this  package  were processed as the directories of
daily save tapes.  The responses typed by the user appear to  the  right
of the question marks.

.RUN PAKDIR
PAKDIR
Compacts directories for FNDFIL
Period (DAY, WEEK, MONTH) or PRIVATE pack? DAY
Day (SUN, MON, etc.)? TUESDAY
Author (BACKUP, DIRECT)? BACKUP
File? BACKUP.345
Tape TUEA01 contains    89 files
Tape TUEA02 contains    13 files
Tape TUEA03 contains    22 files
Author (BACKUP, DIRECT)? BACKUP
File? BACKUP.6
Tape TUEB01 contains    95 files
Author (BACKUP, DIRECT)?
   219 total files
Output file is TUE   .FND
EXIT

The dialog which is shown below resulted when these same  2  test  files
were processed as the directories of weekly save tapes.

.RUN PAKDIR
PAKDIR
Compacts directories for FNDFIL
Period (DAY, WEEK, MONTH) or PRIVATE pack? WEEK
Week (A, B, C, D, E)? C
      Instructions for Using the PAKDIR Program                             15


      Author (BACKUP, DIRECT)? BACKUP
      File? BACKUP.345
      Tape WKCA01 contains    89 files
      Tape WKCA02 contains    13 files
      Tape WKCA03 contains    22 files
      Author (BACKUP, DIRECT)? BACKUP
      File? BACKUP.6
      Tape WKCB01 contains    95 files
      Author (BACKUP, DIRECT)?
         219 total files
      Output file is WEEKC .FND
      EXIT

      The dialog which is shown below resulted when these same  2  test  files
      were processed as the directories of monthly save tapes.

      .RUN PAKDIR
      PAKDIR
      Compacts directories for FNDFIL
      Period (DAY, WEEK, MONTH) or PRIVATE pack? MONTH
      First tape number (0 if automatic)? 1003
      Author (BACKUP, DIRECT)? BACKUP
      File? BACKUP.345
      Tape MB1003 contains    89 files
      Tape MB1004 contains    13 files
      Tape MB1005 contains    22 files
      Author (BACKUP, DIRECT)? BACKUP
      File? BACKUP.6
      Tape MB1006 contains    95 files
      Author (BACKUP, DIRECT)?
         219 total files
      Output file is JUN84 .FND
      EXIT

      The dialog which is shown below resulted when one  of  these  same  test
      files  was  processed  as  the  directory of the save tapes of a private
      structure.  The names assigned to the tapes and the name assigned to the
      resulting compacted directory file are all based upon the response which
      is entered when the program asks for the name of  the  structure.   Only
      one  of  the  test files was processed since each test file contains the
      directory for a different structure.  If both files which were processed
      in  the  earlier  examples  were  processed together, then both the tape
      names and the name of the resulting compacted file would be inconsistent
      with  the  original disk location for some of the files described in the
      compacted directory file.   If  these  were  real  directory  files,  of
      course,  then PAKDIR would just be run a second time to process the file
      containing the directories of the other private disk structure.

      .RUN PAKDIR
      PAKDIR
      Compacts directories for FNDFIL
      Period (DAY, WEEK, MONTH) or PRIVATE pack? PRIVATE
      Pack name? DSKA
      Author (BACKUP, DIRECT)? BACKUP
      File? BACKUP.345
      Tape DSKA01 contains    89 files
      Tape DSKA02 contains    13 files
16                              The FNDFIL Installation and User's Guide


Tape DSKA03 contains    22 files
Author (BACKUP, DIRECT)?
   124 total files
Output file is DSKA  .FND
EXIT


                USING BATCH CONTROL FILES TO RUN PAKDIR
                ----- ----- ------- ----- -- --- ------

A batch control file which could be used to save all of the files on the
public structure named DSKA is listed below.

.DELETE MLYA.DIR
.IF(ERROR)
.MOU MTB:BACKUP/REE:DSKA/VID:"MONTHLY SAVE-DSKA"/WE
.SET DENSITY BACKUP 6250
.R BACKUP
*REWIND
*DENSITY 6250
*SORT DIR ALPHA
*LIST DSK:MLYA.DIR
*SAVE DSKA:
.PRINT MLYA.DIR/NOTE:"MONTHLY DSKA"
.DISMOUNT MTB:

The corresponding batch control file which would save  the  contents  of
the public structure named DSKB is listed below.

.DELETE MLYB.DIR
.IF(ERROR)
.MOU MTB:BACKUP/REE:DSKB/VID:"MONTHLY SAVE-DSKB"/WE
.SET DENSITY BACKUP 6250
.R BACKUP
*REWIND
*DENSITY 6250
*SORT DIR ALPHA
*LIST DSK:MLYB.DIR
*SAVE DSKB:
.PRINT MLYB.DIR/NOTE:"MONTHLY DSKB"
.DISMOUNT MTB:

There would be as many  of  these  batch  control  files  as  there  are
structures  to be saved.  Keeping the commands for saving each structure
in separate  control  files  makes  resubmitting  them  easier  in  case
something goes wrong.

Once all of the files on all of the  structures  have  been  saved,  the
batch  control  file  which is listed below could be used to produce the
compacted directories needed by the FNDFIL program.  An additional  pair
of  lines  specifying  that BACKUP was used to create the directory file
and specifying the name of the directory file would be inserted for each
additional disk structure which has been saved.
      Using Batch Control Files to Run PAKDIR                               17


      .R PAKDIR
      *MONTH
      *0
      *BACKUP
      *MLYA.DIR
      *BACKUP
      *MLYB.DIR
      *


                    RESUBMITTING THE MONTHLY PAKDIR CONTROL FILE
                    ------------ --- ------- ------ ------- ----

      If the batch jobs which run PAKDIR  to  compact  the  daily,  weekly  or
      private  structure directories have to be rerun, then they can merely be
      resubmitted after correcting whatever went wrong.  However, in order for
      the batch job which compacts the monthly directories to run correctly, a
      compacted directory file must not already exist for  the  current  month
      and the tape number of the first tape must be indicated correctly.

      The following procedure should  be  followed  if  the  batch  job  which
      compacts the monthly directories has to be resubmitted for any reason.

      1.  If the previous run of the batch job  wrote  a  compacted  directory
          file  into  the  central  disk  directory,  then this file should be
          deleted or renamed.  The compacted file will either  have  the  name
          PAKDIR.FND or a name of the form MMMYY.FND where MMM is the 3 letter
          abbreviation for the month which is just ending and YY is the  right
          2  digits  of the year.  It is suggested that the file be renamed to
          have a name of the form MMMYY.001 for the first attempt which fails,
          MMMYY.002  for  the  second  attempt, and so on.  The compacted file
          might not be present if the previous run of the batch  job  did  not
          terminate normally.

      2.  The number in the PAKDIR.NXT file  in  the  central  disk  directory
          should  be  changed  back to the value which it had before the batch
          job which failed was run.  If this number has been  forgotten,  then
          the  log  file  of the batch job which failed should be consulted to
          find the number which is embedded in the name  of  the  first  tape.
          Alternatively,  the tapes in the actual tape library can be examined
          to determine the next available tape number.  If a  line  editor  is
          used  to  modify the PAKDIR.NXT file, then the line sequence numbers
          must be stripped off when exiting from the editor.

      3.  Whatever caused the original batch job to fail should be corrected.

      4.  The log file which was produced by the batch job which failed should
          be  deleted.   If  this  is not done, then the log file for the next
          batch job will be appended to the end of the existing log file.

      5.  The batch control file should be resubmitted.

      6.  Once the new batch job has finished, the log file should be  checked
          to  determine  whether  the job was successful.  The dialog with the
          PAKDIR program should contain one or more sequences similar  to  the
          following.
18                              The FNDFIL Installation and User's Guide


         File? MLYA.DIR
         Tape MB0766 contains 381 files
         Tape MB0768 contains  10 files
         Tape MB0769 contains  15 files
         Tape MB0770 contains  47 files

    The MLYA.DIR in the above dialog  is  the  response  to  the  PAKDIR
    program's  request  for  the  name of the next file to be processed.
    MLYA.DIR would be the name of the directory file made by BACKUP when
    the  DSKA  structure was saved.  There would be similar lines in the
    dialog for each of the other disk structures.  The tape  number  for
    the  first  tape used for each such disk structure should be checked
    to confirm that it is correct.  If a  single  file  which  has  been
    copied  onto  tape  is  so large that it requires more than one tape
    just for that file, then some tape numbers (such as  MB0767  in  the
    above example) might be missing in the dialog since no file actually
    starts on that tape.


               INSTRUCTIONS FOR INSTALLATION AND TESTING
               ------------ --- ------------ --- -------

The following procedure can be used  to  install  and  test  the  PAKDIR
program.

 1.  Change the project and programmer numbers defined in the block data
     routine  in  the  FNDCOM.FOR  file  to be those of the central disk
     directory in which the compacted directories will be stored.  A UFD
     should  exist for this central disk directory, and the account from
     which PAKDIR is run must be able to write into  this  central  disk
     directory.   For the purposes of this test, there should not be any
     files named MAY84.FND or JUN84.FND in the central disk directory.

 2.  Load and save PAKDIR using the PAKDIR.CMD command file.

 3.  Use PAKDIR to process the BACKUP.12 directory  file.   This  should
     produce  a file named MAY84.FND in the central disk directory.  The
     questions should be answered with the responses shown  below.   The
     final request for the name of the program which wrote the directory
     file should be answered by just pressing the RETURN key.

     Period (DAY, WEEK, MONTH) or PRIVATE pack? MONTH
     First tape number (0 if automatic)? 1001
     Author (BACKUP, DIRECT)? BACKUP
     File? BACKUP.12
     Author (BACKUP, DIRECT)?

 4.  Use PAKDIR to process the BACKUP.345 and BACKUP.6 directory  files.
     This  should  produce  a  file  named JUN84.FND in the central disk
     directory.  The questions should be  answered  with  the  responses
     shown  below.   The final request for the name of the program which
     wrote the directory file should be answered by  just  pressing  the
     RETURN key.
      Instructions for Installation and Testing                             19


           Period (DAY, WEEK, MONTH) or PRIVATE pack? MONTH
           First tape number (0 if automatic)? 1003
           Author (BACKUP, DIRECT)? BACKUP
           File? BACKUP.345
           Author (BACKUP, DIRECT)? BACKUP
           File? BACKUP.6
           Author (BACKUP, DIRECT)?

       5.  Compare the resulting compacted files with those of the same  names
           which  are  supplied  with  this  package.   If they are different,
           determine what is wrong, fix it and test the program again.

       6.  Either use BACKUP to save the contents of  a  disk  structure  onto
           tape  and  have  BACKUP  produce  a directory file as the tapes are
           written, or use DIRECT to produce the  directory  file  of  a  tape
           which was written earlier.

       7.  List the newly created directory file and compare its  format  with
           that of the test files which are supplied with this package.  Check
           both the columns in which the various items begin, and  the  header
           lines.   The  PAKDIR  program  must be able to recognize the header
           lines which start with the characters

                Start of save set

           and

                Continuation of save set

           in a directory file produced by BACKUP, and the lines  which  start
           with the characters

                Read Density:

           in a directory file produced by DIRECT.  PAKDIR  must  be  able  to
           recognize these lines in order to locate the start of each new tape
           in the directory files.  All other  header  lines  are  ignored  by
           PAKDIR  and do not have to be recognized.  The columns in which the
           various items start are defined in the  BLOCK  DATA  routine.   The
           character  strings are defined in SUBROUTINE LINTYP.  The number of
           characters in each string is defined by  the  upper  bound  of  the
           index in the DO loop in which the characters are used.

       8.  If the format of the newly created directory file is different than
           that  of  the  test  files  supplied  with this package, change the
           PAKDIR program to recognize the new format.

       9.  Use PAKDIR to process the new directory file.  If PAKDIR  does  not
           report  any  files  at  all,  then the problem probably is with the
           column locations.  If the tape numbers are wrong, then the  problem
           probably  is  in  the  recognition  of  the header lines.  Both the
           number of leading spaces and the  cases  of  the  letters  must  be
           exactly correct.

      10.  If the results appear to be wrong, then fix the PAKDIR program  and
           test it again.
20                              The FNDFIL Installation and User's Guide


11.  Once the PAKDIR program appears to be correctly processing  locally
     produced  directory  files, move its .EXE file to a directory which
     can be accessed from the operator's account.

12.  Establish the administrative procedures  and  batch  control  files
     which  are  necessary to produce the compacted directory files on a
     regular basis.

The following procedure can be used  to  install  and  test  the  FNDFIL
program.

 1.  Change the project and programmer numbers defined in the block data
     routine  in  the  FNDCOM.FOR  file  to be those of the directory in
     which the compacted directories will be stored.  A UFD should exist
     for this central disk directory, and the accounts from which FNDFIL
     will be run must be able to read from this central disk directory.

 2.  Load and save the FNDFIL program using the FNDFIL.CMD command file.

 3.  Run PAKDIR as indicated above to generate files named MAY84.FND and
     JUN84.FND  in  the  central  disk  directory, or move the copies of
     these files which are supplied with this package into  the  central
     disk directory.

 4.  Run FNDFIL from an account having a programmer  number  of  377  or
     less, and issue the command

          [*,*]*.*/MAY84/JUN84/OLD/GO

     All of  the  files  which  appear  in  the  test  files  BACKUP.12,
     BACKUP.345  and  BACKUP.6 should be listed.  The /OLD switch should
     be included since this test might be performed after the 1984 tapes
     would have been recycled.

 5.  Move  the  compacted  directories  which   PAKDIR   produced   when
     processing the locally produced directory files to the central disk
     directory.

 6.  Use FNDFIL  to  access  the  contents  of  these  locally  produced
     directories.  The commands given to FNDFIL will depend upon whether
     the names of the compacted files are  appropriate  for  the  daily,
     weekly, monthly or private structure saves.

 7.  If FNDFIL appears to be working properly, move its .EXE file to the
     system directory from which it can be accessed by any user.

 8.  Remove the compacted directories which were used to test the FNDFIL
     program from the central disk directory.
      Description of the Compacted Directory Files                          21


                    DESCRIPTION OF THE COMPACTED DIRECTORY FILES
                    ----------- -- --- --------- --------- -----

      PAKDIR extracts the structure names, disk directories, file names,  file
      lengths  and  file  creation  dates from the directory files produced by
      either the BACKUP or DIRECT programs.  The compacted  file  produced  by
      the PAKDIR program contains the following information.

      1.  A right square bracket followed by the tape name if  the  next  file
          starts on a new tape.  Nothing else appears on this line.

      2.  The disk directory specification enclosed  between  left  and  right
          square  brackets  if the next file was contained in a different disk
          directory, or within a different sub-file-directory (SFD)  than  the
          previous  file.  If either the project number, programmer number, or
          SFD name is the same as that for the previous file, then the portion
          which remains unchanged is represented by an asterisk (*).

      3.  A colon followed by the structure name if the  next  file  is  on  a
          different  structure than the previous file.  This is separated from
          the following file creation date by  a  comma.   If  both  the  disk
          directory  and  structure differ, then the items appear in the order
          left square bracket, disk directory specification, colon,  structure
          name  and  separating comma.  The right square bracket is not needed
          in this case if the colon and structure name immediately follow  the
          disk directory specification.

      4.  The file creation date as the number of days since January 1,  1964.
          In  calculating  this  number, it is assumed that all months have 31
          days.  This date is stored as a 3 digit radix 36 number in which the
          letter  A is used as a numeral with the value of decimal 10, and the
          letter Z is used as a  numeral  with  the  value  decimal  35.   The
          maximum  3  digit  radix  36 number can be represented as ZZZ.  This
          corresponds to decimal (35x36x36 + 35x36 + 35)/(31x12) years or  125
          years.

      5.  The length of the file  as  a  decimal  number.   This  number  will
          contain as many digits as necessary.

      6.  The first part of the name of the file.  If  the  file  name  starts
          with  a  digit  0  through  9,  then  this  digit  is preceded by an
          apostrophe (') to mark the end of the number  which  represents  the
          length  of  the  file.  If any other specially interpreted character
          appears in the file name,  then  it  is  similarly  preceded  by  an
          apostrophe.   If the first part of the file name is the same as that
          of the previous file then it is represented by an asterisk instead.

      7.  A period if the first part of the file name  contains  less  than  6
          characters  and  if  the file name includes a final 1 to 3 character
          extension.  The period is not included if the first part of the file
          name  contains  the  full  6 characters.  The period likewise is not
          included if either the first part of the file name or the file  name
          extension  is  the  same  as  that  of  the  previous file and so is
          represented by an asterisk.
22                              The FNDFIL Installation and User's Guide


8.  The final 1 to 3 characters of the file name if the name includes an
    extension.   If  the  file name extension is the same as that of the
    previous file, then it is  represented  by  an  asterisk  without  a
    preceeding period.

9.  A comma if another file name appears to the right on the same line.

The uncompacted directory files  produced  by  the  BACKUP  program  are
similar  to  the  one which is listed below.  Some unnecessary lines and
some blank columns have been removed from this example to permit  it  to
be  listed  on a page in this manual.  File names on the DECsystem10 are
not restricted to just alphabetic letters and digits.  The asterisks and
periods which appear in the example are actually part of the file names.
For the purposes of illustration, the file name *.* appears twice in the
same  disk  directory on the same structure.  This would not happen in a
real directory file.

Start of save set  on MTB010
 ABCDEF GHI 1     <055>  1-Jan-64 DSKA: [100,56,SPR]
 JK         326   <055> 31-Dec-64
 LMNOPQ RS  484   <055>  1-Jan-65
 TU     VWX 51    <055> 31-Dec-65
 ABC    RNO 1     <055> 20-Jul-83 DSKA: [100,56]
 ABC    DOC 10    <055> 17-Aug-83
 SUMMAR DOC 29    <055> 12-Sep-83
 SUMMAR RNO 30    <055> 12-Sep-83
Continuation of save set  on MTB010
 SUMMAR RNO 15013 <055> 20-May-84 DSKB: [100,56]
 123456 789 0     <055> 18-Feb-84 DSKC: [2300,56,ANIMAL]
 A.B.C  .D. 188   <055> 10-Oct-83 DSKC: [2300,1512,ANIMAL]
 MEMO   *   14    <055> 12-Sep-83 DSKC: [3001,4005]
 LETTER *   21    <055> 13-Sep-83
 *      *   52    <055> 14-Sep-83
 *      *   61    <055> 15-Sep-83
 *      RPT 4     <055> 16-Sep-83
 REPORT RPT 102   <055> 17-Sep-83

The PAKDIR program would convert the directory file shown above  into  a
compacted  form similar to that which is shown below.  The lines in this
example have  been  split  between  file  specifications  to  allow  the
compacted  file  to be listed in this manual, but the file even with the
shorter lines  would  still  be  interpreted  correctly  by  the  FNDFIL
program.

]MB1001
[100,56,SPR:DSKA,0001ABCDEFGHI,0AB326JK,0AC484LMNOPQRS
0KN51TU.VWX,[**]5M11ABC.RNO,5MT10*DOC,5NJ29SUMMAR*,5NJ30*RNO
]MB1002
:DSKB,5UN15013**,[2300*ANIMAL:DSKC,5S00'123456789
[*1512*]5OC188A'.B'.C.'.D'.,[3001,4005]5NJ14MEMO.'*
5NK21LETTER*,5NL52'**,5NM61**,5NN4*RPT,5NO102REPORT*

A listing similar to that shown below would be produced by FNDFIL if all
of  the  files  represented  in  the  above compacted directory file are
requested.
      Description of the Compacted Directory Files                          23


      MB1001 DSKA:  ABCDEF.GHI    1  1-JAN-64 [100,56,SPR]
      MB1001 DSKA:  JK    .     326 31-DEC-64 [100,56,SPR]
      MB1001 DSKA:  LMNOPQ.RS   484  1-JAN-65 [100,56,SPR]
      MB1001 DSKA:  TU    .VWX   51 31-DEC-65 [100,56,SPR]
      MB1001 DSKA:  ABC   .RNO    1 20-JUL-83 [100,56]
      MB1001 DSKA:  ABC   .DOC   10 17-AUG-83 [100,56]
      MB1001 DSKA:  SUMMAR.DOC   29 12-SEP-83 [100,56]
      MB1001 DSKA:  SUMMAR.RNO   30 12-SEP-83 [100,56]
      MB1002 DSKB:  SUMMAR.RNO15013 20-MAY-84 [100,56]
      MB1002 DSKC:  123456.789    0 18-FEB-84 [2300,56,ANIMAL]
      MB1002 DSKC:  A.B.C ..D.  188 10-OCT-83 [2300,1512,ANIMAL]
      MB1002 DSKC:  MEMO  .*     14 12-SEP-83 [3001,4005]
      MB1002 DSKC:  LETTER.*     21 13-SEP-83 [3001,4005]
      MB1002 DSKC:  *     .*     52 14-SEP-83 [3001,4005]
      MB1002 DSKC:  *     .*     61 15-SEP-83 [3001,4005]
      MB1002 DSKC:  *     .RPT    4 16-SEP-83 [3001,4005]
      MB1002 DSKC:  REPORT.RPT  102 17-SEP-83 [3001,4005]
            17 Files/   16387 Blocks found for May 84


                       LIST OF FILES INCLUDED IN THIS PACKAGE
                       ---- -- ----- -------- -- ---- -------

      The distributed version of the FNDFIL system consists of  the  following
      source files.  This version is for the DECsystem10 only.

      FNDCOM.FOR  Block data routine which identifies the  disk  directory  to
                  which  PAKDIR  writes the compacted directory files and from
                  which these files are  read  by  FNDFIL.   This  block  data
                  routine  also  specifies  the columns containing the various
                  pieces of information in the files which  are  processed  by
                  the PAKDIR program.

      FNDFIL.CMD  The command file used to  load  the  FNDFIL  program.   This
                  loads  the  version  of  the FNDNEW routine contained in the
                  FNDNEW.FOR file.

      FNDFIL.DOC  This instruction manual.  This was  produced  by  using  the
                  FROFF  text processor to format the rough form of the manual
                  contained in the FNDFIL.RNO file.

      FNDFIL.FOR  The FNDFIL program.  This must  be  loaded  along  with  the
                  files  FNDCOM.FOR,  FNDHLP.FOR,  FNDNEW.FOR,  FNDSUB.FOR and
                  FNDMAC.MAC.

      FNDFIL.RNO  The rough form of the instruction manual.  This is meant  to
                  be processed by the FROFF text processor.

      FNDHLP.FOR  The FORTRAN source code  which  produces  the  help  message
                  which  can  be  typed  by  the FNDFIL program.  This file is
                  produced by using the FORMAT program to  process  the  rough
                  form of the help message in the FNDHLP.RNO file.

      FNDHLP.RNO  The rough form of the help message which can be typed by the
                  FNDFIL  program.   This  must  be  processed  by  the FORMAT
                  program to produce FORTRAN source code which can  be  loaded
                  with the FNDFIL program.
24                              The FNDFIL Installation and User's Guide


FNDMAC.MAC  Assembly language version of a  routine  which  returns  the
            project number and the programmer number of the account from
            which the FNDFIL program is being run.

FNDNEW.FOR  Subroutine used by FNDFIL to determine whether the tapes for
            a  particular  month  and  year still exist.  The version in
            FNDNE2.FOR can be substituted if all tapes are to be assumed
            to still exist.

FNDNE2.FOR  A nonfunctional version of the FNDNEW subroutine.  FNDNEW is
            meant  to  indicate whether the tapes for a particular month
            and year still exist.  The version in  FNDNE2.FOR  indicates
            that  these tapes all still exist, regardless of their ages.
            The version in FNDNEW.FOR should  be  used  instead  if  the
            tapes are recycled on a regular schedule.

FNDSUB.FOR  Subroutines needed by both FNDFIL and PAKDIR.

PAKDIR.CMD  The command file used to load the PAKDIR program.

PAKDIR.FOR  The PAKDIR program.  This must  be  loaded  along  with  the
            files FNDCOM.FOR and FNDSUB.FOR.

The following data files can be used to test the FNDFIL system.

BACKUP.12   Sample directory file written by the  BACKUP  program  which
            contains the directories of 2 tapes for May 1984.

BACKUP.345  Sample directory file written by the  BACKUP  program  which
            contains the directories of 3 tapes for June 1984.

BACKUP.6    Sample directory file written by the  BACKUP  program  which
            contains the directories of a final tape for June 1984.

DIRECT.12   Sample directory file written by the  DIRECT  program  which
            contains  the  directories  of  the  same  2  tapes  as  are
            described in the  BACKUP.12  file  produced  by  the  BACKUP
            program.

DIRECT.345  Sample directory file written by the  DIRECT  program  which
            contains  the  directories  of  the  same  3  tapes  as  are
            described in the BACKUP.345  file  produced  by  the  BACKUP
            program.

DIRECT.6    Sample directory file written by the  DIRECT  program  which
            contains  the  directory of the same tape as is described in
            the BACKUP.6 file produced by the BACKUP program.

MAY84.FND   File which results when the BACKUP.12 or DIRECT.12  file  is
            processed by the PAKDIR program as a monthly cycle directory
            and the number of the first tape is specified as 1001.

JUN84.FND   File which results when the BACKUP.345 and BACKUP.6 files or
            the  DIRECT.345 and DIRECT.6 files are processed together by
            the PAKDIR program as monthly cycle directories and the tape
            number of the first tape is specified as 1003.
      FNDFIL Program Development History                                    25


                         FNDFIL PROGRAM DEVELOPMENT HISTORY
                         ------ ------- ----------- -------

      June 1979
           Original version.

      January 1982
           (Extension) Support for private structures added.

      September 1984
           (Correction) Number of files which FNDFIL reported as found for the
           month was instead the total number of files found so far.

           (Correction) Directory files being compacted by  PAKDIR  which  did
           not  start  with the correct header line were assigned tape numbers
           which were 1 less than expected.   Now,  each  new  file  which  is
           processed by PAKDIR is assumed to be the directory of a new tape.

           (Correction) File lengths greater than 99999 blocks caused overflow
           of  field  into  which  these were written for files found during a
           search.  Now, large file lengths are divided by 1000 and  expressed
           in K.

           (Change) The leading digits of tape numbers which are too large  to
           fit into the space reserved for them now replace the letters at the
           start of the tape name.

           (Extension) /REPEAT command added to allow user to search  for  the
           same list of files as were searched for the last time.

           (Extension) /OLD command added to  allow  directories  of  sets  of
           tapes  which  have  been  recycled to be searched.  Previously, the
           files which were on recycled sets of tapes were reported as  as  if
           these  still  existed  if  the  compacted  directories  were  still
           available.  If a set of tapes has been recycled, then  FNDFIL  will
           now  report  that  the  tapes are no longer available, and will not
           search the directories of these tapes unless the /OLD  command  has
           been issued.

           (Extension) /CANCEL command added to cancel a set of specifications
           just  entered.   These  specifications  can then be restored by the
           /REPEAT command.

           (Extension) Double control-C followed by  START  and  then  /REPEAT
           command can stop a search which has been specified incorrectly, and
           restore the specifications so that these can be corrected.

           (Extension) Numbers of blocks in the files located in each  set  of
           tapes and overall are now reported.

           (Extension)  Disk  structures  and/or  disk  directories   can   be
           specified for instruction files and output files.