DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦f03f69112⟧ TextFile

    Length: 39168 (0x9900)
    Types: TextFile
    Names: »incsaveinp«

Derivation

└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ.  Detaljer om "HC8000" projekt.
    └─⟦0364f57e3⟧ 
        └─⟦this⟧ »incsaveinp« 

TextFile

(
mode list.yes
incsaveman=compose
global incsaveman
mode list.no
)
*se$* $pl 297,21,240,13,4$
$pn 0,0$$lw 170$ $ld 12$ 
$sb @,6$
$ps0$
$nl$
H.C.Ørsted Institute
$nl$
Computer Department
$nl$
Universitets parken 5
$nl$
DK-2100 København Ø
$nl$$nl17$
$ct$ 
RC8000
Incrementalsavesystem
"incsaveman"
$nl$
$nl$
Viggo Kørst
$nl$
$nl10$
$qr$
$nl$
november 1980
$nl$
80-6
$nl$
revised may 1982
$pn 5,1$
$ps0$
$rj$$nl$
1. CONTENTS
$nl$
-----------
$nl$$nl$
1. Contents....................................... 2
$nl$
$nl$
2. General description............................ 3
$nl$$nl$
3. Description of MTPOOL.......................... 5
$nl$$nl$
4. Description of SAVECAT......................... 6
$nl$$nl$
5. Program descriptions
$nl$$nl$
@@@
Incload....................................... 7
$nl$@@@

Incsave....................................... 8
$nl$@@@
Initsavecat................................... 11
$nl$@@@
Initmtpool.................................... 12
$nl$@@@
Inittempcat................................... 13
$nl$ 
@@@
Listmtpool.................................... 14
$nl$@@@
Looksave...................................... 15
$nl$@@@
Updmtpool..................................... 17
$nl$
$nl$$nl$
Appendix 1 : Example of output from incsave
$nl$$nl$
Appendix 2 : Example of output from listmtpool
$nl$$nl$
Appendix 3 : Example of output from looksave
$rh 1, GENERAL DESCRIPTION$
$ps0$
2. GENERAL DESCRIPTION
$nl$
-----------------------
$nl$$np$
This manual contains a description of an incrementalsavesystem
and a description of the programs in the system.
The purpose of the system is to create as large as possible security 
for catalog entries and bs-files, so that they can be reestablished after a usererror
or systemerror. The main program of the system is incsave.
To explain how the system works and is used, it is easiest to give an
example of the use.
$nl$$np$
The example  is taken from 
the H. C. Ørsted  Institute, where it was developed.
$nl$$nl$
Example:
$nl$
-------
$nl$$np$
When the system is started there are three catalogs which must be
initialised. These are initialised and created by the following three
FP-commands:
$nl$$nl$
inittempcat
$nl$
$nl$
initmtpool daily.10 weekly.20 monthly.2
$nl$
$nl$
initsavecat hashentries.217 bittsize.1
$nl$
$nl$$np$
The first call initialises the catalog TEMPCAT. This is a catalog containing
all entries and bs-files
which are on the last used savetape. If the last used savetape was a totalsave
the TEMPCAT contains only -1 in all words.
$nl$$np$
The catalog contains a record for each entry and this record has exactly
the same format as a record in a usual catalog like MAINCAT(catalog).
$nl$$np$
The second call initialises the MTPOOL. MTPOOL contains a record for each
tape used by the system. (After the example there is a exact description
of the content of each record.) 
 The MTPOOL is by the specified call
 created and initialised with 22 tapes for totalsave and 10 tapes for
dailysave.
There is two kinds of totalsaves, a weekly save and a monthly save. The
user can decide which kind of totalsave he want to perform. In this way
he has a way to keep some of the totaltapes extra long for example a year.
There is no difference in the two kind of totalsaves only the tapes used are
different.
$nl$$np$
The third call initialises and creates a hashcatalog named SAVECAT. In 
the catalog
there is a description for each catalog entry and bs-file which is saved
by the system. In SAVECAT a record describing an entry contains a bittable.
An exact description of the SAVECAT is given below.
$nl$$nl$$np$
When these three files have been initialised, the system is ready for use. One way
of using it is to make a normal dailysave every day and 
 a total save every forthnight. This can  be done by the following FP-commands:
$nl$
$nl$@@@@@@A usual dailysave :  lp= incsave
$nl$$nl$
@@@@@@A total save :       lp=incsave total.weekly
$nl$$np$
To make a daily save it is normally necessary to mount 2 magnetic
tapes. ▶0f◀One is used for the dailysave and the other is used to tranfer
catalog entries and bs-files from the previous tape.
Hereby it is only necessary to mount two tapes,
when for example a whole disc is to be restored.
$nl$$np$
The files transfered from the previous savetape to the new savetape,
are the files which do not exist on disc or drum.
 By this stategy a file saved by the system
