The unit of information on a ZEBRA file is the data-structure. It may consist of zero, one, two, or more data-segments. The data-segments reflect the original residence of different parts of the data-structure in different divisions at the moment when the d/s was transferred from memory to the file with FZOUT. When the d/s is transferred back from the file to memory with FZIN individual data-segments may be directed to separate divisions, or may be ignored.
User information which may be associated with each d/s is the 'user header vector', specified and received via parameters to FZOUT and FZIN, and the 'text vector' taken from and delivered to the text-buffer associated to the file with FZTXAS (implementation of this routine is pending).
On the file the data-structure is represented by the 'pilot information' followed by the 'bank material'. The pilot carries all the control and context information, namely:
This is followed by the 'bank-material', which carries the copy of the memory regions originally occupied by the banks of the data-structure. The data-structure may in fact be empty, in which case there is no bank-material.
In Native Data Format the bank material on the file is a simple dump of the memory; but in Exchange Data Format the numbers have to be transformed from the internal to the exchange representation. To make this possible automatically, every bank carries its 'I/O characteristic' describing the integer/floating/Hollerith nature of its contents exactly; see the descriptions of the routines MZLIFT and MZBOOK. Banks of type 'undefined' cannot be transported.
The exact details for the file and data formats are found in Chapter .