HP 3000 Manuals

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