will be saved every time a save is made until a totalsave. When a totalsave
is made all files will be on that tape and it is not necessary
to transfer files to the next dailysavetape.
$nl$$np$
If a user wants to find the tapes containing his files  the program
looksave can be used. If a systemerror happens and a disc or drum  
has to be restored the operator can find the tapes to use by calling the
program listmtpool.
$nl$$np$
The program incload is included in the system due to the following problem:
If the system is used on an installation with only one magnetic tape
station, it is not possible to transfer files from another tape.
Instead the operator can load the previous savetape with the FP-command: incload 
std.yes.
Hereby files which are not on disc or drum will be
loaded. Existing files will not be changed.
$nl$$nl$$nl$
$rh 1,DESCRIPTION OF MTPOOL $
$ps0$
3. DESCRIPTION OF MTPOOL.
$nl$
-------------------------
$nl$$np$
The MTPOOL has for each tape used by the incrementalsavesystem
a record with the following format:
$nl$$nl$
@@@@@@@@@@wordno@@@@@@@@@@@@@@@@@@@@@content@@@@@@@@@@@@@@@@@
$nl$
@@@@@@@@@------------------------------------------------------
$nl$$nl$
@@@@@@@@@@@@1@@@@@@@@@@@@@@@@@@@@@@@@@tapeno
$nl$
@@@@@@@@@@@@2@@@@@@@@@@@@@@@@@@@@@@@@
$nl$
@@@@@@@@@@@@3@@@@@@@@@@@@@@@@@@@@@@@@ tapename
$nl$
@@@@@@@@@@@@4@@@@@@@@@@@@@@@@@@@@@@@@ 
$nl$
@@@@@@@@@@@@5@@@@@@@@@@@@@@@@@@@@@@@@
$nl$
@@@@@@@@@@@@6@@@@@@@@@@@@@@@@@@@@@@@@ date of last use
$nl$
@@@@@@@@@@@@7@@@@@@@@@@@@@@@@@@@@@@@@ daily/total (last used)
$nl$$np$
The first word in the MTPOOL contains the number of records in the MTPOOL.
$nl$$nl$$nl$
$rh 1,DESCRIPTION OF SAVECAT$
$ps0$
4. DESCRIPTION OF SAVECAT
$nl$
-------------------------
$nl$
$np$
This catalog is a hashcatalog, where one segment is a hashentry. The catalog
entries and bs-files are inserted in this hashcatalog when they are saved on 
a tape.
$nl$$np$
An entry in the hashcatalog has the following format:
$nl$$nl$
@@@@@@@@@@@@wordno@@@@@@@@@@@@@@@@@@@@@content
$nl$
@@@@@@@@@@@---------------------------------------
$nl$$nl$
@@@@@@@@@@@@@@1@@@@@@@@@@@@@@@@@@@@@@@@hashkey
$nl$
@@@@@@@@@@@@@@2@@@@@@@@@@@@@@@@@@@@@@@@entryname
$nl$
@@@@@@@@@@@@@@3@@@@@@@@@@@
$nl$
@@@@@@@@@@@@@@4
$nl$
@@@@@@@@@@@@@@5
$nl$
@@@@@@@@@@@@@@6@@@@@@@@@@@@@@@@@@@@@@@@lowerbase
$nl$
@@@@@@@@@@@@@@7@@@@@@@@@@@@@@@@@@@@@@@@upperbase
$nl$
@@@@@@@@@@@@@@8@@@@@@@@@@@@@@@@@@@@@@@@permkey,area or entry
$nl$
@@@@@@@@@@@@@@9@@@@@@@@@@@@@@@@@@@@@@@@bittable
$nl$$nl$$np$
The size of the bittable must correspond to the number of tapes in
MTPOOL. The bittable is used in the following way: If bitnumber 1 is 1
this will indicate that the entry is on tape mtsa0002.
$nl$$np$
The first word of each hashentry contains information about the number of entries
 on this segment.
$nl$$np$
$rh 1,INCLOAD $
$ps0$
5. PROGRAM DESCRIPTION
$nl$
-----------------------
$nl$$nl$
INCLOAD
$nl$
-------
$nl$$np$
The program input catalog entries and bs-files from magnetic tape
files generated by the program INCSAVE or SAVE.
The program is completely identical with the utility program LOAD
except for the following parameter:
$nl$$np$
   std.(yes/no)   
$nl$$nl$
Standard is std.yes
$nl$$nl$
In this case only files which does not exist on disc or drum
are loaded.
$nl$
$nl$
If std.no is specified all files and bs-entries are loaded. This is
all files specified in the call of load.
$nl$$nl$
For further description se RCSL No: 31-D494  LOAD 
$nl$
$rh 1,INCSAVE $
$ps0$
$nl$
INCSAVE
$nl$

