PROCEDURE EqualFile(f1, f2: File): BOOLEAN RAISES {Error};
EqualFile returns TRUE if the two file handles refer to the same underlying regular file, device, or pipe. This is not needed if both are regular files, since the vid and fileSeq fields in the record returned by OS.GetInfo uniquely determine regular files.
Ultrix note: EqualFile reports all sockets and pipes as equal.
PROCEDURE EnsureAllWritten() RAISES {Error};
EnsureAllWritten is equivalent to calling OS.EnsureWritten for every open local file. It is also the only way to ensure that directory modifications have been flushed to disk.
PROCEDURE MakeDevice( dir: Dir; path: PathName; devMajor: Major; devMinor: Minor; mode: FileMode) RAISES {Error}; (* FileExistsEC, NotSuperUserEC *)
MakeDevice creates a device file with the specified path name and major
and minor device number. MakeDevice raises FileExistsEC if the specified
path name is already in use, or NotSuperUserEC unless the caller is the
super-user. MakeDevice sets the file mode of the new device file to the
specified file mode, adjusted using the value of the umask (see the
GetUMask procedure on page ).
PROCEDURE SetExclusiveUse( f: File; flag: BOOLEAN := TRUE) RAISES {Error}; (* BadFileEC, InvalidObjectEC, RemoteFileEC *)
SetExclusiveUse
sets or resets the exclusive-use flag on the file referred to by f; it
raises InvalidObjectEC unless f refers to a regular file or device. When
a file has its exclusive-use flag set, further opens on the same file are
rejected. Once the flag is set, it stays set until all open-file objects
referring to the file are deleted, which occurs when all file handles
referring to those open-file objects are closed.
Taos note: There is currently no known good use for the exclusive-use flag.
The exclusive-use flag has no relationship to advisory locks.