HP 3000 Manuals

New and Enhanced CI Commands [ COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00) ] MPE/iX Communicators


COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00)

New and Enhanced CI Commands 

by Bellos Nisan 
Commercial Systems Division 

Product Overview 

Releases 4.5 and 5.0 of MPE/iX provide POSIX standard functionality as an
integral part of the MPE operating system.  As a result, POSIX-compliant
applications can run on MPE/iX with little or no change.  MPE/iX has been
designed so that the existing interfaces (such as intrinsics and CI
commands) can refer to all the objects in the directory without changing
the way they refer to the MPE objects such as files in groups.  Also,
POSIX interfaces such as POSIX.1 functions and POSIX.2 commands are able
to refer to MPE objects such as accounts and groups and files within
them.  It is important to note that MPE applications and scripts that
executed successfully prior to Release 5.0 will continue to function
correctly in Release 5.0.

In addition to POSIX, other enhancements have been made to MPE/iX that
enable the users to better control the system resources.  To manage and
utilize this new functionality several CI commands have been added and
many old commands have been enhanced.  The focus of this article is on
the Command Interpreter (CI) changes and additions.

Hierarchical File System (HFS) 

The MPE operating system had been designed primarily for use in a
department setting.  All the users in a particular department are
typically grouped together and placed in one account.  Similarly, an
account, such as PAYROLL, could organize its files in groups such as
JAN92, FEB92, and so on.  In this model, the directory tree consists of
one or more accounts, with each account containing one or more groups or
directories.  Finally, each group has zero or more files in it.  Hence,
this file.group.account structure can be looked at as a 3-level
hierarchical structure.  The first level has account entries, the second
level group entries, and the third level the actual files.

POSIX, however, has an expanded version of MPE hierarchy.  The POSIX
directory structure has a root directory, which is represented by a slash
(/).  The root directory may have files and directories under it.  The
directories, in turn, have files and directories under them.

MPE/iX has integrated the MPE and POSIX concepts resulting in the new
hierarchical file system (HFS). On MPE/iX, the root directory may contain
files, directories, and accounts.  Accounts and groups are treated as
special directories.  (For example, groups and accounts cannot be purged
by the PURGEDIR command, which is discussed later on in this article.)
Also, groups and accounts contain additional information such as
capabilities and limits.  Hierarchical File System (HFS) directories do
not contain such information.

A typical MPE/iX directory may look like this:

                                        /
                                        |
           +---------------------+------+----------------------------+
           |                     |                                   |
        PAYROLL               DEVELOP                              users
           |                     |                                   |
       +---+---+          +------+--------+                      +---+---+
       |       |          |      |        |                      |       |
     JAN92   FEB92      MyDir  MyFile  PXGROUP                 bruna    jeff
               |          |               |                              |
           +---+---+    FileOne    +------+------+--------+          +---+---+
           |       |               |      |      |        |          |       |
        HOURS   TAXINFO          data  ledger  payable  PRGFILE     bin   addr_bk
                                          |                          |
                                      +---+---+               +------+-------+
                                      |       |               |      |       |
                                    main.c  Makefile        my_ls  FILES  down_load
                                                                     |
                                                              +------+------+
                                                              |      |      |
                                                            file1  file2  file3

This directory structure will be the basis of our examples throughout
this article.

The implementation of POSIX allows for the creation of directories and
files under accounts and MPE groups.  In our example directory structure
above, the PAYROLL account is a normal MPE account containing two groups
JAN92 and FEB92.  On the other hand the account DEVELOP contains a group
PXGROUP, a subdirectory MyDir, and a file MyFile.  The group PXGROUP
contains two files data, and PRGFILE, and two subdirectories ledger and
payable.  The directory users is created immediately under the root
directory.  This directory contains two subdirectories bruna and jeff.
The directory jeff has a simple file addr_bk, two subdirectories bin and
FILES.

