next up previous contents index
Next: Output an array Up: Description of user Previous: Operations on RZ

Write a bank or data structure

CALL RZOUT (IXDIV,LSUP,KEY,*ICYCLE*,CHOPT)

Input parameter description:

IXDIV
Index of the division(s)
May be zero if the D option is not selected
May be a compound index (see the description of the routine MZIXCO in the MZ reference manual). if the D option is selected
LSUP
Supporting address of the data structure (may be zero if the D option is selected)
KEY
Keyword vector of length NWKEY as specified by RZMDIR.
ICYCLE
Cycle number (A option only)
CHOPT
Character variable specifying the selected options.
data structure
' '
The data structure supported by the bank at LSUP is written out (the next link is not followed)
'D'
Complete division(s)
default: Dropped banks are squeezed out
default: (slower but maybe more economic than DI )
'DI'
Immediate dump of divisions with dropped banks included
'L'
Write the data structure supported by the linear structure at LSUP (the next link is followed)
'S'
Single bank at LSUP
'Q'
Search for existing object with same key vector suppressed. User is responsible for ensuring uniqueness of key vector. In case multiple objects with the same key vector exist, only the first is accessible.
mode
' '
Keep banks available after output (default)
'A'
Key will not be visible by RZLDIR
'N'
No links, i.e. linkless handling
'R'
Replace existing object of identical size and keys
'W'
Drop data structure or wipe division(s) after output

Output parameter description:

ICYCLE
Cycle number associated to the key entered
ICYCLE=1 if KEY was not already present in the directory, and one larger than the previous cycle associated to the key otherwise.

To write a bank, data structure or a complete division to an RZ file and enter the associated key into the current working directory, a call to RZOUT should be made. If the key is not yet present in the directory, a cycle number of one is returned, while in any other case the cycle number is the old one present on the file increased by one.

RZOUT warning messages

In the original design of RZ, 16 bits were used to store the record numbers were data structures were stored. Also, pointers within individual directories were similarly stored in 16 bits. This limits the number of records in an RZ file and the size of directories to 64K.

Should an attempt be made to store a data structure that would increase the size of a directory beyond this limit, RZOUT will automatically delete previous cycles, if any, for the given key vector and issue a warning message.

See the description of RZMAKE for details concerning the revised RZ format, which uses 32 bits for this information and thus circumvents the problem.

RZOUT return codes

IQUEST(1)
Error status
0
Normal completion
1
The directory quota is exhausted, no more space -- nothing has been written
IQUEST(2)
Number of physical records written
IQUEST(3)
Record number of the first record written
IQUEST(4)
Offset of the information inside the first record
IQUEST(5)
Record number of the continuation record
IQUEST(6)
Cycle number of the data structure written
IQUEST(7)
Number of keys in the directory
IQUEST(8)
NWKEY, the number of words per key
IQUEST(9)
Number of records still available in the current subdirectory
IQUEST(11)
NWBK, number of words of bank material



next up previous contents index
Next: Output an array Up: Description of user Previous: Operations on RZ


Janne Saarela
Mon May 15 08:34:47 METDST 1995