MPE/iX Intrinsics Enhanced [ COMMUNICATOR 3000 MPE MPE/iX RELEASE 4.5 ] MPE/iX Communicators
COMMUNICATOR 3000 MPE MPE/iX RELEASE 4.5
MPE/iX Intrinsics Enhanced
by Rajesh Lalwani
Commercial Systems Division
This version of MPE/iX provides a new Hierarchical File System. There
are no new MPE intrinsics in MPE/iX Release 4.5. However, several
existing MPE intrinsics have been enhanced to support the new MPE/iX
Release 4.5 features such as a filename in HFS syntax, byte stream file
type, and so on.
Please read the article "New Hierarchical File System" in this
Communicator, which provides the necessary background information such as
hierarchical directory structure, current working directory (CWD), and
name servers. The following is list of the MPE intrinsics that have been
enhanced and a brief description of the changes:
* FOPEN
The formaldesig parameter of FOPEN is interpreted using MPE-escape
syntax. Prior to MPE/iX Release 4.5, it was interpreted using MPE
syntax. FOPEN has been enhanced to allow creation of standard
files with byte stream record format. Byte stream record format
is supported only for standard disk files in MPE/iX Release 4.5.
FOPEN foption bits 1 and 2 have always been reserved for MPE, but
were never checked. In this release of MPE/iX, bit 1 is used to
open a byte stream file; therefore, it is a significant bit. To
avoid unexpected problems, be sure to initialize the foption
parameter passed to FOPEN to zero.
FOPEN creates files only in the new file domain hence it cannot
create files with names outside the MPE name space. FOPEN can
open, but not create, HFS directories. HPFOPEN must be used to
create HFS directories. MPE groups and accounts can be created
only by CI commands.
* FCLOSE
Changes have been made in several areas. If the new file status
time stamp has changed, FCLOSE will update this time stamp in the
file label on disk. Only files with valid MPE name are permitted
in the new and temporary domain. HFS directories are permitted
only in the permanent domain. The behavior of the file domain
disposition bits in the disposition parameter can be affected due
to possible unlink() (a POSIX.1 function) operations. The
securitycode parameter will select the security mask assigned to
new permanent files regardless of whether the file is in an MPE
group.
* FCONTROL
FCONTROL has been enhanced to support byte stream files by adding
a new itemnum for controlling append mode. Other options have
been added to provide support for the POSIX.1 function fcntl().
These options include being able to set the close-on-exec flag for
a file, and being able to specify POSIX.1 O_NONBLOCK option. Note
that these options will not work on all file types in MPE/iX
Release 4.5 although that is a long term goal. Finally, several
existing itemnums can also be used with byte stream files and HFS
directories.
* FFILEINFO
New itemnums have been added to provide access to new HFS features
such as a filename in HFS syntax. These new itemnums were created
because old itemnums were unable to accomodate HFS changes. Refer
to the MPE/iX Reference Supplement (32650-90353) for more
information and the behavior of old itemnums in new circumstances.
* FGETINFO
FGETINFO reflects FFILEINFO external changes. It is recommended
that applications call FFILEINFO instead of FGETINFO.
* FLABELINFO
The formaldesig parameter of FLABELINFO is interpreted using
HFS-escape name server. This means that HFS-syntax can be
specified by beginning the formaldesig with a slash or a dot. New
itemnums have been added to provide access to new HFS features.
These new itemnums were created because old itemnums were unable
to accomodate HFS changes. Refer to the MPE/iX Reference
Supplement (32650-90353) for more information and the behavior of
old itemnums in new circumstances.
* FRENAME
The formaldesig parameter of FRENAME is interpreted using
HFS-escape name server. The FRENAME creator-only restriction has
been relaxed. The file referenced by filenum parameter can be
renamed to anywhere in the HFS directory structure as long as the
user has the correct access. FRENAME always fully qualifies the
file owner name. Only file owners and users with appropriate
privilege will be able to manipulate a file's lockword.
FRENAME has certain restrictions. HFS directories cannot be
renamed. Lockwords cannot be assigned to HFS directories. Files
cannot be renamed across volume sets. KSAM, RIO, CIR, and MSG
files can only be assigned names in the MPE name space. This
restriction of assigning only MPE names also applies to the
following files: files in the temporary and new domain, files
with negative file codes, write protection, or file privilege
level other than level three. When a file lacking an ACD is
renamed from an MPE group to a directory that is not an MPE group
within the same account, an ACD is automatically assigned to the
file.
* HPFOPEN
Several new features of the HFS file system are accessible through
the HPFOPEN intrinsic. Byte stream files, HFS directories, and
files outside the MPE name space can be created using HPFOPEN. All
types of directories including MPE groups and accounts can be
opened by calling HPFOPEN.
A name syntax parameter has been added to HPFOPEN to enable MPE,
MPE-escape, and HFS name servers to be selected for interpreting
file names passed to HPFOPEN. MPE-escape is the default.
* HPACDINFO, HPACDPUT
These two ACD related intrinsics now accept the file name (itemnum
= 1) in the MPE-escape syntax. Also the callers can specify a new
item path name (itemnum = 11) which is interpreted using HFS name
server. Please refer to the article "MPE/iX File Access and
Security Enhancements" in this Communicator for the security
changes and the new functions provided by HPACDPUT.
Other intrinsics that have been affected by byte stream files are as
follows: FPOINT, FREAD, FREADDIR, FREADSEEK, FSETMODE, FSPACE, FUPDATE,
FWRITE.
For more information consult the MPE/iX Reference Supplement
(32650-90353).
MPE/iX Communicators