Here are the highlights of the MPE/iX directory structure:

   *   The root directory (represented by a slash ("/")) can have
       accounts, directories, or files under it.

   *   All directories can have files or directories under them.

   *   MPE accounts can have groups, files, and directories under them.

   *   MPE groups can have files or directories under them.

   *   Only accounts and groups must have valid MPE names.  All other
       objects can use the portable HFS character set that consists of
       A-Z, a-z, 0-9, and three special characters dot ("."), hyphen
       ("-"), and underscore ("_").  Object names cannot start with a
       hyphen ("-").

   *   All names below the root, account, and directories under MPE
       groups can be at most 16 characters in length.  Note that account
       and group names must be valid MPE names.  All other names can be
       up to 255 characters long (see explanation about the CI buffer
       size changes in the "Miscellaneous Enhancements" section below).

Creating a Directory.   

To create a new directory, you use the new CI command NEWDIR. By default,
it assumes MPE naming rules unless the name specified is preceded by a
dot (".") or slash ("/") denoting that POSIX naming rules should be
applied to the filename.  You can create directories directly below the
root, another directory, account, or a group object.  If the file or
directory is directly beneath a directory, its name can be up to 255
characters.  When you are creating a directory that is directly below a
group, an account, or the root directory, the name cannot exceed 16
characters.

To be able to create a new directory under an object, you must have CD
(Create Directory entry) access to that object.  For example, suppose
that you log on as following:

     :hello ledger, engineer.develop, pxgroup 

You can enter the following command to create a directory under your
current working directory (CWD).

     :newdir testdir 

Note that because MPE naming rules are used by default, the name testdir
is upshifted to TESTDIR before that directory is created.

To create a directory with lower case or mixed case letters, you must
instruct the CI to use POSIX naming rules.  To do so, precede the
directory name by a dot (".") or slash ("/") to denote MPE-escape syntax.
For example,

     :newdir ./ledger 

MPE-escaped names cannot be longer than 16 characters when the CWD is not
a directory.  For example, attempting to create the following directory
fails because of this name length restriction.

     :newdir ./a_long_directory_name 

Changing the Current Working Directory (CWD).   

You can use the new CHDIR command to change your CWD. When you enter
CHDIR without any parameters, it changes the CWD to your logon group.

For example, if the user engineer.develop wants to work in the ledger
directory under the group PXGROUP, the user can change the CWD using a
relative pathname as follows:

     :chdir ./ledger 

To do the same thing another way, use an absolute pathname as follows:

     :chdir /DEVELOP/PXGROUP/ledger 

It is possible to change the CWD to any directory as long as you have
proper access.  If the user engineer.develop has TD (Traverse Directory
entry) access to the root (/), users, and jeff directories, the following
command changes the CWD to /users/jeff.

     :chdir /users/jeff 

When you enter the CHGROUP command, your CWD changes to the new logon
group.  However, when you enter a CHDIR command, it does not affect your
logon group, and it does not affect file access security at all.

Purging a Directory.   

MPE/iX provides a new command PURGEDIR to purge a directory.  Suppose
that a user has just logged on as follows:

     :hello ledger, engineer.develop, pxgroup 

The user can purge the directory payable as follows:

     :purgedir ./payable 

However, the following command does not succeed because the directory
ledger is not empty - it contains two files main.c and Makefile under it.

     :purgedir ./ledger 

To purge the directory ledger and everything below it, use the following
command instead:

     :purgedir ./ledger; tree 

Although groups and accounts are treated as special directories, the
PURGEDIR command cannot be used to purge them.

Symbolic Links 

This section discusses CI commands to manage symbolic links.  For
information on symbolic linking concepts refer to the article, "Symbolic
Links on MPE/iX", in this Communicator.

Creating a Symbolic Link.   

Release 5.0 provides a new CI command NEWLINK to create a symbolic link
to a file, group, account, root or another directory.  Suppose that a
user logs on as follows:

     :hello sabrina, engineer.develop, pxgroup 

The user sabrina can create a symbolic link SYMLN and associate it with
the target file TAXINFO.FEB92.PAYROLL as follows:

     :newlink symln, taxinfo.feb92.payroll 

