CALL ZVERIF (IXDIV,IFLRTN,chTEXT)
with IXDIV 1) the index of a single division to be verified; 2) the index of the store to be verified; = -1: all stores (other negative values are reserved) IFLRTN return flag, see below; chTEXT identifying text to be printed if trouble.
This routine has two somewhat different modes of operation:
Normally ZVERIF checks all the data in and relevant to a complete store, or even several stores. It goes to ZFATAL if it finds trouble.
But if verification is for one single division only, only the banks
of this division are checked and control is given back to the caller
if the flag IFLRTN
is non-zero, in which case the number of
normally fatal conditions is delivered in IQUEST(1)
.
This is intended to be used if one receives a data-structure
in memory (with FZIN, say) which may be bad. Rather than letting
the program run to crash one can realize the situation and
wipe the division. This must be done with MZWIPE because this
is the only way to get rid of the data without Zebra looking
at them.
This routine inspects all link areas and all banks in the stores selected, performing the following checks:
(0) process and store control tables intact; (1) bank chaining intact; (2) a non-zero structural link must point to a true bank address; (3) consistency of "up" and "origin" links; (4) a link in a bank in division A pointing to division B is checked for consistency with the cross-reference matrix; (5) a non-zero reference link in a bank must not point into a reserve area;
ZVERIF is used by the automatic verification procedure ZVAUTO, see next section.