FS_CLOSE

Purpose

Closes the specified file handle.

Calling Sequence

int far pascal FS_CLOSE(type, IOflag, psffsi, psffsd) unsigned short type; unsigned short IOflag; struct sffsi far * psffsi; struct sffsd far * psffsd;

Where

type	indicates what type of a close operation this is.
type == 0	indicates that this is not the final close of the file or device.
type == 1	indicates that this is the final close of this file or device for this process.
type == 2	indicates that this is the final close for this file or device for the system.
IOflag	indicates information about the operation on the handle.
IOflag == 0x0010	indicates write-through.
IOflag == 0x0020	indicates no-cache.

psffsi is a pointer to the file-system-independent portion of an open file instance.

psffsd is a pointer to the file-system-dependent portion of an open file instance.

Remarks

This entry point is called on the every close of a file or device.

Any reserved resources for this instance of the open file may be released It may be assumed that all open files will be closed at process termination. That is, this entry point will always be called at process termination for any files or devices open for the process.

A close operation should be interpreted by the FSD as meaning that the file should be committed to disk as appropriate.

Of the information passed in IOflag, the write-through bit is a mandatory bit in that any data written to the block device must be put out on the medium before the device driver returns. The no-cache bit, on the other hand, is an advisory bit that says whether the data being transferred is worth caching or not.