Or she can enter the command this way:

     :newlink ./SYMLN, /PAYROLL/FEB92/TAXINFO 

This creates a file called SYMLN under group PXGROUP of account DEVELOP.
Assuming that the user sabrina has appropriate access to the target file,
she can use the print command to examine the contents of the target file
as follows:

     :print symln 

If she hadn't created the symbolic link, she would have entered the PRINT
command this way:

     :print taxinfo.FEB92.payroll 

The power of symbolic links becomes apparent when you want to move a set
of files from one location to another due to, say, software distribution.
You certainly do not want to affect the normal processing of any
application that accesses those files.  To accomplish this task you can
move the actual files to the new location, and in the old location create
symbolic links with the same name specifying the CWD(s) of the new
location of the files.

For example, suppose that files file1, file2, and file3 originally
existed under the group PXGROUP of account DEVELOP. As part of
some housekeeping activity you decided to move the files to
/users/jeff/bin/FILES directory.  Now to ensure that all the applications
that access those files still function properly, you must create symbolic
links to those files as follows:

        :chdir /DEVELOP/PXGROUP 
        :newlink ./file1, /users/jeff/bin/FILES/file1 
        :newlink ./file2, /users/jeff/bin/FILES/file2 
        :newlink ./file3, /users/jeff/bin/FILES/file3 

From this point on any time an application accesses these files, the
symbolic links redirect the file system to the new location of the files.
Please note that this only applies to commands that operate on the target
of the links and not links themselves.  For example, PURGELINK and STORE
operate on the link itself and not the target files.  You can use this
method to install newer versions of these files in another location
without overlaying their current version, and changing the symbolic links
to point to the newer version.  If at any time you need to access the old
version, you can point the symbolic links to that version of the files.

Purging a Symbolic Link.   

To remove a symbolic link, Release 5.0 includes a new command named
PURGELINK. It takes the name of a symbolic link and purges it without
affecting the target of that link.  For example if user sabrina wishes to
remove a symbolic link SYMLN, she can enter the following:

     :purgelink symln 

Or she can enter this:

     :purgelink ./SYMLN 

The Workload Manager Commands 

The Workload Manager is a purchasable product that allows the system
managers to more effectively balance the load on their systems.

Four new commands NEWWG, ALTWG, SHOWWG, and PURGEWG have been added and
two CI commands SHOWPROC and ALTPROC have been enhanced to support the
Workload Manager.

For more information on the Workload Manager commands, refer to the
article, "CI Commands for the Workload Manager", in this Communicator.

Using the System Clock 

There are two new commands to view and set the system clock.

To view the system clock, use the SHOWCLOCK command.  It displays
information about system date, time, time correction, and the time zone.

To easily alter the system date, time, or time zone use the SETCLOCK
command.  You no longer have to reboot the system in order to set the
system date and time.  For example, to change the system date and time to
December 6, 1993, 7:00 pm enter the following command:

     :setclock 12/06/1993, 19:00 

This causes the system clock to speed up until the desired date and time
are achieved without out-of-sequence log file time stamps.  It is
possible to force the command to take effect immediately by specifying
the NOW option, however you must understand the ramifications of forcing
a new date or time on the scheduled jobs and other processing before
using this option.

This command is available to users with DI and either SM, or OP
capability.  Additionally, SM capability is required to use the NOW
option.  For more information on setting the system clock, refer to the
following articles in this Communicator:

   *   "Introducing SETCLOCK and SHOWCLOCK, Two New CI Commands" in
       Chapter 3
   *   "Using the SETCLOCK Command" in Chapter 10

Setting the System Counters 

The new CI command SETCOUNTER allows you to easily alter the operating
range of the following four MPE/iX counters:

   *   Job numbers

   *   Session numbers

   *   Output spoolids

   *   Input spoolids

Any user can display the state of the counters.  To alter any counter
attribute, the user must have SM capability, be logged on at the console,
or have been granted permission via the ALLOW command.

