Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-12 - 43,50553/fndfil.rno
There are no other files named fndfil.rno in the archive.
.comment this document is to be typed using elite character
.comment spacing (12 per inch) giving 6.0 inch wide columns.
.comment it can be typed using pica character spacing (10 per
.comment inch) giving 6.0 inch wide columns if the values of
.comment 72, 76 and 78 are changed to 60, 63 and 65 and if the
.comment right page offset is changed from 6 to 5 in the lines
.comment through that following the reset command.  the table
.comment of contents will have to be changed to reflect this.
.
.page width 78.page length 60
.rule 'X',0,78
.nofill
.left margin 3
.background'X',0,78,0,0,0,1,1,76,0,0
.figure 1
1. ^^Adjust paper position so that dark frame on this page is
   copied centered on paper 8.5 inches wide by 11 inches
   high.
2. Copy all remaining pages of document in same manner.
.figure 50
.end object
.rule'X',0,78
.reset
.page width 72.page length 60.offset right page 6
.top title ' '
.footnote RULE '-'
.number footnote
.first form
.nofill
.figure 6
.center no fill ,4
.outline'THEFNDFILUSERSGUIDE',1,1,1,1,1
.letter,3,1;the
.squeeze 9,10,26,42,43,60,61
.skip.letter
FNDFIL
.skip.letter
USERS
.skip.letter
GUIDE
.end object.skip 3
.center ,3
The FNDFIL Installation and User's Guide
.skip
Donald E. Barth
.skip
1-Oct-84
.fill
.page.initial page.skip left page.initial page
.figure 10
.nofill
                     Table of Contents
                     ----- -- --------
.skip2.spacing 2
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
.fill
.spacing 1
.page
.left margin 0
.fill
.page.initial page.skip left page.initial page
.space chapter 0
.number 1
.left top title'>',,'The FNDFIL Installation and User''s Guide'
.right top title'Introduction',,'>'
.fill
.center
INTRODUCTION
.center
------------
.p0
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.
.p0
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.
.p0
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.
.p0
The FNDFIL program was written assuming that files on the public
disk structures are saved according to the following schedules.
.list.list element
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.
.list element
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.
.list element
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.
.list element
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
packs. This schedule could also be used for private structures which
are permanently mounted.
.end list.p0
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.
.p0
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.
.skip 2.test page 10
.right top title'Instructions for Using the FNDFIL Program',,'>'
.center
INSTRUCTIONS FOR USING THE FNDFIL PROGRAM
.center
------------ --- ----- --- ------ -------
.p0
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.
.p0
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.
.p0
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 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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.)
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.nofill
.skip.test page 7
.comment 012345678901234567890123456789012345678901234567890
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
.fill
.left margin 0
.p0
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.
.p0
For example, if the user having programmer number 56 has accounts
for projects 73 and 123, and has files stored in the disk directories
.skip.test page 2
.nofill
[73,56], [73,56,ONE], [73,56,TWO], [123,56], [123,56,THREE]
and [123,56,FOUR],
.fill
.p0
then typing the specifications shown below at the left would cause
the files in the directories listed at the right to be reported.
.nofill
.skip.test page 14
[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
.fill
.comment 012345678901234567890123456789012345678901234567890
.p0
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.
.skip.test page 9
For example, if the user types the instruction
.skip
DSKB:,DSKC:,[100,56],[23,56],ONE,TWO/JUN:84
.skip
or
.skip
/JUN:84 DSKC:ONE[23,56],DSKB:[100,56]TWO
.skip
or these same specifications in any other order
.p0
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.
.p0
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 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.
.p0.test page 6
The following commands can be typed along with the file
specifications.
.left margin 8
.p-8
/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.
.p0
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.
.p-8
/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.
.p-8
/EXIT###stops the program and exits to the monitor.
.p-8
/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.
.p-8
/HELP###displays instructions for running the FNDFIL program on the
controlling terminal.
.p-8
/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.
.p-8
/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.
.p-8
/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.
.lm+4.p-4
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.
.p-4
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.
.p-4
C.##If a /CANCEL command has been issued since the last search was
performed.
.lm-4
.p0
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.
.p0
FNDFIL.DIR=/REPEAT
.p-8
/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.
.left margin 0
.p0
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.
.skip
.nofill
.test page 5
_.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]
########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
.test page 3
*/EXIT
EXIT
_.
.fill
.left margin 0
.fill
.left margin 0
.skip 2.test page 10
.right top title'Names of the Directory Files and Tapes',,'>'
.center
NAMES OF THE DIRECTORY FILES AND TAPES
.center
----- -- --- --------- ----- --- -----
.skip
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.
.p0
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.
.p0
For example,
.lm+8.p-8
TUEC02##would be the second tape in the Tuesday save of the
structure named DSKC.
.p-8
WKDC02##would be the second tape in the week D (the 4th week in the
month) save of the structure named DSKC.
.p-8
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.
.p-8
ABCD02##would be the second tape in the save of the private
structure named ABCD.
.lm-8.p0
The rules by which these names are assigned are described in more
detail below.
.skip.lm+5.i-5.test page 6
Daily Save Tapes
.p0
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.
.p0
The names by which FNDFIL will later refer to these tapes are
constructed from the following components.
.skip.test page 4.lm+4.i-4
1.##The 3 letter abbreviation for the name of the day.
.i-4
2.##The 4th letter of the name of the disk structure.
.i-4
3.##The 2 digit number of the tape within the current set for this
disk structure for this day.
.lm-4.p0
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.
.skip.test page 6.i-5
Weekly Save Tapes
.p0
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.
.p0
The names by which FNDFIL will later refer to these tapes are
constructed from the following components.
.skip.test page 5.lm+4.i-4
1.##The letters WK.
.i-4
2.##The letter which identifies the week.
.i-4
3.##The 4th letter of the name of the disk structure.
.i-4
4.##The 2 digit number of the tape within the current set for this
disk structure for this week.
.lm-4
.p0
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.
.skip.i-5.test page 6
Monthly Save Tapes
.p0
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.
.p0
The names by which FNDFIL will later refer to these tapes are
constructed from the following components.
.skip.lm+4.i-4.test page 3
1.##The letters MB which stand for Monthly Backup.
.i-4
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 replaced
by the leading digits of the number.
.lm-4.p0
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.
.p0
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.
.p0
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.
.skip.test page 6.i-5
Private Structure Save Tapes
.p0
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.
.p0
The names by which FNDFIL will later refer to these tapes are
constructed from the following components.
.skip.lm+4.i-4.test page 3
1.##The 4 character name of the private structure.
.i-4
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.
.lm-4.p0
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.
.lm-5
.fill
.left margin 0
.skip 2.test page 10
.right top title'Instructions for Using the PAKDIR Program',,'>'
.center
INSTRUCTIONS FOR USING THE PAKDIR PROGRAM
.center
------------ --- ----- --- ------ -------
.p0
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
.p5
DAY, WEEK, MONTH or PRIVATE
.p0
Only the first letter of the word specifying the type of directory
is necessary.
.p0
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.
.fill
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.p0
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.
.skip.test page 5
.nofill
_.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
.fill
.p0
The dialog which is shown below resulted when these same 2 test
files were processed as the directories of weekly save tapes.
.skip.test page 5
.nofill
_.RUN PAKDIR
PAKDIR
Compacts directories for FNDFIL
Period (DAY, WEEK, MONTH) or PRIVATE pack? WEEK
Week (A, B, C, D, E)? C
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
.fill
.p0
The dialog which is shown below resulted when these same 2 test
files were processed as the directories of monthly save tapes.
.skip.test page 5
.nofill
_.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
.fill
.p0
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.
.skip.test page 5
.nofill
_.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
Tape DSKA03 contains    22 files
Author (BACKUP, DIRECT)?
   124 total files