-------
$nl$$nl$
The program output catalog entries and bs-files to magnetic tape
files for later loading by the program INCLOAD.
$nl$$np$
The program will only save those catalog entries and bs-files which
have been changed, since 
a date specified in the call of the program - or a date specified in one
of the systemfiles used by the system.
$nl$$nl$
Example:
$nl$
--------
$nl$$nl$
All existing catalog entries and bs-files are output on the oldest
magnetic tape used for total save in the MTPOOL by  the FP-command:
$nl$
$nl$
@@@@@@@@@@
incsave total.weekly
$nl$$np$
All catalog entries and bs-files which are changed since the last call of the system
or existing on the newest dailysavetape are output on the oldest magnetic tape, used for
dailysave with the FP-command:
$nl$
$nl$
@@@@@@@@@@
incsave
$nl$
$nl$
$nl$$nl$
Call:
$nl$
-----
$nl$$nl$
@@@@@@@@@@
( <outfile> = )
$nl$
@@@@@@@@@@@@@@@
incsave
@@
( <tapeparameter> )
@@@ ( <savespec> )
$nl$$nl$
@@@@@@@@@@@@@@@
<tapeparameter>::= tape.<tapename>
$nl$$nl$
@@@@@@@@@@@@@@@
<savespec>::= ( <sincespec> ) ( <stdspec> )
$nl$
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@
( <totalspec> ) ( <listspec> )
$nl$
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@
( <segmspec> )
@@@@@@@@@@@
$nl$
@@@@@@@@@@@@
<sincespec>::= since.(last/<date>)
$nl$$nl$
@@@@@@@@@@@@
<stdspec>  ::= std.(yes/no)
$nl$$nl$
@@@@@@@@@@@@
<totalspec>::= total.(weekly/monthly)
$nl$$nl$
@@@@@@@@@@@@
<listspec> ::= list.(yes/no)
$nl$$nl$
@@@@@@@@@@@@
<segmspec> ::= segm.<integer>
$nl$$nl$
@@@@@@@@@@@@
<date>     ::= <year> <mounth> <day> <hour> <minut>
$nl$$nl$
@@@@@@@@@@@@
<year>     ::= <integer>
$nl$$nl$
@@@@@@@@@@@@
<mounth>   ::= <integer>
$nl$$nl$
@@@@@@@@@@@@
<day>      ::= <integer>
$nl$$nl$
@@@@@@@@@@@@
<minut>    ::= <integer>
$nl$$nl$$nl$
Function:
$nl$
---------
$nl$$np$
The parameters are checked.
$nl$
The program is normally used for system purpose and there are two main 
different ways to call the program.
In the first way the program is used to output all catalog entries and
bs-files on magnetic tape files.( In the following called
totalsave)
$nl$$np$
The other way of calling the program is dailysave.
Here all catalog entries and bs-files which have been changed since a specified
date or since the last call of the system are output to magnetic tape files.
$nl$$np$
In both cases the program functions in the following way:
$nl$
All auxillary catalogs are searched through to find the entries and files
 to be saved.
The entries in the auxillary catalog to be saved are inserted
in a catalog called TEMPCAT.
This catalog is sorted by the procedure mdsortproc
 (RCSL No: 28-D4 (p1) ) 
in alfabetic order.
When this is done the program will find the magnetic tape to
be used for the save.
This is done if the tapename is not specified in the call in the MTPOOL.
This MTPOOL contains a description of each tape used by the system.
$nl$$np$
When the magnetic tape is found, all entries in TEMPCAT are output to
the first