For more information on setting the system counters, refer to the
technical article, "The SETCOUNTER Command", in this Communicator.

Altering a Directory or a File's Attributes 

The ALTFILE command is used to alter a file's characteristics.  Currently
the attributes that can be modified are the owner (UID) and POSIX group
(GID) of a file, directory, MPE group or account, with the restriction
that the GID may not be altered for MPE groups or accounts.

To change the UID of a file, you must be one of the following:

   *   The file's account manager (a user whose logon account matches the
       GID of the file and has AM capability)

   *   A system manager (a user who has SM capability)

To change the GID of a file, you must be one of the following:

   *   The file owner (a user whose logon name matches the UID of the
       file)

   *   The file's account manager (a user whose logon account matches the
       GID of the file and who has AM capability)

   *   A system manager (a user who has SM capability)

Suppose that you are the account manager of file TAXINFO.FEB92.PAYROLL,
and you want to change its GID to DEVELOP so that it is accessible to
users of the DEVELOP account.  You may log on to the PAYROLL account and
use ALTFILE as follows:

     :altfile taxinfo.FEB92; groupid=DEVELOP 

Viewing Disk Space Usage 

MPE/iX Releases 4.5 and 5.0 provide a new CI command DISKUSE to report
the disk space usage of directories, groups, and accounts.  Note that
DISKUSE is not a replacement for the REPORT command.  The REPORT command
must be used to view the CPU usage and connect time attributes associated
with a logon.

To see the total disk space used by the entire directory structure enter
the following command:

     :diskuse / 

This command shows the total space used by the root directory and
everything below it.  It breaks it up further to show the disk space used
by each directory node.  If you do not want to see the disk space used by
each directory and wanted to see just the grand total, use the following
command:

     :diskuse /; notree 

To see the disk space used by each group in the DEVELOP account, and the
total space used by all these groups (which do not include the disk space
used by the account node DEVELOP itself), issue the following command:

     :diskuse /DEVELOP/@; tree 

New CI Variables 

Three new read-only system variables HPCWD, HPFILE, and HPPIN have been
added to Release 5.0.

HPCWD is a string type variable that contains your current working
directory.  To alter the CI prompt to display the pathname of your CWD
you may enter the following command:

     :setvar hpprompt "!!HPCWD> " 

If you are logged on to group JAN92 in account PAYROLL the CI prompt for
your session displays "/PAYROLL/JAN92>".  If you use the CHDIR command to
move to the FILES subdirectory under /users/jeff/bin the prompt is
changed to "/users/jeff/bin/FILES> ".  Like all CI string variables,
HPCWD is limited to a maximum of 255.  If your CWD pathname exceeds this
limit, CIERR 8159 is returned.

HPFILE is a string type variable that contains the fully qualified MPE
name of the currently executing UDC file or command file.  This variable
does not track the name of a stream job and it is set to null string
(length = 0) at all times except when a UDC file or command file is
executing.

HPPIN is an integer type variable that contains the process
identification number (PIN) of the currently executing process.  This
variable may be used to construct a unique filename within a commonly
used directory such as /tmp.  For example:

     :build /tmp/myfile!hppin 

New FINFO Item Numbers 

Several new item numbers have been added to the FINFO function of the CI
as well as enhancing it to recognize POSIX syntax.  The new item numbers
range from 38 to 53 and return information such as name of a file in
POSIX syntax, UID and GID of a file or directory, device type, file type,
file size in bytes, and whether a file is secured or released.  For a
complete description of these new items and what they represent consult
the MPE/iX Commands Reference Manual (32650-90003).

Enhancements to Commands 

Several old MPE commands have been enhanced to recognize MPE-escaped
syntax as well as provide new functionality.  These are:  ALTSEC, BUILD,
COPY, FILE (actual designator), LISTFILE, PRINT, RENAME, PURGE, RELEASE,
RESTORE, RUN, SAVE, SECURE, STORE.

Additionally, LISTF has been enhanced to accept all format numbers that
are supported by LISTFILE, but LISTF does not accept MPE-escaped syntax.

