next up previous contents index
Next: FZODAT - storing Up: User specifications for Previous: FZHOOK - connect

FZLIMI - limit the size of an output file

CALL FZLIMI (LUN,ALIMIT)

with    LUN:  logical unit number

      ALIMIT:  floating point number giving, in Mega-words, the
                  limit of the data to be written to one reel of tape;
               if zero: increase the limit by one more reel of tape
               if  -ve: unlimited (as intialized by FZFILE)

Example:   CALL FZLIMI (21, 12.75)   sets the file-size
                                      to 12.75 Mwords for unit 21

         Re-calling later with:

            CALL FZLIMI (21, 0.)      sets the file-size to be the current
                                      data-volume plus 12.75 Mwords

The reason for this facility is the fact that detecting 'end-of-tape' is a problem which cannot be solved satisfactorily in full generality. To help the user who wants control over tape reel switching, ZEBRA counts the total number of words written, and checks after every data-structure written out (but not for start-of-run, end-of-run, end-of-file) whether the limit has been reached. If so, it returns the 'pseudo end-of-tape' condition (cf. FZOUT) for every data-structure output until an increase of the limit to include one more reel of tape is requested with ALIMIT=0. Thus the user can switch tape, call \Rind{FZLIMI (LUN,0.)}, and continue to write another tape, again waiting for the 'end-of-tape' signal.


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