The routines FZODAT and FZIDAT store and retrieve the direct-acces table onto and from a file.
See section refsec:random-access ``Usage for random access'' for explanations.
To store the Direct-access Table bank:
with LUN: logical unit number IXDIV: index of division or store having the DaT bank !LDAT: address of the DaT bank, if non-zeroIf
LDAT
is zero the DaT 'forward reference' record is written
to be updated later to contain the address of the DaT;
this is useful only as the very first record on the file.
If LDAT
is non-zero the DaT bank is written and the forward reference
record is updated if possible.
To retrieve the DaT bank:
CALL FZIDAT (LUN,IXDIV,!LSUP,JBIAS)
with LUN: logical unit number IXDIV: index of the division to receive the DaT bank The d/s read is linked into a pre-existing d/s as directed by !LSUP and JBIAS, which have the same significance as for MZLIFT: !LSUP: if JBIAS < 1: !LSUP is the supporting bank, JBIAS: connection to link LQ(!LSUP-JBIAS) IQUEST(13) returns the entry adr to the d/s if JBIAS = 1: *!LSUP is the supporting link, connection to *!LSUP* (top-level d/s) !LSUP* returns the entry adr to the d/s if JBIAS = 2: stand-alone d/s, no connection !LSUP* returns the entry adr to the d/s Status return: IQUEST(1) = 0 success -1 DaT not found -2 file is empty