Output file is DSKA  .FND
EXIT
.fill
.left margin 0
.skip 2.test page 10
.right top title'Using Batch Control Files to Run PAKDIR',,'>'
.center
USING BATCH CONTROL FILES TO RUN PAKDIR
.center
----- ----- ------- ----- -- --- ------
.p0
A batch control file which could be used to save all of the files on
the public structure named DSKA is listed below.
.nofill
.skip.test page 5
_.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:
.fill
.p0
The corresponding batch control file which would save the contents
of the public structure named DSKB is listed below.
.no fill
.skip.test page 5
_.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:
.fill
.p0
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.
.p0
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.
.no fill
.skip.test page 8
_.R PAKDIR
*MONTH
*0
*BACKUP
*MLYA.DIR
*BACKUP
*MLYB.DIR
*
.fill
.skip 2.test page 10.left margin 0
.fill
.right top title'Resubmitting the Monthly PAKDIR Control File',,'>'
.center
RESUBMITTING THE MONTHLY PAKDIR CONTROL FILE
.center
------------ --- ------- ------ ------- ----
.p0
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.
.p0
The following procedure should be followed if the batch job which
compacts the monthly directories has to be resubmitted for any reason.
.list.list element
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.
.list element
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.
.list element
Whatever caused the original batch job to fail should be corrected.
.list element
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.
.list element
The batch control file should be resubmitted.
.list element
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.
.p0.test page 5.left margin +5
.nofill
File? MLYA.DIR
Tape MB0766 contains 381 files
Tape MB0768 contains  10 files
Tape MB0769 contains  15 files
Tape MB0770 contains  47 files
.fill
.lm-5.p0
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.
.end list
.skip 2.test page 10
.fill
.left margin 0
.right top title'Instructions for Installation and Testing',,'>'
.center
INSTRUCTIONS FOR INSTALLATION AND TESTING
.center
------------ --- ------------ --- -------
.p0
The following procedure can be used to install and test the PAKDIR
program.
.left margin 1.list.list element
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.
.list element
Load and save PAKDIR using the PAKDIR.CMD command file.
.list element
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.
.nofill
.skip.test page 5
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)?
.fill
.list element
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.
.nofill
.skip.test page 7
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)?
.fill
.list element
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.
.list element
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.
.list element
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
.skip.indent 5
Start of save set
.skip
and
.skip.indent 5
Continuation of save set
.skip
in a directory file produced by BACKUP, and the lines which start
with the characters
.skip.indent 5
Read Density:
.skip
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.
.list element
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.
.list element
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.
.list element
If the results appear to be wrong, then fix the PAKDIR program and
test it again.
.list element
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.
.list element
Establish the administrative procedures and batch control files
which are necessary to produce the compacted directory files on a
regular basis.
.end list.skip.test page 5.left margin 0
The following procedure can be used to install and test the FNDFIL
program.
.left margin 1.list.list element
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.
.list element
Load and save the FNDFIL program using the FNDFIL.CMD command file.
.list element
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.
.list element
Run FNDFIL from an account having a programmer number of 377 or
less, and issue the command
.p5
[*,*]*.*/MAY84/JUN84/OLD/GO
.p0
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.
.list element
Move the compacted directories which PAKDIR produced when processing
the locally produced directory files to the central disk directory.
.list element
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.
.list element
If FNDFIL appears to be working properly, move its .EXE file to the
system directory from which it can be accessed by any user.
.list element
Remove the compacted directories which were used to test the FNDFIL
program from the central disk directory.
.end list.left margin 0
.skip 2.test page 10
.fill
.left margin 0
.right top title'Description of the Compacted Directory Files',,'>'
.center
DESCRIPTION OF THE COMPACTED DIRECTORY FILES
.center
----------- -- --- --------- --------- -----
.p0
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.
.list.list element
A right square bracket followed by the tape name if the next file
starts on a new tape. Nothing else appears on this line.
.list element
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 (*).
.list element
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.
.list element
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.
.list element
The length of the file as a decimal number. This number will contain
as many digits as necessary.
.list element
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.
.list element
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.
.list element
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.
.list element
A comma if another file name appears to the right on the same line.
.end list
.p0
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.
.nofill
.skip.test page 5
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
.fill
.p0
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.
.skip.test page 7
.nofill
]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*
.fill
.p0
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.
.skip.test page 5
.nofill
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
.fill
.left margin 0
.skip 2.test page 10
.right top title'List of Files Included in this Package',,'>'
.center
LIST OF FILES INCLUDED IN THIS PACKAGE
.center
---- -- ----- -------- -- ---- -------
.skip
The distributed version of the FNDFIL system consists of the
following source files. This version is for the DECsystem10 only.
.left margin 12
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
FNDFIL.FOR##The FNDFIL program. This must be loaded along with the
files FNDCOM.FOR, FNDHLP.FOR, FNDNEW.FOR, FNDSUB.FOR and FNDMAC.MAC.
.p-12
FNDFIL.RNO##The rough form of the instruction manual. This is meant
to be processed by the FROFF text processor.
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
FNDSUB.FOR##Subroutines needed by both FNDFIL and PAKDIR.
.p-12
PAKDIR.CMD##The command file used to load the PAKDIR program.
.p-12
PAKDIR.FOR##The PAKDIR program. This must be loaded along with the
files FNDCOM.FOR and FNDSUB.FOR.
.left margin 0.p0
The following data files can be used to test the FNDFIL system.
.left margin 12
.p-12
BACKUP.12###Sample directory file written by the BACKUP program
which contains the directories of 2 tapes for May 1984.
.p-12
BACKUP.345##Sample directory file written by the BACKUP program
which contains the directories of 3 tapes for June 1984.
.p-12
BACKUP.6####Sample directory file written by the BACKUP program
which contains the directories of a final tape for June 1984.
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
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.
.p-12
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.
.skip 2.test page 10.left margin 0
.fill
.right top title'FNDFIL Program Development History',,'>'
.center
FNDFIL PROGRAM DEVELOPMENT HISTORY
.center
------ ------- ----------- -------
.left margin 5
.p-5.test page 5
June 1979
.break
Original version.
.p-5.test page 5
January 1982
.break
(Extension) Support for private structures added.
.p-5.test page 5
September 1984
.break
(Correction) Number of files which FNDFIL reported as found for the
month was instead the total number of files found so far.
.p0
(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.
.p0
(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.
.p0
(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.
.p0
(Extension) /REPEAT command added to allow user to search for the
same list of files as were searched for the last time.
.p0
(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.
.p0
(Extension) /CANCEL command added to cancel a set of specifications
just entered. These specifications can then be restored by the
/REPEAT command.
.p0
(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.
.p0
(Extension) Numbers of blocks in the files located in each set of
tapes and overall are now reported.
.p0
(Extension) Disk structures and/or disk directories can be specified
for instruction files and output files.
.left margin 0