STORE.   

The STORE command has been enhanced to translate wilcarded MPE syntax
names to include all files (all MPE files and all HFS files and
directories) as follows:

     @.group.account =>  /ACCOUNT/GROUP/   (all files under GROUP.ACCOUNT)
     @.@.account     =>  /ACCOUNT/         (all files under ACCOUNT)
     @.@.@           =>  /                 (all files on the system)
     @.@             =>  /logon account/   (all files under logon account)
     @               =>  ./                (all files under current directory)

For more information refer to the article, "TURBOSTORE/iX Changes", in
this Communicator.

PURGE.   

In this release of MPE/iX the PURGE command has been moved to native mode
and has been enhanced to accept wildcards so that multiple files may be
removed at once.  Refer to the article, "PURGE Command Accepts
Wildcards", in Chapter 3 for more details.

The migration of the command from compatibility to native mode allows it
to benefit from the central parsing system that is used by other native
mode commands such as PRINT, COPY, and NEWDIR. It also entails that the
command ignores trailing delimiters as do all native mode commands.  This
means that the following scenario does not exist on MPE/iX.

     :hello manager.payroll, feb92 
     :build hours; temp 
     :purge hours, 

     Expected TEMP. (CIERR 382)

Instead of producing an error, the permanent file HOURS.FEB92.PAYROLL is
deleted.

The addition of wildcards allows the command to remove multiple files at
once.  Several options are provided to control the behavior of the
command so that accidental deletion of files may be avoided.  Here is an
example of using the new wildcard feature:

     :purge /users/jeff/bin/FILES/file@ 
     3 files matched
     Continue PURGE ? (YES/NO)yes 
     3 selected.  3 succeeded.  0 failed.

To remove a number of files one at a time in an interactive mode so that
you can skip a file or completely stop the processing of the command, you
may use the CONFIRMALL option as follows:

     :purge /users/jeff/bin/FILES/file@; confirmall 
     3 FILES matched
     /users/jeff/bin/FILES/file1 ? (NO/YES/QUIT)yes 
     /users/jeff/bin/FILES/file2 ? (NO/YES/QUIT)no 
     /users/jeff/bin/FILES/file3 ? (NO/YES/QUIT)yes 
     2 selected. 2 succeeded. 0 failed.

Enter "q" or "quit" or press the BREAK key in response to the query if
you decide to stop the processing of the command altogether.

Let us consider a more common example of the use of the PURGE command.
Enter the following command and observe its output:

     :purge log#@ 
     10 files matched
     Continue PURGE ? (YES/NO)yes 
     10 selected. 9 succeeded. 1 failed.

Since the PURGE command does not remove the currently open log file, the
command always returns "1 failed".

The PURGE command cannot be used to remove special files such as
directories or symbolic links.

LISTFILE.   

The LISTFILE command has been enhanced to show file information for both
the MPE and the POSIX syntax.  The new POSIX displays support all the
formats currently allowed by LISTFILE. To see these new formats simply
issue the LISTFILE command specifying the filename using MPE-escaped
syntax.

The MPE formats are backward compatible with the Release 4.0 formats
except for the following:

   *   Formats 5 and 7 add two new fields COMPUTE BLK SIZE and VERSION
       for KSAM type files.

   *   There are no continuation headers and page breaks on long listings
       for formats -2, 1, and 2.

   *   To correct a problem, a minor change has been made to the display
       of format 4.  When more than four access subjects are assigned to
       either READ, WRITE, and APPEND access lists of a file, display of
       the FCODE: #, **SECURITY IS ON/OFF, and NO ACDS/ACD EXISTS is
       shifted to the right by seven characters.  Release 4.0 display
       format is retained at all other times.

   *   Formats 5 and 7 add two new fields LDEV and IO CLASS for Device
       Link type files, and MAJOR and MINOR fields for Streams Device
       files.

