		This file is [307,23] README.3RD

Non privileged catch-all tasks (...CA.):

MC2.MAC

	This is a MCR catch all task (...CA.) that implements 14 commands
	of its own, searches directories for .TSK or .CMD files to
	process commands it can't handle and automatically invokes them,
	waits for their completion and passes back their exit status to
	MC2's parent.  It will dynamically INStall and invoke task images, 
	passing them through SPWN$ the command line that MC2 received.
	It will use STLO$ to wait for the spawned task to complete unless
	the system does not support the STOP directives in which case it
	uses WTSE$.  MC2 does require parent/offspring tasksing to be
	included in the executive.  The searching sequence is driven by
	tables in the front of the code and is easly changed.  The default
	sequence is:

	1st) SY:[default_uic]
	2nd) SY:[protection_uic]  (If different from default_uic.)
	3rd) CM:[1,55]		  (To be compatible with old MC2.)
	4th) LB:[1,54]		  (Verifies task is executable first.)
	5th) CM:[1,56]		  (Only for privileged users.)
	6th) CM1:[1,55]
	7th) CM1:[1,56]		  (Only for privileged users.)

	If CM: or CM1: logical devices do not exist it will skip looking
	in the corrosponding directories.  These are usually set up with
	"ASN dduu:=CM:/GBL" commands under VMR if [1,55] and [1,56] support
	is desired (see V3.1 MC2).  One change from the old MC2 is that
	since the task is no longer a privileged task it can no longer
	directly obtain the login UIC.  Instead it gets the protection UIC
	using GTSK$ which for non-privileged users is their login UIC but
	for privileged users is their default UIC.  Hence it does not
	look in privileged users login UIC unless it is also their current
	default UIC (set by the "SET /UIC", "CHD" or "UIC" commands).
	It does not allow non-privileged users to invoke privileged tasks
	unless the task is found in [1,55] or unless it is found in LB:[1,54]
	and a .PRV file has been found first with the same command name as
	the filename.  A good example of this is WHO.TSK which is a
	privileged task but is one that you want anyone to be able to invoke.
	Simply put WHO.TSK in LB:[1,54] and create a WHO.PRV by issuing the
	command "PIP WHO.PRV=NL:".  Then do a "SRD /NA/WB" so the WHO.PRV
	will be in the directory before the WHO.TSK.

	The internal commands that MC2 proccesses and re-issues via SPWN$
	to MCR... are:  (only first 3 chars of command are necessary)

	ATS		- Same as "ACT /ALL"
	CHD		- Same as "SET /UIC"
	CHD grp,mem	- Same as "SET /UIC=[grp,mem]"
	DELETE filespec	- Same as "PIP filespec/DE"
	DIR filespec	- Same as "PIP filespec/LI"
	DLG		- Same as "DEV /LOG"
	ERASE filespec	- Same as "PIP filespec/DE" except ;* assumed
	FREE dduu:	- Same as "PIP dduu:/FR"
	POOL		- Same as "SET /POOL"
	PURGE filespec	- Same as "PIP filespec/PU"
	RENAME file1=file2 - Same as "PIP file1=file2/RE"
	SPOOL filespec	- Same as "PIP filespec/SP"
	TRUNC filespec	- Same as "PIP filespec/TR"
	TYPE filespec	- Same as "PIP TI:=filespec"
	UIC		- Identical to CHD

	"filespec" can contain more than one filename seperated by
	commas.  ERA is identical to DEL except ERA inserts a ";*"
	as a version number on all filenames that do not specify a
	version number to be deleted.  Remember that a command line
	can only be 79. characters and any expansion of the command
	that MC2 does subtracts from that 79.


MC3.MAC
	This is an alternative MC2 program that is a further enhancement
	of the MC2 described above.  New features include:
		1) Most of the above described commands are commented
		   out of the code so that only ATS, FREE, TRUNC, and
		   TYPE remain.  This is to allow file manipulation
		   tasks (SRD and PIP, etc.) and command line interpreters
		   to be installed, rather than translating all commands
		   to PIP syntax (no wild cards in filename).
		2) Support is added for SPAWN and EXIT (see DRSPW.SLP)
		   so that there do not need to be a lot of ...CA. tasks
		   cluttering memory needlessly.
		3) NOMULT option prevents users from accidentally invoking
		   their own tasks more than once.

	There are additional comments in the source code.

***NOTE that MC2 or MC3 will not work correctly unless INS has been rebuilt
   with the supplied patches and DREIF has been patched.  (You can ZAP the
   DREIF patch into your system image, if you are clever, so that a SYSGEN
   is not immediately necessary).

