HPlogo Accessing Files Programmer's Guide: HP 3000 MPE/iX Computer Systems > Chapter 6 Closing a File

Closing a Magnetic Tape File

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

The operation of the FCLOSE intrinsic as used with unlabeled magnetic tape is outlined in the flowchart of Figure 6-1 “Using the FCLOSE Intrinsic with Unlabeled Magnetic Tape ”.

Figure 6-1 Using the FCLOSE Intrinsic with Unlabeled Magnetic Tape

[Using the FCLOSE Intrinsic with Unlabeled Magnetic Tape]

Note that a tape closed with the temporary no-rewind disposition is rewound and unloaded if certain additional conditions are not met. It is possible for a single process to open a magnetic tape device using the device class option of HPFOPEN/FOPEN, then again open the already-allocated device by specifying its logical device number (ldev) using the device name option of HPFOPEN/FOPEN. This may be done in such a manner that both magnetic tape files are open concurrently. The second HPFOPEN/FOPEN does not require any operator intervention to allocate the device. When file open and file close calls are arranged in a nested fashion, tape files may be closed without deallocating the physical device, as follows:

   ----
   |  HPFOPEN                    allocated tape
   |      ----
   |      |  HPFOPEN
   |      |  FCLOSE
   |      ----
   |                             tape remains allocated
   |      ----
   |      |  FOPEN
   |      |  FCLOSE
   |      ----
   |  FCLOSE                     deallocated tape
   ----

Such nesting of HPFOPEN/FOPEN and FCLOSE pairs is required to keep from rewinding a tape closed with FCLOSE. A tape closed with the temporary, no-rewind disposition is rewound and unloaded unless the process closing it has another file currently open on the device.

When a temporary no-rewind tape is deallocated, the file system has not placed an EOF (end-of-file mark) at the end of the data file.

The FCLOSE intrinsic can be used to maintain position when creating or reading a labeled tape file that is part of a volume set. If you close the file with a disposition code of 0 or 3, the tape does not rewind, but remains positioned at the next file. If you close the file with a disposition code of 2, the tape rewinds to the beginning of the file, but is not unloaded. A subsequent request to open the file does not reposition the tape if the sequence (seq) subparameter is NEXT or default (1). A disposition code of 1 (save permanent) implies the close of an entire tape volume set.