README.md





XEQ
===


XEQ is like the RUN command, except that it will search
one or more directories to find the program you wish to run,
and then chain to that program. You may tell XEQ which
directories to search; once you have done so, you need not
do it ever again unless you wish to change the search
directories. For example, if LB:[100,100] was in my search
path, I would only have to type:

XEQ PROGRAM

to run LB:[100,100]PROGRAM, even if my default directory was
not LB:[100,100].

XEQ is also able to pass a command line to the program
it invokes. This feature is very useful for users who don't
have the privilege to install tasks, as it allows them to
pass command lines to their programs from the terminal, or,
most importantly, when the program is executing in a command
file. Also, pool space is saved by XEQing programs rather
than installing them. Uninstalled programs can be stored on
a common task UIC and XEQ'ed when needed provided the UIC is
in your search path.

XEQ's list of search directories is maintained for each
user in an installed global common area, XEQCOM. Currently
there is room for up to 256 users and 380 search directories
in XEQCOM, which is about 8K words long. The common area
may be enlarged or decreased by modifying the symbolic
parameters in XEQCOM.COM.

XEQ needs to be able to find out who is running XEQ to
look up the correct search path. A program, WHOIST, is
included on this directory which is mapped to IASCOM.
WHOIST waits in a swapable stop state until it gets a
request for a user's name from XEQ through the WHOZON
subroutine.

The three parts of XEQ (XEQ itself, XEQCOM global
common, and .WHO.) may all be built by saying @BUILD. You
will probably want to move XEQ and WHOIST to your system
task directory and XEQCOM to your shared library directory
after building them.

A test program, ECHO, is built by the BUILD file to
test XEQ. ECHO echoes command lines. In order to receive a
command line from XEQ, a program such as ECHO must be linked
with a routine, RECCML, which is included on this directory.
RECCML's calling sequence is like the calling sequence for
GETMCR. However ECHO illustrates the use of a more general


Page 2



routine, GCMD, which attempts to get a command line first
from MCR using GETMCR, then, failing that, from XEQ using
RECCML, and failing that, from the terminal, using a
user-specified prompt. Thus programs which use GCMD can get
their command lines from MCR if they are installed, as well
as from XEQ or the terminal. You should look at ECHO.RAT if
you want to use GCMD. GCMD is located in the support
library, and it's source is in GETARG.RAT.

The file XEQ.HLP is a user help file which should go in
your system help file. It explains how to tell XEQ your
search path. One command is not described in XEQ.HLP; this
is the /PEEK command, which causes XEQ to print the name of
each user, his/her search path, and the index of that user
in XEQCOM. The output from /PEEK may be redirected to a
file if FILE is specified after /PEEK, for instance:

XEQ/PEEK PATH.LST

XEQ is IAS specific.




To build XEQ, do

@BUILD


Documentation is in the file "XEQ.HLP". Note that users of
XEQ must have the privilege to chain to another task.


Send comments, problems, etc. to:

William Wood
Institute For Cancer Research
7701 Burholme Ave.
Philadelphia, PA. 19111
(215) 728 2760