file on that tape.
After this the entries in TEMPCAT are inserted in the hashcatalog SAVECAT.
SAVECAT is organised with a description of each catalog entry.
This description contain a bittable where a bit indicates whether the entry
is on the tape indicated by that bit or not.
If bitnumber one is 1 this indicates that the entry is one tape number
2.
$nl$$np$
When all entries that were output to the magnetic tape are inserted in the
SAVECAT, the bs-file MTPOOL is updated. MTPOOL contain a description of
the magnetic tapes used by the system. The information   
updated, is the date when the save was done.
$nl$$np$
There are two different form of totalsave. Both kinds outputs all entries
to magnetic tape. The only difference in the two calls are those tapes the
save are using. With this facility the user has a way to keep some
of the totalsavetapes extra long. For example the monthly totalsavetapes
can be keept in a year if the user want that. 
$nl$$np$
The last function of the program is to output the three bs-files MTPOOL, SAVECAT
and TEMPCAT on the tape.
$nl$$nl$$nl$
Function of the parameters:
$nl$
---------------------------
$nl$
since.(last/(<date>)
@@@
Standard since.last
$nl$
If <date> is specified only those catalog entries and bs-files which
were changed since that date are output on magnetic tape.
$nl$$nl$
std.(yes/no)
@@@ Standard std.yes
$nl$
This indicates that the files from the previous savetape are also
output on the magnetic tape used to day. ( This is only the case if
the previous savetape was a dailysavetape.)
$nl$
std.no indicates that only the catalog entries and bs-files  changed
since the specified date are output on magnetic tape.
$nl$$nl$
list.(yes/no)@@@
Standard list.yes
$nl$
Specifies that all saved entries are listed.
$nl$$nl$
total.(weekly/monthly)@@@
$nl$
Specifies wether the save is a totalsave or a dailysave
$nl$$nl$
segm.<integer>@@@
Standard segm.8
$nl$
Specifies how many segments  the blocks on the magnetic tape 
 contains.
$nl$$nl$$nl$
Error messages:
$nl$
---------------
$nl$
*** Wrong since specification
$nl$
*** Wrong total specification
$nl$
*** Wrong standard specification
$nl$
*** Wrong list specification
$nl$
*** Wrong date specification
$nl$
*** Wrong segm specification
$nl$
*** Mtpool does not exist
$nl$
*** Creation of temporary savecat not ok
$nl$
*** Dumpcat does not exist
$nl$
*** Creation of temporary mtpool not ok
$nl$
*** Tempcat does not exist
$nl$
*** Creation of temporary tempcat not ok
$nl$
*** The catalog can not be sorted result of mdsortproc = <integer>
$nl$
The result and explanation of mdsortproc is showed.
$nl$
After all these errors the save is stopped 
$nl$
$rh 1, INITSAVECAT $
$ps0$
$nl$
INITSAVECAT
$nl$
-----------
$nl$$nl$The program is used to initialise the hashcatalog SAVECAT.
$nl$$nl$
Example:
$nl$
--------
$nl$
The SAVECAT is created with scope user, with a size of 217
hashentries and a bittable size of 1 word by the FP-command:
$nl$
@@@@@@@@@@@@@@@
initsavecat hashentries.217 bittsize.1
$nl$$nl$$nl$
Call:
$nl$
-----
$nl$
@@@
( <outfile> ) = initsavecat hashentrie.<integer> bittsize.<integer>
$nl$$nl$
Function:
$nl$
---------
$nl$$np$
If the SAVECAT does not exist it is created and initialised
in the following way:
$nl$
The first word of each segment of the catalog is set to 0 and all other
words of the catalog are set to -1.
$nl$$nl$$nl$
Function of parameters:
$nl$
-----------------------
$nl$
hashentries.<integer>@@@
Standard hashentries.217.
$nl$
Specifies the number of segments the catalog  contain.
$nl$$nl$
bittsize.<integer>@@@
Standard bittsize.1
$nl$
Specifies the number of magnetic tapes used in the system.
That is if bittsize is 1 the the highest number of tape to use is 24.
If bittsize is not specified, it is first controlled whether the MTPOOL
exist and if it does then the bittable size is set according to that.
That means if the MTPOOL contains 48 magnetic tapes the bittable size is
set to 2 words.
$nl$
$nl$
$nl$
Error messages:
$nl$
---------------
$nl$
*** Param error
$nl$
$nl$
*** Dumpcat does allready  exist.
$nl$
If SAVECAT exist nothing is done, because it could have serious
consequences if a catalog describing a system used in a year for
example was initialised. If you want to initialise SAVECAT it must
not exist.
$nl$
$nl$
*** Connect error = 
$nl$
The output file does not exist or is reserved by another process. The result
of the fpprocedure connect output is showed.
$nl$
$nl$
*** Creation of savecat not ok.
$nl$
The catalog can not be created or it can not be permanented.
$rh 1,INITMTPOOL $
$ps0$
$nl$
INITMTPOOL
$nl$
----------
$nl$
The program initialises and creates the MTPOOL.
$nl$$nl$
Example:
$nl$
--------
$nl$
MTPOOL is created with 22 totalsavetapes and 10 dailysavetapes
by the FP-command:
$nl$
$nl$
initmtpool  daily.10 weekly.20 monthly.2
$nl$$nl$
Call:
$nl$
-----
$nl$
( <outfile> ) = initmtpool daily.<integer> weekly.<integer> monthly.<integer>
$nl$
$nl$
Function:
$nl$
---------
$nl$
$np$
The program creates and initialises the MTPOOL with the specified number
of magnetic tapes. It is created so that the tape names and numbers
are inserted in the MTPOOL. The date indication is set to 0 which
indicates that the tapes is not used yet.
$nl$$nl$$nl$
Error messages:
$nl$
---------------
$nl$
*** Param error
$nl$
NOTE: This can happen if the integer specified by all.<integer>
 is not greater
than the integer specified by total..
$nl$
*** Mtpool does exist.
$nl$
MTPOOL is only created if it does not exist, because it could have
to big concequence to remove an existing MTPOOL.
$nl$
*** Mtpool can not be created
$nl$
Creation af MTPOOL is not  ok or it is not possible to permanent a created
MTPOOL.
$nl$
*** Connect error =
$nl$
The outfile does not exist or is reserved by an other process. The result of
the FP-procedure connect output is showed.
$rh 1,INITTEMPCAT $
$ps0$
INITTEMPCAT
$nl$
-----------
$nl$$np$
The program is used to create and initialise TEMPCAT.
$nl$
$nl$
Call:
$nl$
----
$nl$
inittempcat
$nl$$nl$$nl$
Function:
$nl$
---------
$nl$
The program creates TEMPCAT and insert -1 in every word of TEMPCAT.
$nl$
$nl$$nl$
Error mesages:
$nl$
--------------
$nl$
*** Tempcat does exist
$nl$
*** Creation of tempcat not ok 
$nl$
Tempcat can not be created or permanented.
$rh 1,LISTMTPOOL$
$ps0$
LISTMTPOOL
$nl$
----------
$nl$
The program is used to list the MTPOOL.
$nl$$nl$
Call:
$nl$
-----
$nl$
   ( <outfile> ) = listmtpool
$nl$$nl$$nl$
Function:
$nl$
---------
$nl$
$np$
The information in the MTPOOL is listed. This information can be used
if some files are going to be loaded. It can also be used if it
is necessary to insert or remove a tape from the MTPOOL or if it is
necessarry to change some information there.
$nl$$nl$$nl$
Error message:
$nl$
--------------
$nl$
*** Mtpool does not exist
$nl$
*** Connect error =
$nl$
$rh 1,LOOKSAVE $
$ps0$
LOOKSAVE
$nl$
--------
$nl$$nl$
This program is used to lookup an entry  in the catalog SAVECAT.
$nl$$nl$
Example:
$nl$
--------
$nl$
The entry vko is looked up in SAVECAT and  the last dailysavetape and last totalsavetape
where the entry exist is printed
 by the following FP-command:
$nl$
@@@@@@@@@@
looksave vko
$nl$
The entry vko is looked up in SAVECAT and all magnetictapes where it exist
are listed by the FP-command:
$nl$
@@@@@@@@@@
looksave all.yes vko
$nl$
$nl$
$nl$
Call:
$nl$
-----
$nl$
@@@@
( <outfile>  ) = looksave <allspec> <scopespec> <basespec>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<entryspec>
$nl$
$nl$
@@@@
<allspec>::= ( all.(yes/no) )
$nl$
@@@@
<scopespec>::= ( scope. (login/user/project/own) )
$nl$
@@@@
<basespec>::= ( base.<integer>.<integer> )
$nl$
@@@@
<entryspec>::= ( <entryname> )
$nl$$nl$$nl$
Function:
$nl$
---------
$nl$$np$
After a check of existense of MTPOOL and SAVECAT the program finds the
entry in SAVECAT and interpretes the bits in the bittable belonging to
the entry in SAVECAT. 
$nl$
 The program will output 
$nl$
*** entry <entryname> does not  exist in savecat
$nl$
if the file does not exist in SAVECAT or the entry
base are such that it is not visible for the process.
$nl$
$nl$
To this rule there is one exeption as it is possible to specify
under which base the entry is.
$nl$
$nl$
$nl$
Function of parameter:
$nl$
----------------------
$nl$$nl$
all.(yes/no)   Standard all.no.
$nl$
Specifies whether all the magnetic tapes where the <entryname>
exist should be listed.
$nl$
scope.(login/user/project/own)  Standard scope.own.
$nl$
Specifies under which scope the <entryname> in SAVECAT is searched.
If scope.own is specified the program searches all the entries specified
by <entryname> in SAVECAT which are visible for the process.
$nl$
base.<integer>.<integer>
$nl$
Specifies under which base the  <entryname> is searched.
$nl$
<entryname>
$nl$
Specifies which entry looksave shall lookup in SAVECAT.
$nl$
$nl$
$nl$
Error messages:
$nl$
---------------
$nl$
*** Dumpcat does not exist
$nl$
The program can not read in SAVECAT.
$nl$
*** Mtpool does not  exist
$nl$
*** Connect error =
$nl$
The outfile does not  exist or is reserved by an other process.
The result of the FP-procedure connect output is shown.
$nl$
$nl$
$rh 1,UPDMTPOOL $
$ps0$
UPDMTPOOL
$nl$
---------
$nl$
The program is used to insert or remove a magnetic tape entry in MTPOOL.
$nl$$nl$
Example:
$nl$
--------
$nl$
The tapes entry mtsa0001 is removed from the MTPOOL by the following
FP-command:
$nl$
$nl$
@@@@@@@@@@
updmtpool tape.mtsa0001 remove.yes
$nl$
The magnetic tape entry mtsa0001 is inserted in the MTPOOl by the following
FP-command:
$nl$
$nl$
updmtpool tape.mtsa0001
$nl$$nl$$nl$
Call:
$nl$
-----
$nl$
$nl$
( <outfile> = updmtpool <tapespec> <removespec>
$nl$
@@@@@@@@@@@@@@@@@@@@@@@
<datespec> <nospec> <totalspec>
$nl$
$nl$
@@@@
<tapespec>::= tape.<tapename>
$nl$
@@@@
<removespec>::= remove.(yes/no)
$nl$
@@@@
<datespec>::= (date.<date>)
$nl$
@@@@
<nospec> ::= no.<integer>
$nl$
@@@@
<totalspec>::= ( total.(weekly/monthly) )
$nl$
@@@@
<date>::= <year> <mounth> <day> <hour> <minut>
$nl$
@@@@
<year>::= <integer>
$nl$
@@@@
<mounth>::= <integer
$nl$
@@@@
<day> ::= <integer>
$nl$
@@@@
<hour> ::= <integer>
$nl$
@@@@
<minut> ::= <integer>
$nl$$nl$$nl$
Function:
$nl$
---------
$nl$$np$
The program  updates the MTPOOL. It can be done in three different ways:
$nl$
1. It can remove a tape entry from the MTPOOL.
$nl$
This is done by specifing remove.yes in the call. When the program has to
remove a tape from the MTPOOL the bit belonging to that tape is also
removed from all entries in SAVECAT. The tape is removed in the following
way:
$nl$
In the record in MTPOOL belonging to the tape -1 is inserted in all words
of that entry except the tapename. In this way the tape will never be used to
a dailysave or totalsave.
$nl$
$nl$
2. It can insert a tape in the MTPOOL.
$nl$
This is done with the command updmtpool tape.<tapename> and the other parameter
to the call  indicating whether it is going to be used to totalsave tape or
 dailysavetape
.              
$nl$
 This may require that the SAVECAT  has to be reorganised.
 This can be a small change
if the bittable in the entries in SAVECAT can hold one more bit. If the bittable
can not contain the new bit the program has to  make the size of each
savecatentry 1 word larger. This is the case if there are 24 tapes in the MTPOOL
and one more tape is inserted.
$nl$
$nl$
3. It can change the information about an existing  tape in the MTPOOL.
$nl$
This is the case if updmtpool is called with an existing tapename and 
without
remove.yes. When this is the case it may be specified what  to insert.
$nl$$nl$$nl$
Function of parameters:
$nl$
-----------------------
$nl$
tape.<tapename>
$nl$
Is used to specify which tape to do something about.
$nl$
remove.(yes/no) Standard remove.no.
$nl$
Specifies if the tape is going to be removed or not.
$nl$
date.<date> Standard date.0 0 0 0 0.
$nl$
Specifies the date information in the record of the tapeentry in the MTPOOL.
The date 0 indicates that this is the oldest tape in the MTPOOL and probabaly
is going to be used to the next save.
$nl$
Specifies if the tape is going to be a totalsavetape or  a dailysavetape.
$nl$$nl$$nl$
Error messages:
$nl$
---------------
$nl$
*** Mtpool does not exist
$nl$
*** Creation of temporary mtpool not possible
$nl$
A temporary MTPOOL is created so that if the process calling the program
is going down nothing  will happen to the MTPOOL.
$nl$
*** The date specification is wrong
$nl$
***  Dumpcat does not  exist
$nl$
*** Creation of temporary savecat not possible
$nl$
*** Param error
$nl$
*** It is not possible to rename mtpool
$nl$
*** It is not possible to rename savecat
$nl$
***
 Tapename does not exist in MTPOOL
$nl$

$nl$
$rh 1,  $
$sj$
$pl 297,0,280,0,0$
$pn 0,0$
$lw 185$
$ps0$
\f


Appendix 1 : Example of output from incsave
\f

                                                            page  1
savelabel: save  mtsa0021    001   vers. 171180.09   s=8   mtsa0021                      

allist           3  3.disc3              120       129 d.801114.1635
allstatel        2  2.disc3              120       129 d.801009.1633
alutproc         8  2.disc2              120       129 d.800909.1707
alw             24  3.disc3              120       129 d.801114.1623
alw              4  3.disc3             2020      2029 d.801114.1533
ap1           16443  3.disc3         -8388607   8388605 d.801116.1203
ap2              2  3.disc1         -8388607   8388605 d.801116.1246
ap3              1  3.disc3         -8388607   8388605 d.801116.1243
atinit           1  2.disc2              120       129 d.801114.1618
bits             1  3.disc2                0      1999 d.801113.1454
bittxt           8  3.disc2               20        29
cdes            84  3.disc1             2020      2029 d.801112.1208
cdiv            14  3.disc1             2020      2029 d.801114.1528
cgutil          63  3.disc3                0      1999 d.801115.1159
coreproc         7  2.disc3              120       129 d.801009.1459
crb            crb  3.cardreader    -8388607   8388605 d.781104.2036
crc            crc  3.cardreader    -8388607   8388605 d.781104.2036
crd            crd  3.cardreader    -8388607   8388605 d.781104.2036
cryprog        189  3.disc3              120       129 d.801114.1624
desc           200  3.disc3              180       189 d.801114.1551
describe       119  3.disc1                0   8388604 d.801112.1302
describeinp      6  2.disc1             2020      2029 d.801112.1208
discdata         4  3.disc2              120       129 d.801114.1139
discjob          1  3.disc2              120       129 d.801114.1136
discrete       164  2.disc2              120       129 d.680101.0443
discrlist      142  2.disc2              120       129 d.801114.1216
elht             2  3.disc             50020     50029 d.801113.1246
findill         21  3.disc1                0   8388604 d.801113.1433
gamerecords     84  3.disc             60000     60009
hcorder01        9  3.disc2               60        69 d.801115.1236
hcorder03        9  3.disc2               60        69 d.801114.1025
houstona        pl  3.terminal2          140       149 d.801006.1327
houstont         2  2.disc2              140       149 d.801112.1258
houstt          28  2.disc2              140       149 d.801112.1301
in1besk         20  3.disc2              180       189 d.801112.1359
inbesk          20  3.disc2              180       189
inc1desc        30  3.disc1              180       189 d.801115.2101
incarb           3  3.disc1         -8388607   8388605 d.801114.1052
incdesc         31  3.disc3              180       189 d.801116.1125
incre1bs        17  3.disc3              180       189 d.801112.1422
increbs         17  3.disc2              180       189 d.801112.1411
incsave        207  3.disc3         -8388607   8388605 d.801114.0955
invk12         111  3.disc3              180       189 d.801112.1527
ionloop          2  2.disc3              120       129 d.800909.1738
it246tcl         1  2.disc             50020     50029 d.801112.1352
it246tf          1  2.disc             50020     50029 d.801112.1350
it26dcl          1  2.disc             50020     50029 d.801112.1355
it26df           1  2.disc             50020     50029 d.801112.1348
it35dbr          1  2.disc             50020     50029 d.801112.1353
itpf             1  2.disc             50020     50029 d.801112.1405
jobfil           1  3.disc2              180       189 d.801114.1542
jocontract      63  3.disc3               60        69 d.801115.1156
kk1              1  3.disc1             2020      2029 d.801112.1432
kklistopt3      20  2.disc3             2020      2029 d.801112.1459
kklp            25  3.disc3             2020      2029 d.801112.1451
kkmon8003       97  3.disc1             2020      2029 d.801112.1513
kkmon8004       18  2.disc3             2020      2029 d.801112.1424
kkmonclear       1  3.disc1             2020      2029 d.801112.1447
kkmonlist3    2453  3.disc3             2020      2029 d.801112.1460
kkmonret3       29  2.disc3             2020      2029 d.801001.1659
kkmonret4        7  3.disc1             2020      2029 d.801112.1040
$ps0$                                                            page  2
savelabel: save  mtsa0021    001   vers. 171180.09   s=8   mtsa0021                      

kkmontest      108  3.disc1             2020      2029 d.801112.1431
kkopt3          20  2.disc3             2020      2029 d.801021.1307
kkopt4           6  3.disc1             2020      2029 d.801112.1105
kktmontest      71  3.disc1             2020      2029 d.801112.1422
kl5378           2  2.disc3            50020     50029 d.801112.1343
kl5379           2  2.disc3            50020     50029 d.801112.1344
kl5380           2  2.disc3            50020     50029 d.801112.1345
kl5381           2  2.disc3            50020     50029 d.801112.1346
kl5382           2  2.disc3            50020     50029 d.801112.1347
kl5383           2  2.disc3            50020     50029 d.801112.1349
kl5384           2  2.disc3            50020     50029 d.801112.1350
kl5385           2  2.disc3            50020     50029 d.801112.1351
kl5386           2  2.disc3            50020     50029 d.801112.1352
kl5387           2  2.disc3            50020     50029 d.801112.1354
kl5388           2  2.disc3            50020     50029 d.801112.1355
kl5389           2  2.disc3            50020     50029 d.801112.1357
kl5390           2  2.disc3            50020     50029 d.801112.1406
kl5nr            0  3.drum             50000     59999
libman          56  3.disc1             2020      2029 d.801114.1535
link8000         6  2.disc1             2020      2029 d.800115.1423
listhc01       126  3.disc2               60        69 d.801115.1236
listhc03        96  3.disc3               60        69 d.801114.1024
listhcøman      63  3.disc1                0   8388604
listman          3  3.disc1                0   8388604 d.801027.1624
listmaninp       4  2.disc1             2020      2029 d.801114.1535
listmtpool      33  3.disc2              180       189 d.801113.1619
looksave        50  3.disc3         -8388607   8388605 d.801116.1202
lp              lp  3.printer       -8388607   8388605 d.801116.1257
m2901           10  3.disc2               60        69 d.800529.1251
mcatinit       131  2.disc3             2020      2029 d.800611.0833
mcentral        97  2.disc1             2020      2029 d.801112.1453
mdef            29  2.disc1             2020      2029 d.801112.1452
mdisc          156  2.disc1             2020      2029 d.800611.0830
mfpaline       128  2.disc1             2020      2029 d.800611.0831
mfpasub        158  2.disc3             2020      2029 d.800611.1253
mhost           82  2.disc1             2020      2029 d.800611.1253
micasm01       112  3.disc3                0      1999 d.801115.1234
micasm03       126  3.disc2                0      1999 d.801113.1234
moncatinit     131  2.disc3             2020      2029 d.800611.0833
moncentral      84  2.disc1             2020      2029 d.800625.0801
mondef          28  2.disc1             2020      2029 d.800611.1252
mondisc        156  2.disc1             2020      2029 d.800611.0830
monfpaline     128  2.disc1             2020      2029 d.800611.0831
monfpasub      158  2.disc3             2020      2029 d.800611.1253
monhost         82  2.disc1             2020      2029 d.800611.1253
monprocfnc1     84  2.disc3             2020      2029 d.800623.1454
monprocfnc2    246  2.disc3             2020      2029 d.800612.1131
monprocs       175  2.disc1             2020      2029 d.800611.1253
mons1           81  2.disc3             2020      2029 d.800611.0832
mons2           95  2.disc3             2020      2029 d.800611.1255
montabinit      23  2.disc1             2020      2029 d.800611.1254
mprocfnc1       84  2.disc1             2020      2029 d.800623.1454
mprocfnc2      246  2.disc1             2020      2029 d.801112.1453
mprocs         184  2.disc1             2020      2029 d.801112.1453
ms1             81  2.disc3             2020      2029 d.800611.0832
ms2             95  2.disc3             2020      2029 d.800611.1255
mtabinit        25  2.disc1             2020      2029 d.801112.1453
orcbinp          4  2.disc1             2020      2029 d.801114.1528
orcbprog        63  3.disc1                0   8388604
pendown          1  3.disc2              140       149 d.801112.1619
penup            1  3.disc2              140       149 d.801112.1619
pl              pl  3.plotter       -8388607   8388605 d.781104.2036
$ps0$                                                            page  3
savelabel: save  mtsa0021    001   vers. 171180.09   s=8   mtsa0021                      

plotend          1  3.disc2              140       149 d.801112.1619
plotxy          10  3.disc2              140       149 d.801112.1619
*** entry reserved:  primospool
*** entry reserved:  primotest
ptre           tre  3.reader        -8388607   8388605 d.781104.2036
ptrf           trf  3.reader        -8388607   8388605 d.781104.2036
ptrn           trn  3.reader        -8388607   8388605 d.781104.2036
ptro           tro  3.reader        -8388607   8388605 d.781104.2036
r              nrz  3.ttape               60        69 d.800528.1251
r              nrz  3.ttape              630       639 d.801003.1443
r1             nrz  3.ttape               60        69 d.800528.1251
rdcos           bs  3.rdsin              610       619
rdreal          bs  3.rdsin              610       619
rdsqrt          bs  3.rdsin              610       619
rydgen1        182  2.disc3              120       129 d.801114.1636
rydgen1txt      24  2.disc3              120       129 d.801114.1624
rydseg           9  2.disc2              120       129 d.801010.1252
rydstruct       18  2.disc2              120       129 d.800731.1445
ryglobal         2  2.disc2              120       129 d.800731.1451
rymac           63  3.disc3              120       129 d.801114.1620
ryproc          11  2.disc2              120       129 d.800731.1255
setplotstep      1  3.disc2              140       149 d.801112.1619
simarb           4  3.disc3              180       189 d.801113.1642
spiral         107  2.disc2              140       149 d.801112.1619
spiraltxt        2  2.disc2              140       149 d.801112.1516
stateloop        2  2.disc3              120       129 d.800909.1740
statevar         1  2.disc3              120       129 d.800507.1437
swt              1  2.disc2              140       149 d.801029.1435
t1looksave      18  3.disc2              180       189 d.801113.1010
t20             lp  3.terminal20         120       129 d.800620.1129
t22             lp  3.terminal22         120       129 d.800620.1327
t2901dec         2  3.disc2               60        69 d.801114.1501
t2901dir        17  3.disc2               60        69 d.801115.1143
t2901init        5  3.disc2               60        69 d.801114.1520
t2901proc       19  3.disc2               60        69 d.801115.1228
t290xasm        63  3.disc2               60        69 d.801112.1455
taldiscr       120  3.disc2              120       129 d.801114.1112
talgprog       322  3.disc1             2020      2029 d.801113.1433
tall            24  3.disc             50020     50029 d.801113.1306
tall1           24  2.disc             50020     50029 d.801113.1226
tcgorder010    117  3.disc3               60        69 d.801114.1443
tcgorder030    104  3.disc3               60        69 d.801114.1023
tdescribe       49  3.disc1             2020      2029 d.801112.1302
tdiscdata        4  3.disc2              120       129 d.801113.1617
tek4006a        pl  3.terminal2          140       149 d.801008.1322
term            tw  3.terminal      -8388607   8388605 d.781104.2036
tfindill         1  2.disc1             2020      2029 d.801113.1433
tincload        59  3.disc1              180       189 d.800829.1334
tincsave       111  3.disc3              180       189 d.801116.1215
tinitdumcat      7  3.disc3              180       189 d.801112.1506
tinittemcat      4  3.disc3                0      1999 d.801112.1456
tlistmtpool      6  3.disc               180       189 d.801113.1618
tlooksave       18  3.disc3              180       189 d.801113.1621
toutshortcl      1  2.disc1             2020      2029 d.801024.1042
tpe            tpe  3.punch         -8388607   8388605 d.781104.2036
tpf            tpf  3.punch         -8388607   8388605 d.781104.2036
tplot          210  3.disc2              140       149 d.801112.1422
tplotxy         10  2.disc2              140       149 d.801112.1747
tpn            tpn  3.punch         -8388607   8388605 d.781104.2036
tpo            tpo  3.punch         -8388607   8388605 d.781104.2036
tpt            tpt  3.punch         -8388607   8388605 d.781104.2036
tre            tre  3.reader        -8388607   8388605 d.781104.2036
$ps0$                                                            page  4
savelabel: save  mtsa0021    001   vers. 171180.09   s=8   mtsa0021                      

trf            trf  3.reader        -8388607   8388605 d.781104.2036
trn            trn  3.reader        -8388607   8388605 d.781104.2036
tro            tro  3.reader        -8388607   8388605 d.781104.2036
tupdmtpool      27  3.disc3              180       189 d.801112.1510
u80             lp  3.terminal31           0   8388604 d.800929.1139
vko1            32  3.disc3              180       189 d.801116.1256
mtpool           1  3.disc3         -8388607   8388605
savecat        217  3.disc3         -8388607   8388605
tempcat         13  3.disc3         -8388607   8388605
   entries = 192   segm= 26819
$ps0$
\f


Appendix 2 : Example of output from listmtpool


List of mtpool
--------------

  1   mtsa0001 total  used 800823.0914

  2   mtsa0002 total  used 800909.1105

  3   mtsa0003 total  used 801011.1002

  4   mtsa0004 total  used 801011.1202

  5   mtsa0005 total  used 801022.0917

  6   mtsa0006 total  used 801022.1100

  7   mtsa0007 total  used 801031.0922

  8   mtsa0008 total  used 801104.1614

  9   mtsa0009 total  used 801111.1515

 10   mtsa0010 total  used 801111.1605

 11   mtsa0011 daily  used 801105.0858

 12   mtsa0012 daily  used 801106.0937

 13   mtsa0013 daily  used 801107.0915

 14   mtsa0014 daily  used 801110.1048

 15   mtsa0015 daily  used 801110.1450

 16   mtsa0016 daily  used 801112.0917

 17   mtsa0017 daily  used 801113.0930

 18   mtsa0018 daily  used 801114.0955

 19   mtsa0019 daily  used 801115.1360

 20   mtsa0020 daily  used 801116.1113

 21   mtsa0021 daily  used 801028.1000

 22   mtsa0022 daily  used 801030.0936

 23   mtsa0023 daily  used 801103.1355

 24   mtsa0024 daily  used 801104.1219
$ps0$
\f


Appendix 3 : Example of output from looksave




invk12       scope.***      area     180   189

on     mtsa0020    daily save tape  date 801116.1113

on     mtsa0010    total save tape  date 801111.1605
$ef$
finis
▶EOF◀