In addition, formats 1 and 2 use additional characters in the TYP column
of the file being displayed.  The TYP column can contain up to four
characters as described below:

   *   First character indicates a file's record type as follows:

              A  :  Account
              B  :  Byte-Stream
              F  :  Fixed
              G  :  Group
              H  :  Hierarchical Directory
              U  :  Undefined
              V  :  Variable

   *   Second character indicates "A" for ASCII, or "B" for binary

   *   Third character indicates CCTL or NOCCTL. When the CCTL attribute
       of a file is on, a character "C" appears in the third location.
       Otherwise nothing is added causing the fourth character to appear
       in the third location.

   *   Fourth (third if NOCCTL) character indicates the file type as
       follows:

              D  :  Directory
              K  :  Native Mode KSAM file
              L  :  Symbolic Link file
              M  :  Message file
              O  :  Circular file
              R  :  Relative IO file
              S  :  Spool file
              d  :  Device Link file
              f  :  FIFO file
              s  :  Streams Device file

       Note that FIFO, Device Link file, and Streams Device file
       indicators are lowercase characters.

Since some of the characters like "B" are used to indicate different
attributes, their character position is significant.  That is, a "B" in
the first location always means Byte-Stream and not Binary.  Likewise, a
lowercase "d" is different from its uppercase counterpart "D" when it
appears in the third or the fourth location.

For example, consider the following segment of a LISTFILE output:

     FILENAME  CODE   ------------LOGICAL RECORD-----------  ----SPACE----
                        SIZE  TYP        EOF      LIMIT R/B  SECTORS #X MX

     DIR                 16W  HBD          0   67107839   1       32  1  *
     FIFO               128W  BBf          0          1   1        0  0  *
     KSAM               128W  FBK          0       1023   1      320  2  *
     SPOOL1    OUTSP   1008B  VAS          0       1023   1        0  0  *
     SPOOL2    OUTSP   1008B  VACS        15          1   1       16  1  *
     STREAMS            128W  BBs          0          1   1        0  0  *
     SYMLINK              1B  BAL          6       1024   1       16  1  *
     TAPE7              128W  BBd          0          1   1        0  0  *

Note that the FIFO and STREAMS files' TYP column starts with "BB".
Remember that the first "B" means Byte-Stream and the second "B" means
Binary.  Furthermore, the spool file SPOOL1 was created without CCTL,
whereas the spool file SPOOL2 was created with CCTL, thus for file SPOOL2
the CCTL indicator "C" was inserted in its appropriate position causing
the spool file indicator "S" to be shifted to the right.

Note that when you issue the LISTFILE command without any parameters, it
defaults to searching for uppercase names in your CWD. Your CWD may or
may not be the same location as your logon group and account.  Therefore,
do not assume that unqualified names will be fully qualified by the
system by appending .logongroup.logonaccount to them.  Also, LISTFILE and
LISTF display all names that adhere to the MPE naming conventions
regardless of the way they were created.  For example, LISTFILE displays
the name of the file created using the following command:

     :build ./MPEVALID 

But it does not display the name of the following file since it is more
than 8 characters long.

     :build ./LONGUPCASENAME 

Additionally, LISTFILE has been enhanced to allow for additional
filtering of names through its SELEQ parameter.  Filters have been added
to view only files, groups, accounts, directories, and symbolic links.
For example, to list all the directories under your CWD use the
MPE-escape name syntax in conjunction with the DIR or DIRECTORY filter as
in the following command:

     :listfile ./@; seleq=[object=dir] 

To list all uppercase directory names use the MPE name syntax as in the
following command:

     :listfile @; seleq=[object=dir] 

Similarly, to show all symbolic links that you may have created under
your CWD enter the following command:

     :listfile ./@; seleq=[object=symlink] 

The following table indicates which filter is allowed with each type of
syntax.

                          DIR or
                |  FILE   DIRECTORY   HFSDIR   SYMLINK   GROUP   ACCOUNT
     -------------------------------------------------------------------
     MPE        |  yes     yes         yes      yes        no       no
                |
     MPE-escape |  yes     yes         yes      yes       yes      yes

MPE syntax displays all names that adhere to MPE naming conventions,
whereas MPE-escaped name syntax includes all object names.  Also, HFSDIR
does not display MPE group and account names when the pathname includes
those objects.  It only displays "true" HFS directory names.  Using our
example directory we can enter the following command and display only
"true" HFS directory names as follows:

     :listfile /; seleq=[object=hfsdir] 
     PATH= /

     users/

Using DIRECTORY or DIR filters would result in the following:

     :listfile /; seleq=[object=dir] 
     PATH= /

     DEVELOP/    PAYROLL/    users/


NOTE The POSIX displays produced by the LISTFILE command have changed in Release 5.0. You do not need to read this section if you are not a user of Release 4.5. Otherwise, the changes are: 1. Removal of the extraneous "./" and "../" from the pathname in "PATH= pathname" HFS format header 2. Addition of a blank line to the end of all formats except format -1 3. Deletion of the blank line from the end of format -1
LISTF. The LISTF command now supports all the formats that LISTFILE allows. This means addition of formats -5, 5, and 7. Note that unlike LISTFILE, LISTF does not accept MPE-escaped syntax and as such the addition of these formats pertains only to objects whose names adhere to MPE naming conventions. SHOWPROC. Two new options TRUNC and NOTRUNC have been added to allow you to control the truncation of the display when its width exceeds that of the user's $STDLIST. Truncation is indicated by a dollar sign ($) at the end of the lines whose length exceeds the record size of the $STDLIST. TRUNC is the default. The following example demonstrates the effect of the TRUNC option on a file that has a record size of 41 bytes. :build x;rec=-41,,f,ascii :file y=x,old :showproc > *y :print *y QPRI CPUTIME STATE JOBNUM PIN (PRO$ C152 0:00.690 READY S573 75 :SHO$ : The following example demonstrates the effect of the NOTRUNC option on the same file. Note that the output wraps and continues on the next line. :showproc ;notrunc > *y :print *y QPRI CPUTIME STATE JOBNUM PIN (PROG RAM) STEP C152 0:00.690 READY S573 75 :SHOW PROC ;notrunc > *y : Miscellaneous Enhancements There are two miscellaneous enhancements to the CI for Release 5.0: * CI's command buffer size has been increased to 511 characters from the traditional size of 279 characters allowing for longer POSIX pathnames. Given the same command image, a pathname can be 233 (511-279 inclusive) characters longer in 5.0 than it would be without the increase in buffer size. The maximum size of a pathname in a native mode (NM) command now is 511 characters less the length of the command name and other parameters. The maximum size of a pathname in a compatibility mode (CM) command is 253 for relative and 255 for absolute pathnames. The CM buffer size restriction is due to limits imposed by the MYCOMMAND intrinsic. Also if a POSIX object is directly under the root, an account, or an MPE group its name length is restricted to a maximum of 16 characters. * All MPE/iX CI error message text is now generated in mixed case, rather than only in all uppercase as in the past. This enhancement provides more readable error messages. This change may have an effect on third-party software that examines these messages. Some Useful UDCs The MPE/iX 5.0 Release also contains some useful UDCs in the Fundamental Operating System (FOS). These UDCs are provided for the convenience of users on the system. These are not enabled by default. Here is the list of the UDCs and a brief description of what each UDC does. The UDCs can be found in the file HPPXUDC.PUB.SYS. FINDDIR This UDC searches for a directory. It is an interface to the LISTFILE command. FINDFILE This UDC searches for a file. It is an interface to the LISTFILE command. LISTDIR This UDC lists all files which are directories. It is an interface to the LISTFILE command. PLISTF LISTF syntax that supports MPE-escaped syntax for the fileset and listfile parameters of the LISTF command. It is an interface to the LISTFILE command. SH Invokes the MPE/iX Shell with the -L option. -L causes the shell to read the environment initialization files. Additional Information For more information consult the MPE/iX Commands Reference Manual (Volumes I and II) (32650-60115).


MPE/iX Communicators