@  #  A                 C                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               	`   
%     N&& ! +_" z  $   U d& X  ( 
 %  + b&8". P e(W2 K(  3 (yA ,"P 2 d\ < k4 }] k4d  8  n v:`p :" E   jLp vLD V _M   8 _Mp: t_Ma kQke  qQ K  Rv US    ?T   S \X  \X*  X kve+ xe   I fZ  f@j spN r s^ xy x d 3x?T
EyL
lQyyy%
z% zjR}y}R u~@)
0  0   J[ =pNs   \M_ c:8;no 5 }oX ?},.MACRO	AUTOSPOOL
AUTOSPOOL	Automatic transparent spooling

  SYNTAX
	See PIP and other output-oreinted utilities.

  SEMANTICS
	Autospool is an operating-system feature that supports automatic
	transparent spooling for local and remote devices such as line
	printers, facsimile printers, voice codecs and bitmap displays.
	It is invoked when output is directed to any of a number of
	network virtual devices indicated in the configuration tables.
	 The output is spooled in a special file preceeded by control
	information. When the file is closed an internal message is sent
	to the spooling daemon PRTQ, which then transmits the file to a
	local device or forwards it to another host for processing there.

	See help information for MPM, PRINT, PRTQ, SPQSRV and UDP for
	further information. Note that for both the FTP and TFTP
	file-transfer servers, a destination device specification of an
	autospool device will cause the file to be processed by the
	spooling system. This feature is intended primarily for use by
	IBM Personal Computers with the MIT PC-IP software, but can be
	used in other applications as well.

	The autospool system can also be used to exchange apool files
	between Unix and Fuzzball machines, since the protocols used are
	compatable. For example, it is possible to spool files from
	Fuzzball to Unix-compatible print servers and from Unix machines
	to Fuzzball devices, such as Dacom facsimile printers and LPC
	voice codecs.

	The autospool system is also used with the Multi-Media Mail
	(MMM) system. See Help information under MMM for further
	information.
	
  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	BINCOM
BINCOM		Binary compare program

  SYNTAX
	BINCOM                  ;invoke BINCOM.SAV
	*[listfile][,SIPPfile]=oldfile,newfile[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/B      Compares bytes instead of words
	/D      Compares two entire volumes
	/E:n    Ends comparison at block n
	/H      Prints help information on terminal
	/O      Creates a difference listing file or SIPP command file even if
		no differences between the input files are found
	/Q      Suppresses terminal output of differences
	/S:n    Starts comparison at block n

  EXAMPLES
	None
.ENDM
.MACRO	BUP
BUP		Backup utility program

  SYNTAX
	BUP                     ;invoke BUP.SAV
	*<filespec>[/options]=<filespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/I      Backs up a large volume on multiple smaller volumes
	/L      Lists directory of a backup volume
	/X      Restores a large file or, with /L, a large volume from
		multiple backup volumes
	/Z      Initializes a volume for backup
	no option Backs up a large file on multiple smaller volumes

  EXAMPLES
	None
.ENDM
.MACRO	CONFIGURATION
CONFIGURATION	Configuration

  SYNTAX
	None

  SEMANTICS
	There are four tables which must be adjusted for each configuration.
	These are normally part in a module which is included in every
	fuzzball sharing a single net/subnet configuration and is the same in
	every fuzzball. The name of this module is usually something like
	DCN.MAC, where DCN represents the generic name of the configuration.

	Internet address/mask (.NETID)

	This establishes the subnet address and address mask for the physical
	host (note there can be one or more virtual hosts co-resident in that
	host). The format is as illustrated below, in decimal, where the first
	field represents the subnet address and the host ID (HID) represents
	the subfield used for subnet addressing. The second field represents
	the address mask, which is used only to determine whether an arbitrary
	address is local or foreign to the subnet. Note that the convention in
	assigning zero and one bits is opposite to that used in some other
	systems (e.g. MIT PCIP) and that the bits corresponding to the HID
	field must be one. Following is an example:

		.NETID	<128,4,0,HID>,<0,0,0,255> ;internet address/mask

	A standard mask-and-match operation consists of first exclusive-ORing
	the arbitrary address and the subnet address above, then clearing the
	bits of the result corresponding to the one bits of the address mask.
	If the result is zero the arbitrary address is in the same subnet,
	otherwise not.

	Clock synchronizing table

	This table consists of a list of host/network addresses used to
	syncrhonize the local clock. The entries are used in the order listed.
	The system will lock on the first address in the list that is up,
	according to the routing algorithm. Following is an example:

		.CLKID	<128,4,0,15>	;dcn1 clock
		.CLKID	<128,4,0,14>	;dcn6 clock
		.CLKID	<128,5,0,0>	;fordnet clock
		.CLKID	<35,0,0,0>	;umichnet clock
		.CLKID			;end of table

	Local host table

	This table establishes the mapping of Internet address to host ID for
	all local-net addresses (e.g. those that pass the mask-and-match test
	implied by the above Internet address/mask quantities). Each line in
	the table consists of (a) Internet address, (b) HID, (c) address mask
	(defaults to <0,0,0,0>), (d) flags field. Ordinarily, only those
	local-net hosts and gateways participating in the Hello routing
	algorithm need have entries in this table; however, space must be
	allocated for those hosts whose routing is handled by ARP and/or EGP.

	Ordinarily, only the last and automatic-ARP lines (defaults) have a
	nonzero address mask, which is constructed so as to capture all
	addresses not matched by the preceding items. If the HID field of any
	entry is set to something larger than the largest possible value
	(determined from the routing table described later) such as 255, the
	routing function returns a "destination unreachable;" otherwise, the
	default HID determines the route. The flags field in the default item
	is set to NGB to discourage accidental routing updates from broken
	neighbor hosts that may have invalid subnet addresses. The flags field
	of the last entry is set to END to avoid castrophe if the
	automatic-ARP table becomes full.

	$LOCAD:	.GATBL	<128,4,0,0>,0	;broadcast
		.GATBL	<128,4,0,1>,1	;dcn1 (pogo)
		.GATBL	<128,4,0,2>,2	;dcn2 (boombah)
		.GATBL	<128,4,0,3>,3	;dcn3 (albert)
		.GATBL	<128,4,0,4>,4	;umichnet agent
		.GATBL	<128,4,0,5>,5	;dcn5 (hepzibah)
		.GATBL	<128,4,0,6>,6	;dcn6 (backroom)
		.GATBL	<128,4,0,7>,7	;dcn7 (snavely)
		.GATBL	<128,4,0,8>,8	;dcn8 (porkypine)
		.GATBL	<128,4,0,9>,9	;dcn9 (churchy)
		.GATBL	<128,4,0,11>,11	;fordnet agent
		.GATBL	<128,4,0,12>,12	;umdnet agent
		.GATBL	<128,4,0,13>,13	;default agent
		.GATBL	<128,4,0,14>,14	;dcn6 clock/echo
		.GATBL	<128,4,0,15>,15	;dcn1 clock/echo
		.GATBL	<128,4,0,17>,17	;dcn17 (bridgeport)
		.GATBL	<128,4,0,18>,18	;dcn18 (miggle)
		.REPT	3
		.GATBL	<0,0,0,0>,23,<255,255,255,255>,NGB ;subnet 0 agent
		.ENDR
		.GATBL	<0,0,0,0>,23,<255,255,255,255>,END+NGB ;subnet 0 agent

	Note the inclusion of several copies of the default entry in the
	table. More than one copy is necessary only when the automatic-ARP
	feature is used (see below).

	Foreign host table

	This table establishes the mapping of Internet address to physical
	host ID for all foreign-net addresses (e.g. those that do not pass the
	mask-and-match test implied by the above Internet address/mask
	quantitues). The structure of this table is identical to the local
	host table above, although non-zero masks are more common. The
	automatic-ARP feature (see below) can be used in this table as in the
	local host table, but in the example shown an explicit gateway is
	shown instead.

	$GATAD:	.GATBL	<10,0,0,111>,1,,NGB ;dcn1 (pogo)
		.GATBL	<10,0,1,111>,6,,NGB ;dcn6 (backroom)
		.GATBL	<10,0,2,111>,4,,NGB ;gw.umich.edu
		.GATBL	<10,0,0,0>,10,<0,255,255,255>,EGP ;arpanet agent
		.GATBL	<35,0,0,0>,4,<0,255,255,255>,EGP+HLO,<128,4,0,4>
						;umichnet agent
		.GATBL	<128,4,1,0>,19,<0,0,0,255> ;subnet 1 agent
		.GATBL	<128,4,0,0>,255,<0,0,255,255>,EGP+NGB
						;trap remaining subnets
		.GATBL	<128,5,0,0>,11,<0,0,255,255>,EGP+HLO,<128,4,0,11>
						;fordnet agent
		.GATBL	<128,8,0,0>,12,<0,0,255,255>,ALT+HLO,<128,4,0,12>
						;umdnet agent
		.GATBL	<0,0,0,0>,13,<255,255,255,255>,END+NGB,<128,4,0,13>
						;egp agent

	In the example a single isolate for 10.0.0.111 is shown, which
	illustrates the capability to tunnel foreign addresses to or through
	the subnet. The hop-count field is set nonzero to avoid neighbor
	routing updates from disturbing the routing for the generic ARPANET
	10.0.0.0. Note the default gateway is specified as 128.4.0.13, in
	which case this address must also occur in the local host table
	(default agent) above. The hop-count field in the default item is set
	nonzero to avoid accidental updates; however, this field would
	ordinarily be set to zero for nets without an EGP default agent.

	Routing table

	The routing table determines the packet routes, including local leader
	(i.e. Ethernet address), process ID (PID) and other information. It
	consists of two parts, the Hello portion followed by the ARP portion
	and is preceeded by a count of the total and Hello portions. The Hello
	portion corresponds to the entities covered by the DCN Hello
	algorithm, which automatically determines routes between the entities
	using Hello messages. Those Ethernet entities that do not participate
	in the Hello algorthm, but do support ARP, are assigned HIDs in the
	ARP portion. Note that these assignements have nothing to do with the
	Internet addresses, which are determined by the local and foreign host
	tables.

	Each item consists of (a) PID of the network process (defaults to
	zero, which is interpreted as undefined), (b) delay (milliseconds)
	(defaults to 30 seconds, which is interpreted as "down"), (c) a flag
	"B" for broadcast or a string for local leader (defaults to zero).

		.BYTE	30,24		;number of (total,routing) entities
	$HOSAD:	.HSTBL	6,100,B		;0 broadcast
		.HSTBL			;1 dcn1 (pogo)
		.HSTBL			;2 dcn2 (boombah)
		.HSTBL			;3 dcn3 (albert)
		.HSTBL	,,,WWV		;4 umichnet agent
		.HSTBL			;5 dcn5 (hepzibah)
		.HSTBL			;6 dcn6 (backroom)
		.HSTBL			;7 dcn7 (snavely)
		.HSTBL			;8 dcn8 (porkypine)
		.HSTBL			;9 dcn9 (churchy)
		.HSTBL			;10 arpanet agent
		.HSTBL	,,,GOES		;11 fordnet agent
		.HSTBL			;12 umdnet agent
		.HSTBL			;13 default agent
		.HSTBL	,,,WWV		;14 dcn6 clock/echo
		.HSTBL	,,,WWVB		;15 dcn1 clock/echo
		.HSTBL			;16 dcn16 (beauregard)
		.HSTBL			;17 dcn17 (bridgeport)
		.HSTBL			;18 dcn18 (miggle)
		.HSTBL			;19 subnet 1 agent
		.HSTBL			;20
		.HSTBL			;21
		.HSTBL			;22
		.HSTBL	6,100		;23 subnet 0 agent
		.HSTBL			;24
		.HSTBL			;25
		.HSTBL			;26
		.HSTBL			;27
		.HSTBL			;28
		.HSTBL			;29

	In principle, only the broadcast agent and local-net agent (subnet 0
	agent in the example) need to have explicit values, since all others
	are determined automatically by either the Hello algorithm or ARP. In
	addition, of course, the clock sources must be declared.

	The above configuration handles the routing for seven entities,
	including one isolate 10.0.0.111, three neighbor nets 128.5, 128.8 and
	35, two subnets 128.4.0 and 128.4.1, and a default which in this case
	is the EGP process. Note that 128.5 and 35 share the same PID and
	presumably the same circuit to the neighbor entity. The host for which
	the tables are shown here "belongs" to subnet 128.4.0, as determined
	by the Internet address/mask. For all except the default the routing
	will depend upon ARP response, assuming this host is on an Ethernet;
	while, for the default case all traffic will be sent to the Ethernet
	entity responding to the specified gateway address 128.4.0.13.

	Note that in this configuration a reference to a 128.4 subnet other
	than 128.4.0 or 128.4.1 will select the default foreign host entry.
	Presumably, the agent servicing this traffic will return a "net
	unreachable" ICMP message if the subnet is undefined. In other cases,
	an entry such as

		.GATBL	<128,4,0,0>,255,<0,0,255,255>

	can be positioned after all 128.4 references in the foreign host table
	to trap undefined subnets and avoid routing loops.

	Automatic ARP

	In the case of Ethernet hosts (and in future EGP), a feature is
	included so that hosts not subscribing to the Hello protocols can be
	supported without explicitly configuring them in the tables. What
	happens is this: When a host not appearing in the local or foreign
	host tables is found the specified default is used. For local-subnet
	hosts in the example configuration shown this results in an Ethernet
	ARP broadcast for the designated IP destination address but no
	adjustment in the table entries.

	The ARP reply causes a search for that address, which lands on the
	default. A special check inserted at that point causes new entries to
	be created in either the local/foreign host tables and the routing
	table. The entry is created with a mask field of zero, so that in the
	case of foreign hosts a separate entry will be created for very
	distinct address, not for every generic network. The alternative,
	which is used in the example configuration, is to explicitly declare
	a default gateway.

	Subsequently, the ARP-created entries are used just as if created
	a-priori. The feature should be of value in configurations including
	hosts that cannot be modified to support the Hello protocol, such as
	IBM PCs and silicon front-ends. Note however that a hellod is
	available for Unix 4.2 systems that does support that protocol. In the
	current version no provisions are included to discard old ARP-created
	entries and the only way an old leader can be discarded is if the host
	goes down with respect to the Hello algorithm. This is slated for
	early attention.

	Routing explained

	The routing function is activated at the time a datagram arrives or is
	created internally in the host. It first determines whether the
	destination is in the same subnet or not using the Internet
	address/mask, then selects either the local or foreign host tables.
	The tables are constructed so that a match always occurs, if not
	otherwise at the default.

	A match results in the following information: (a) the HID of the
	routing table entry, and thus (b) the PID and (c) the leader
	(Ethernet address) and, in addition, (d) the gateway address from the
	local/foreign net table. At this point the datagram buffer is
	forwarded to the output process with indicated PID and a field in the
	buffer header filled in with (c) the leader (if nonzero) or (d) the
	gateway address (if the leader is zero) or the original destination
	address (if both leader and gateway address are zero). The coding of
	the field is such that the output process can determine whether the
	contents are a leader or an IP address.

	The output process extracts the field from the buffer header and
	proceeds accordinaly: If a leader is present it is incorporated in the
	Ethernet leader and the packet forwarded directly. If not, an ARP
	request is constructed (in a separate buffer) including the specified
	IP address and the original datagram buffer held for 500 milliseconds.
	Upon completion of the holding interval the output process calls the
	routing function again, which results in a recomputation of the buffer
	header as before, but based on current table contents. If a leader is
	found the datagram is transmitted as indicated; if not, it sinks
	without a trace.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO CRMAIL
CRMAIL		Create mail and log files

  SYNTAX
	CRMAIL                  ;invoke CRMAIL.SAV
	><filespec> <blocks>    ;> is CRMAIL prompt

  SEMANTICS
	This program creates a mail or log file with name <filespec> and
	length <blocks>.  The file is initialized with the first byte set to
	SUB (^Z) and the remaining bytes set to zero.

  OPTIONS
	None

  EAAMPLES
	CRMAIL
	>unsent.msg 500
.ENDM
.MACRO	DACOM
DACOM		Facsimile to Bitmap conversion

  SYNTAX
	DACOM			;invoke DACOM.SAV
	*<outfilespec>=<infilespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	This program converts a file in Dacom (compressed) facsimile format
	to Sun bitmap format (version 2.0) without scaling or clipping. The
	resulting file requires 475200 octets (922 blocks) for the
	1726 x 2200 x 1 raster. Sun graphics tools presently cannot handle
	such a large file directly, although the Fuzzball SUNFAX and VCG
	programs can (See Help information).

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	DIR
DIR		Directory program

  SYNTAX
	DIR                     ;invoke DIR.SAV
	*<filespec>[/options]   ;* is CSI prompt
	*...
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	The syntax of date is dd.:mmm:yy.  where dd-day, mmm-month, yy-year
	/A      Lists the directory alphabetically
	/B      Includes starting block numbers in directory listing
	/C:n    Lists directory in n columns;  n can be 1 to 9
	/D:date Includes only files with date
	/E      Lists entire directory, including unused spaces
	/F      lists short format directory in five columns
	/G      Lists directory entry of specified file and all subsequent
		directory entries
	/J:date Lists files created on or after date
	/K:date Lists files created before date
	/L      Lists volume directory in order of entry
	/M      Lists unused areas
	/N      Lists directory summary
	/O      Gives sizes and block numbers in octal
	/P      Lists all files except those you specify
	/Q      Lists deleted files
	/R      Sorts directory in reverse order;  use with /S
	/S:xxx  Sorts directory listing;  xxx can be DAT, NAM, POS, SIZ or TYP
	/T      Lists only protected files
	/U      Lists only unprotected files
	/V:ONL  Includes volume ID and owner name as part of directory
		listing;  with ONL lists only ID and name

  EXAMPLES
	None
.ENDM
.MACRO	DUMP
DUMP		File dump program

  SYNTAX
	DUMP                    ;invoke DUMP.SAV
	*<filespec>[/options]=<filespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/B      Outputs octal bytes
	/E:n    Ends output at block n
	/G      Ignores input errors
	/N      Suppresses ASCII output
	/O:n    Outputs only block n
	/S:n    Starts output at block n
	/T      Defines a magtape as non-RT-11 file structured
	/W      Outputs octal words
	/X      Outputs Radix-50 characters

  EXAMPLES
	None
.ENDM
.MACRO	DUP
DUP		Device utility program

  SYNTAX
	DUP                     ;invoke DUP.SAV
	*<filespec>[/options]   ;* is CSI prompt
	*...
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/B:RET  Writes FILE.BAD entries over bad blocks;  use with /Z;  with
		RET, retains FILE.BAD entries created on previous
		initialization
	/C      Creates a file;  use with /G:n
	/D      Restores previously initialized volume
	/E:n    Specifies last block number;  use with /I or /K
	/F      Prints names of bad blocks;  use with /K
	/G:n    Specifies starting block number;  use with /C, /I, or /K
	/H      Verifies after copying;  use with /I
	/I      Copies image of one volume to another
	/K      Scans a device for bad blocks
	/N:n    Defines number of directoy segments;  use with /Z;  n can be 1
		to 37 (octal)
	/O      Boots a volume or file (not supported in BOS/VOS)
	/Q      Boots a volume that is not RT-11 V4 or later;  use with /O
		(not supported in BOS/VOS)
	/R:RET  Scans volume for bad blocks and creates a block replacement
		table;  with RET retains previous table (not supported in
		BOS/VOS)
	/S      Consolidates free space on a volume
	/T:n    Extends a file by n blocks;  n free blocks must follow the
		file
	/U:DEV  Writes bootstrap into blocks 0, 2 through 5 of a volume;  DEV
		is the volume name (not supported in BOS/VOS)
	/V:ONL  Printes user ID and owner name;  use with /Z to write new
		directory, ID and name on volume;  with ONL, writes only the a
		ID and name
	/W      Waits for volume to be mounted before executing the command
	/X      Prevents automatic reboot after using /S on system device
	/Y      Suppresses query messages
	/Z:n    Initializes device directory;  n is the number of extra words
		in each directory entry

  EXAMPLES
	None
.ENDM
.MACRO	FAX
FAX		Dacom 450 Facsimile Transceiver operator's guide

  SYNTAX
   SCANNING
	PIP     (* is CSI prompt)
	*<filespec>=FAX:
	*...
	*^Z     (exit to CLI)
   PRINTING
	PIP     (* is CSI prompt)
	*FAX:=<filespec>
	*...
	*^Z     (exit to CLI)

  SEMANTICS
	The Dacom 450 Computerfax Facsimile Transceiver scans and prints
	documents at resolutions up to 200 pels per inch in a 1726 x 2200
	pel raster.  It uses a two-dimensional adaptive run-length
	compressiong algorithm and ordinarily operates at speeds to 2400
	bps with the LSI-11/23 processor and to 4800 bps with the
	LSI-11/73 processor using the DEC DPV11 synchronous interface.

	Files used with the facsimile system must be formatted as
	described in RFC-769. The SUNFAX program can be used to convert
	Sun bitmap files to RFC-769 format and the DACOM program from this
	format to Sun-bitmap format. The spooling system automatically
	converts between formats as required. In addition, the VCG
	program can convert RFC-769 format files for display on the
	Peritek bitmap display.	

	Facsimile files can be transferred between Internet hosts using the
	FTP or TFTP programs (IMAGE mode) or using the spooling system.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	FILES
FILES		File specifications and formats

  SYNTAX
	<logname>:<filename>.<extension>[<size>]

  SEMANTICS
	All programs operate with RT-11 file formats and either
	file-structured or sequential devices.  RT-11 files are
	block-structured with a block size of 512 bytes.  There are two types
	of files, ASCII and IMAGE.  ASCII files consist of a stream of 7-bit
	ASCII characters stored in eight-bit bytes with the high-order bit set
	to zero.  During transmission the NUL and DEL characters are discarded
	and the SUB character terminates the transfer.  IMAGE files consist of
	a stream of eight-bit bytes with all bits significant.  In both cases
	data are zero-filled to a block boundary before writing to the device.

	Files and devices are named according to RT-11 conventions in the
	following syntax:

	<logname>:<filename>.<extension>[<size>]

	where <logname> is the logical device name, consisting of up to three
	alphanumeric characters, <filename> is the file name, consisting of up
	to six alphanumeric characters including $, <extension> is the file
	extension, consisting of up to three characters including $, and
	<size> is a decimal integer used to specify the maximum file size in
	blocks.

	The logical device name (together with the colon) is optional and
	defaults to DK:, which is the name of the standard RT-11 work volume.
	With certain exceptions transfers can be specified to or from either
	file-structured or sequential devices.  In the latter case the name,
	extension and size are ignored.  Logical device names are bound to
	physical devices by the CLI command ASG.

	The <size> specification (together with the braces) is optional and
	applies only to new or replacement files to be stored on
	file-structured devices and not to files that are to be stored on
	sequential devices or to be read.  The algorithm used to estabish the
	maximum size of a file is as follows:  If the <size> specification is
	missing or zero, half the largest hole on the volume is allocated.  If
	it is a negative number, then the entire extent of the largest hole is
	allocated.  Otherwise, the number of blocks specified is allocated in
	the first hole large enough to contain them.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	FRUN
FRUN		Foreground loader program

  SYNTAX
	FRUN <filespec>         ;invoke FRUN.SAV
	*<filespec>             ;* is CSI prompt
	;exit to loaded program

  SEMANTICS
	The foreground loader is used to load programs linked to run in an
	RT-11 foreground or system job with or without overlays.  These
	programs usually usually have the .REL extension and contain
	relocatoin information along with the program text.  This program
	would be used ordinarily only in systems without memory-management
	facilities and when one or more foreground processes have been
	configured in the system.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	FTP
FTP		File transfer user program

  SYNTAX
	FTP                     ;invoke FTP.SAV
	...
	QUIT                    ;exit to CLI
				;or
	FTP <hostname>          ;invoke FTP.SAV and execute an
				;implied CONNECT <hostname>
	...                     ;command
	QUIT                    ;exit to CLI

  SEMANTICS
	The File Transfer Protocol (FTP) functions are provided using two
	programs, the FTP User and the FTP Server.  The FTP User runs in
	interactive mode on a Fuzzball host. The FTP Server normally resides
	at some other host and is activated upon receipt of a TCP connection
	on port 20. The FTP User is controlled by user commands in the same
	way as the Command Language Interpreter (CLI) and other user programs.
	It in turn controls the FTP Server by standardized server commands,
	with the actions taken indicated by standardized replies.  These
	programs operate with the protocol described in RFC-959 and can be
	used with other implementations conforming to this protocol.

	A file transfer operation proceeds by first opening a control
	connection to a remote host using the CONNECT command and then to its
	operating system using the LOGIN command.  In the case of the Fuzzball
	FTP Server, the LOGIN sequence is supported but the specified user
	name and password are ignored.  Following the connection phase, the
	SEND and GET commands are used to transfer files to and from the
	remote host as required.  For each transfer a data connection separate
	from the control connection is established by the remote server.  The
	sender closes the connection to signal end-of-file and terminate the
	transfer.  The QUIT command is used to close the control connection
	and exit to the CLI.

	The FTP User prompt is "*", signifying the program is ready for the
	next command.  The first prompt appears when the herald is received
	from the FTP Server following the CONNECT command.  Subsequent prompts
	appear as each command sequence is completed with the FTP Server.
	Prompts will not appear following commands which have only local
	significance or in which errors are detected.

	FTP transfers can be in either ASCII (default) or IMAGE mode (see the
	FILES help information for relevant file structures).  ASCII mode is
	compatible with all implementations of RFC-765 servers known at this
	time.  In the case of IMAGE mode with the TOPS-20, however, care must
	be taken to assure that 8-bit bytes are stored four per 36-bit TOPS-20
	word.  This is assured if the TYPE L 8 command is used, rather than
	the TYPE I command (see the IMAGE command below).

  OPTIONS
   ABORT
	If a file transfer is not in progress, do nothing.  If it is, abort
	the transfer, send the ABOR command to the Server and wait for it to
	close the data connection.
   ASCII
	The ASCII and IMAGE commands set the mode for subsequent file
	transfers.  The default is ASCII.  In the case of the IMAGE command, a
	TYPE I command is sent to the server unless an optional argument is
	present, in which case a TYPE L <bytesize> command is sent, where
	<bytesize> is the argument.  In all except unusual cases <bytesize>
	should be 8.  This feature is included to support the TOPS-20.
   ASG <filespec>
	Assign the local work volume DK:  for subsequent file transfers to
	<filespec>.  See the VOLUMES help information for further details.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	BRIEF.
   CONNECT <hostname>
	Open a control connection to host <hostname>.
   CWD <filespec>
	Assign the working directory on the remote host for subsequent file
	transfers to <filespec>.
   DELETE <remotename>
	Delete the file <remotename> on the remote host.  The <remotename>
	must contain no more than 40 ASCII printing characters.
   DIRECTORY <directory> <localname>
	Open a data connection to the remote host previously specified by the
	CONNECT and LOGIN commands.  Then transmit a list of the files in
	<directory> on the remote host to <localname> on the local host.  The
	<directory> must contain no more than 40 ASCII printing characters.
	When operating with the Fuzzball FTP Server, it must be a valid RT-11
	file name and can include wildcards in the same manner as the RT-11
	DIRECTORY command.  The <localname> must be a valid RT-11 file or
	sequential device name.
   DISCONNECT
	If the control connection does not exist, do nothing.  Otherwise, send
	the QUIT command to the Server and wait for the it to close the
	connection.
   GET <remotename> <localname>
	Open a data connection to the remote host previously specified by the
	CONNECT, LOGIN and ASCII/IMAGE commands.  Then transfer the file
	<remotename> on the remote host to <localname> on the local host.  The
	<remotename> must contain no more than 40 ASCII printing characters,
	while the <localname> must be a valid RT-11 file name or sequential
	device name.  If <localname> is missing, assume the string
	<remotename> in its place.
   HELP
	Display helpful information, including a list of commands.
   IMAGE
	(see the ASCII command)
   LOCAL <hostname>
	Set the local address for the control and data connections to
	<hostname>, with default the local primary address. This feature can
	be used to select local secondary addresses in the case of a
	multi-homed host.
   LOGIN <user> <password>
	Log into the remote host previously specified by the CONNECT command
	as <user> with <password>.  Both <user> and <password?  must contain
	no more than 40 ASCII printing characters.
   QUIT
	Execute an implied DISCONNECT command and exit to the CLI.
   QUOTE ...
	Send the remainder of the command line to the remote host via the
	control connection.
   RENAME <fromname> <toname>
	Rename the file <fromname> on the remote host to <toname>.  Both
	<fromname> and <toname> must contain no more than 40 ASCII printing
	characters.
   ROUTE <hostname1> <hostname2> ...
	Specify the Internet source route as the sequence <hostname1>
	<hostname2> ...  (up to nine) for the data connection.
   SEND <localname> <remotename>
	Open a data connection to the remote host previously specified by the
	CONNECT, LOGIN and ASCII/IMAGE commands.  Then transfer the file
	<localname> on the local host to <remotename> on the remote host.  The
	<localname> must be a valid RT-11 file or sequential device name,
	while the <remotename> must contain no more than 40 ASCII printing
	characters.  If <remotename> is missing, assume the string <localname>
	in its place.
   SHOW
	Display a formatted summary of various quantitites of interest,
	including the current host, file and block number.
   TOS <type-of-service>
	Specify the Internet type-of-service octet (in octal) for the data
	connection.
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	None
.ENDM
.MACRO	FTPSRV
FTPSRV		File transfer server program

  SYNTAX
	See RFC-959.

  SEMANTICS
	The FTP Server is designed to be compatible with the protocol
	specified in RFC-959.  It is invoked by the TELSRV progam upon receipt
	of a TCP connection on port 21.  Commands consist of four characters,
	only the first three of which are significant.  Replies consist of a
	three-digit code, the first of which indicates the status of the
	request according to the following codes:

	1xx     The action requested has begun.  Additional server commands
		can be given to initiate unrelated actions.
	2xx     The action requested has completed successfully.
	3xx     Additional commands are necessary to completely specify the
		action requested.
	4xx     The action requested was aborted due to an error condition
		believed to be temporary.  The command may be retried at a
		later time.
	5xx     The action requested was aborted due to an error condition
		believed to be permanent.

	FTP transfers can be in either ASCII (default) or IMAGE mode (see the
	FILES help information for relevant file structures).  ASCII mode is
	compatible with all implementations of RFC-959 servers known at this
	time.  In the case of IMAGE mode with the TOPS-20, however, care must
	be taken to assure that 8-bit bytes are stored four per 36-bit TOPS-20
	word.  This is assured if the TYPE L 8 command is used, rather than
	the TYPE I command (see the TOPS-20 documentation).

  OPTIONS
   ABOR
	If a data transfer is not in progress, return a 200 reply code.  If a
	data transfer is in progress, signal the data connection to close and
	return a 426 reply code, flushing data received meanwhile.  When the
	connection closes return a 226 reply code.
   CWD <filespec>
	Assign the work volume DK:  on the local hosts for subsequent file
	transfers to <filespec>.  See the VOLUMES help information for further
	details.
   DELE <filespec>
	Delete the file <filespec> on the local host, where <filespec> must be
	a valid RT-11 file name.  Reply code 200 is returned.
   HELP
	Display helpful user information, including a list of FTP Server
	commands.  All but the last line returned have reply code 111.  The
	last line returned has reply code 211.
   LIST <directory>
	Open the data connection and transfer a list of files in <directory>
	on the local host to the FTP User host.  The <directory> must be a
	valid RT-11 file name and can include wildcards in the same manner as
	the RT-11 DIRECTORY command.  Reply code 150 indicates the transfer
	has begun and that a 2xx, 4xx or 5xx will be returned when the
	transfer terminates.  The transfer terminates normally with a 226
	reply code when the FTP Server closes the data connection and
	abnormally with a 4xx or 5xx reply code in all other cases.  In the
	list of files returned each file name is on a separate line followed
	by size and date information.
   MODE <code>
	Set the transfer mode for subsequent data transfers to <code>.
	Currently, <code> must be S (STREAM), which is also the default.
	Reply code 200 is returned.
   NLST <directory>
	Open the data connection and transfer a list of files in <directory>
	on the local host to the FTP User host.  The <directory> must be a
	valid RT-11 file name and can include wildcards in the same manner as
	the RT-11 DIRECTORY command.  Reply code 150 indicates the transfer
	has begun and that a 2xx, 4xx or 5xx will be returned when the
	transfer terminates.  The transfer terminates normally with a 226
	reply code when the FTP Server closes the data connection and
	abnormally with a 4xx or 5xx reply code in all other cases.  In the
	list of files returned each file name is on a separate line terminated
	by <CR><LF> with no other information on the line.
   NOOP
	Do nothing.  Reply code 200 is returned.
   PASS <password>
	Syntax check only (for compatibility).  Reply code 230 is returned.
   PASV
	This command is used only in special situations involving a
	third-party transfer to indicate the FTP Server should listen on a
	data connection and to return the host and port of this connection in
	the reply code.  Note that the data connection is not opened at this
	time, but will be opened in passive mode as necessary by subsequent
	data-transfer commands.  The reply code returned is:

	227 Entering passive mode.  h1,h2,h3,h4,p1,p2

	where h1,...,h4 is the host and p1,p2 is the port with the same
	interpretation as the PORT command.
   PORT h1,h2,h3,h4,p1,p2
	This command is used only in special situations involving a
	third-party transfer to specify the host and port for the data
	connection.  The host is specified by the four decimal integers
	h1,...,h4 and the port by the two decimal integers p1,p2.  All six of
	these integers must have values in the range 0-255.  Note that the
	data connection is not opened at this time, but will be opened in
	active mode as necessary by subsequent data-transfer commands.  Reply
	code 200 is returned.
   QUIT
	Close the control connection and exit to the CLI.  Reply code 226 is
	returned.
   REIN
	Reinitialize the program status as it was upon initial entry.  Reply
	code 330 is returned along with the FTP Server herald.
   RETR <filespec>
	Open the data connection and transfer <filespec> on the local host to
	the FTP User host.  The <filespec> must be a valid RT-11 file or
	sequential device name.  Reply code 150 indicates the transfer has
	begun and that a 2xx, 4xx or 5xx will be returned when the transfer
	terminates.  The transfer terminates normally with a 226 reply code
	when the FTP Server closes the data connection and abnormally with a
	4xx or 5xx reply code in all other cases.
   RNFR <filespec>
	Begin a file-rename sequence specifying <filespec> on the local host
	as the existing file.  The <filespec> must be a valid RT-11 file name.
	Reply code 333 is returned, indicating the RNTO command must follow.
   RNTO <filespec>
	Conclude a file-rename sequence begun by the previous RNFR command and
	specifying <filespec> on the local host as the new file.  The
	<filespec> must be a valid RT-11 file name on the same device
	specified by the previous RNFR command.  Reply code 200 is returned.
   STAT
	Display a formatted summary of various quantitites of interest,
	including the current host, file and block number.  All but the last
	line returned have reply code 114.  The last line returned has reply
	code 214.
   STOR <filespec>
	Open the data connection and transfer a file from the FTP User host to
	<filespec> on the local host.  The <filespec> must be a valid RT-11
	file or sequential device name.  Reply code 150 indicates the transfer
	has begun and that a 2xx, 4xx or 5xx will be returned when the
	transfer terminates.  The transfer terminates normally with a 226
	reply code when the FTP User closes the data connection and abnormally
	with a 4xx or 5xx reply code in all other cases.
   STRU <code>
	Set the file structure for subsequent data transfers to <code>.
	Currently, <code> must be F (FILE), which is also the default.  Reply
	code 200 is returned.
   TYPE <code>
	Set the representation type for subsequent data transfers to <code>.
	Currently, <code> can be A (ASCII), I (IMAGE) or L (IMAGE).  The
	default when this command has not been given is A.  Note that the
	specification permits an additional argument;  however, which is
	ignored by the FTP Server.  Reply code 200 is returned.
   USER <user>
	Syntax check only (for compatibility).  Reply code 331 is returned,
	indicating the PASS command must follow.

  EXAMPLES
	See RFC-959.
.ENDM
.MACRO	GENERAL
GENERAL		General description

  SYNTAX
	Following is a summary of syntactic types
	/options        RT-11 file specification options (see OPTIONS in HELP
			information)
	<address>       Internet address (four fields separated by "." each
			field a decimal integer in the rangd 0 through 255)
	<argument>      Argument list (strings separated by <SP> and
			terminated by <CR>
	<command>       Command name (only the first three characters are
			significant)
	<devname>       RT-11 physical device name (see HELP information for
			FILES)
	<filespec>      RT-11 file specification (see HELP information for
			FILES)
	<hid>           Host ID (decimal integer in the range 0-n, where n
			depends on network)
	<hostname>      Host name (registered in NIC data base HOSTS.TXT, or
			four fields as in <address> format).
	<logname>       RT-11 logical device name (assigned by ASG command)
	<pid>           Port ID (octal integer in the range 0-n, where n
			depends on configuration)

  SEMANTICS
	The Fuzzball internet software system has been developed with DARPA
	sponsorship over the last several years and used extensively for
	testing, evaluation and experimentation with other implementations.
	It currently runs in a sizable number of PDP11s and LSI-11s with
	varying configurations and applications.  The system is designed to be
	used with DCnet local-network protocols as described in RFC-891 and
	the Fuzzball operating system for a multi-media internet workstation
	(also called a Fuzzball), which operates using emulation techniques to
	support the DEC RT-11 operating system and application programs.
	However, the system has also been used on other networks, including
	ARPANET, and with other operating systems, including RSX-11.  An
	RSX-11 based version incorporating only the IP/TCP modules is
	presently used to support the INTELPOST electronic-mail network.

	The software system consists of a package of MACRO-11 and C modules
	structured into levels corresponding to local-net, IP, TCP and
	application levels, with user interfaces at each level.  The local-net
	level supports several comunication devices, including synchronous and
	asynchronous serial lines, 16-bit parallel links, Ethernet and 1822
	interfaces. Hosts using these devices have been connected to ARPANET
	IMPs, Satellite IMPs, MACRO-11 Internet Gateways, SRI Port Expanders
	and to standard Ethernets, DECnets and X.25 public networks, as well
	as several DCnet local networks.  When used on DCnet the system
	supports subnets as described in RFC-950, supports network-level
	alternate routing and local-level dynamic routing, as well as
	time-synchronization and error-reporting functions.

	The IP level conforms to the RFC-791 specification, including
	fragmentation, reassembly, extended addressing and options, as well as
	the source-route option. A full set of ICMP features compatible with
	RFC-792 is available, including destination-unreachable, timestamp,
	redirect and source-quench messages.  Destination-unreachable and
	source-quench information is conveyed to the user level via the TCP
	and raw-datagram protocol modules.  Internet gateway (routing and
	non-routing) facilities conforming to the Exterior Gateway Protocol
	(EGP) RFC-904 specification can be included on an optional basis.
	This support can be configured to support hierarchically structured
	gateways and subnets.

	The TCP level conforms to the RFC-793 specification, including PUSH,
	URGENT and options.  Its structure is based on circular buffers for
	reassembly and retransmission, with repacketizing on each
	retransmission.  Retransmission timeouts are dynamically determined
	using measured roundtrip delays, as adjusted for backoff.  Data flow
	into the network is controlled by measured network bandwidth, and
	adjusted by source-quench information.  Features are included to avoid
	excessive segment fragmentation and retransmission into zero windows.
	The user interface level provides error and URGENT notification, as
	well as a means to set outgoing IP/TCP options.

	A raw-datagram interface is available for non-TCP protocols such as
	UDP (RFC-768).  It includes internal congestion and fairness controls,
	multiple-connection management and timestamping.  Protocols above UDP
	supported in the present system include Network Time Protocol
	(RFC-958), Time Server (RFC-868), Name Server (IEN-116), Domain-Name
	Server (RFC-883) and Trivial File-Transfer Protocol (RFC-783). Other
	raw-datagram services include XNET (IEN-158), Exterior Gateway
	Protocol (RFC-904) and several experimental services.

	A number of user-level protocol modules above TCP have been built and
	tested with other internet hosts, including TELNET (RFC-854), File
	Transfer Protocol (RFC-959), Simple Mail Transfer Protocol (RFC-821),
	Multi-Media Mail Protocol (RFC-759/RFC-767) and	various other
	file-transfer, debugging and control/monitoring protocols.

	Code sizes and speeds depend greatly on the system configuration and
	features selected.  A typical 30K-word LSI-11/2 single-user
	configuration with all features selected and including the operating
	system, device drivers and all buffers and control blocks, leaves
	about 16K words for user-level application programs and protocol
	modules.  A typical 124K-word LSI-11/23 or LSI-11/73  configuration
	provides the same service for up to 24 individually relocated users.
	Disk-to-disk FTP transfers across a DMA interprocessor link between
	LSI-11/23s operate in the range 30-50 Kbps with 576-octet packets.
	The 124K-word PDP11/34 INTELPOST adaptation supports two 56-Kbps lines
	and a number of lower-speed lines. Typical throughputs range from 100
	to 400 packets per second, depending on processor type and interface
	type.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	HELP
HELP		Lists helpful information

  SYNTAX
	HELP                    ;invoke HELP.SAV
	What topic do you want help with?  <argument>
				;...?  is prompt
				;<argument> has the form:  topic
				;[ subtopic[:items...]...]] or *

  SEMANTICS
	*       lists the items for which help is available.
	<CR>    lists the HELP text (of which this is a part).
	topic   lists information on the specific topic only.
	topic subtopic lists information on the specific subtopic only (for
		example, HELP HELP SEMANTICS lists the paragraph of which this
		text is a part).
	topic subtopic:item lists only the text associated with the specific
		item.
	topic/item lists the text associated with the specific item under the
		subtopic OPTIONS.
	Subtopics are "SYNTAX", "SEMANTICS", "OPTIONS", and "EXAMPLES".  Items
		are specific command options.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	HOST
HOST		Host Process commands

  SYNTAX
	SET <devname> <command> <argument> ;CLI command

  SEMANTICS
	See USER process commands and GENERAL help information

  OPTIONS
   CMD
	List the available commands.  Additional information is available with
	the HELP program.
   HOST <hosnam> <pid> <delay> <status>
	Set the Host Table entry for the DCnet virtual host <hosnam> to the
	values specified in the arguments.  The Network Process PID is
	specified by the first argument, the roundtrip delay by the second and
	the status by the last.  If <hosnam> is missing, simply display a
	summary of the entire table.  If <hosnam> is given with no arguments,
	display the table entry for that host.  See Appendix C for a list of
	DCnet virtual hosts.  Note that the Host Table is constructed
	automatically during normal system operations and that this command is
	provided only for exceptional circumstances.
   IDENT <hid> <address>
	Set the virtual-host ID for the master-clock host to <hid>.  If
	<address> is given set the internet address for the physical host to
	the <address>.
   MINIMUM <lbound>
	Set the minimum source-quench threshold to <lbound>.  ICMP
	source-quench messages will be returned to the sender if the number of
	free buffers falls below this threshold.
   NET <netnam> <arglst>
	Set the Network Table entry for the network <netnam> to the values
	specified in <arglst>.  The only argument that can be specified at
	present is the virtual host HID for the gateway to that network.  If
	<netnam> is missing, display a summary of the entire table.  If
	<netnam> is given with no arguments, display the table entry for that
	network.
   OFF <code>
	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the host process are interpreted
	as the RT-11 configuration word, which is normally stored at relative
	location 300 in the monitor area (see RT-11 documentation).
   ON <code>
	(see the OFF command)
   SHOW
	Display a formatted summary of various quantitites of interest.
  EXAMPLES
	.set hos cmd
	Commands are:
	CMD   SHO   ON   OFF   ID   MIN   NET   HOS

	.set hos hos
	Host    PortID  Delay   Offset  Status  Leader
	----------------------------------------------------
	DC6     002     0       0       119     000000000000

	.set hos net
	Net     Address         HostID  Hops    Leader
	----------------------------------------------
	ARP     [10.0.0.0]      0       0       0,0
	DCN     [128.4.0.1]     6       0       0,0
	WAS     [128.4.1.2]     14      0       0,0
	SAN     [128.4.2.3]     11      0       0,0
	FRD     [128.5.0.4]     13      0       0,0
	UMD     [128.8.0.5]     12      0       0,0
	NET     [0.0.0.6]       0       255     1,20

	.set hos sho
	Process type:  000030 options:  111001
	Last clock update:  0 from:  1 reset:  00:00:00
	Processes:      18
	Vectors:        10
	Nibbles:        29
	Small packets:  0
	Large packets:  12
	Min packets:    2
	Internet address:  [128.4.0.6]
.ENDM
.MACRO	HOSTS
HOSTS		Make Internet host name/address table

  SYNTAX
	HOSTS                   ;invoke HOSTS.SAV
	*outfile,dnsfile=infile[options],...
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	This program reads a file of Internet host name/address entries in the
	Standard Network Information Center (NIC) format described in RFC810
	and produces a hash-coded output file suitable for use by the user and
	server programs in this system.

	The domain-name system described in RFC-882 and RFC-883 is used by all
	Fuzzball hosts to resolve an Internet address from a domain name and
	also to resolve a domain name from its Internet address. The program
	that does this, called the namesolver, first searches the local
	HOSTS.DAT file and returns the name or address immediately if found.
	If not found, the namesolver searches a set of hierarchically
	structured remote domain-name servers as indicated by special entries
	in HOSTS.DAT. Present practice is to configure one Fuzzball host on
	the local net as a domain-name server along with a HOSTS.DAT file
	produced by the HOSTS program from the complete HOSTS.TXT file
	(obtained periodically from the NIC) and configure all other Fuzzball
	hosts with a HOSTS.DAT file containing only the local-net hosts and
	domain-name pointers to the server.

	The primary output file outfile, usually named HOSTS.DAT, consists of
	a set of lists, one for each block (512 bytes) terminated by a zero
	byte.  Items in each list are either names, consisting of four bytes
	of address, one byte of flags and a name string terminated by a zero
	byte; or addresses, consisting of four bytes of address, one byte of
	flags and a three-byte pointer.  Entries are hashed according to the
	polynomial 1 + x + x**6 + x**7 reduced modulo the output file size.

	The secondary output file dnsfile, usually named HOSTS.DNS, consists
	of a domain-name data base in the format described in RFC-883. This
	may be the primary format of the HOST.TXT table in the future. This
	feature is included for compatibility.

	One entry for every address and every name for each host in the input
	file is included in the output file.  The address entries are hashed
	by the address and the name entries are hashed by the name.  Bits in
	the service-specification byte determine the entry format and whether
	the host advertises TELNET, FTP or SMTP service.

  OPTIONS
	/A	Delete all domain-structured entries (".ARPA" domain in the
		present table) and pad the remaining names with ".ARPA".
		This feature is intended for use during the transition
		period while the domain-name system is being put into place.
	/S:n    Allocates n blocks for output file (default is 256 blocks).
		The value of n must be at least two.

  EXAMPLES
	Following is a slightly reformatted table used as input to the HOSTS
	program to produce the HOSTS.DAT file for a host configured without
	the full domain-name server. The GATEWAY and HOST entries are taken
	directly from the HOSTS.TXT table with the ".ARPA" domain edited
	into all entries. The DOMAIN entries are associated with the name
	server for the domain appearing in the host-name field.

	GATEWAY : 10.0.0.111, 128.4.0.1, 128.5.0.1, 128.8.0.1 :
		DCN-GATEWAY.ARPA : LSI-11/23 : FUZZ : IP/GW,GW/PRIME :
	HOST : 128.4.0.1, 10.0.0.111 : DCN1.ARPA,POGO.ARPA : LSI-11/23 :
		FUZZ : TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,
		TCP/CHARGEN,TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO,UDP/TIME,
		UDP/NAME,UDP/TFTP :
	HOST : 128.4.0.2 : DCN2.ARPA,BOOMBAH.ARPA : LSI-11/2 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO :
	HOST : 128.4.0.3 : DCN3.ARPA,ALBERT.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO :
	HOST : 128.4.0.4 : DCN4.ARPA,HOWLAND.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO :
	HOST : 128.4.0.5 : DCN5.ARPA,HEPZIBAH.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO,UDP/TIME,UDP/NAME,
		UDP/TFTP :
	HOST : 128.4.0.6 : DCN6.ARPA,BACKROOM.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO,UDP/TIME,UDP/NAME,
		UDP/TFTP :
	HOST : 128.4.0.7 : DCN7.ARPA,SNAVELY.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO,UDP/TIME,UDP/NAME,
		UDP/TFTP :
	HOST : 128.4.0.8 : DCN8.ARPA,PORKYPINE.ARPA : LSI-11/23 : FUZZ :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/ECHO,TCP/DISCARD,TCP/CHARGEN,
		TCP/DAYTIME,TCP/TIME,TCP/TALK,UDP/ECHO :
	HOST : 128.4.0.9 : DCN9.ARPA,CHURCHY.ARPA : SUN-170 : UNIX :
		TCP/TELNET,TCP/SMTP,TCP/FTP,TCP/TIME,UDP :
	HOST : 128.4.0.15 : DCN-ECHO.ARPA ::: IP/ECHO :
	HOST : 128.4.0.16 : DCN16.ARPA,BEAUREGARD.ARPA : IBM-PC : MSDOS : IP :
	HOST : 128.4.0.17 : DCN17.ARPA,BRIDGEPORT.ARPA : IBM-PC : MSDOS : IP :
	HOST : 128.4.0.18 : DCN18.ARPA,MIGGLE.ARPA : IBM-PC : MSDOS : IP :
	DOMAIN : 128.4.0.1 : ARPA ::: TCP/TELNET,TCP/FTP,TCP/SMTP :
	DOMAIN : 128.4.0.1 : IN-ADDR ::: TCP/TELNET,TCP/FTP,TCP/SMTP :
.ENDM
.MACRO	IBM-PC
IBM-PC		IBM Personal Computer Information

  SYNTAX
	None

  SEMANTICS
	An IBM Personal Computer with the MIT PC-IP software can be connected
	via a serial line to a DCN host, which then serves as a gateway to the
	Internet system. The PC-IP software includes support for TELNET, TFTP
	and several other TCP- and UDP-based utility programs. It operates
	using Internet datagrams encapsulated in the MIT serial-line protocol
	and transmitted via the serial line. The DCN host running this
	protocol manages the datagram-switching and encapsulation functions
	and provides reachability information for the network.

	The IBM Personal Computer can be used with DCN hosts just as with any
	other Internet host. DCN hosts can be configured with TELNET and TFTP
	servers.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	INFORMATION
INFORMATION	General information

  SYNTAX
	None

  SEMANTICS
   BOOTING
	Mount the Fuzzball work volume on DK:.  Mount an ordinary RT-11 system
	volume on SY:.  The system volume sould contain at least the following
	files:

	PIP.SAV		Peripheral interchange program
	DUP.SAV		Device utility program
	DIR.SAV		Directory program
	KED.SAV		Keypad Editor

	and other RT-11 system and application programs as desired.  The
	system volume should also contain at least the following Fuzzball
	files:

	CLI.SAV		Command language interpreter
	FRUN.SAV	Foreground process loader (BOS only)
	LOGIN.SAV	Login program
	LOGOUT.SAV	Logout program
	TN.SAV		TELNET virtual terminal user program
	TELSRV.SAV	TELNET virtual terminal server program
	FTP.SAV		File transfer user program
	FTPSRV.SAV	File transfer server program
	SMTP.SAV	Mail transfer user program
	SMPSRV.SAV	Mail transfer server program
	MSG.SAV		Mail reader program
	SNDMSG.SAV	Mail composition program
	HOSTS.DAT	Internet host table (constructed by HOSTS)
	LOGIN.DAT	User login/password table (constructed by SYSMGR)
	LOGIN.MSG	Login text file (constructed by KED or EDIT)
	UNSENT.MSG	Mail file (constructed by CRMAIL)

	The following files can be used in certain configurations:

	UDP.SAV		Internet name/time/file server process
	EGP.SAV		Internet gateway process
	NSP.SAV		DECnet gateway (special configuration)
	LOG.SAV		Log process
	WATCH.SAV	SIMP monitor program
	LOG.TXT		Log file (constructed by CRMAIL)

	The following files will be useful for many applications:

	NIFTP.SAV	Network-independent FTP user program
	PING.SAV	Internet measurements user/server program
	XNET.SAV	Internet loader/debugger user/server program
	VCG.SAV		Peritek VCG display program
	FINGER.SAV	Display user information
	SETCLK.SAV	Set system time and date from local clock
	NETCLK.SAV	Set system time and date from remote time server
	RTCLK.SAV	Set TCU-50 from system time and date
	SYSMGR.SAV	System manager utility program
	HOSTS.SAV	Creates Internet host tables (HOSTS.DAT)
	CRMAIL.SAV	Creates mail files (UNSENT.MSG) and log files
			(LOG.TXT)
	HELP.SAV	Help utility program
	HELP.TXT	Help file (this file)
	MPM.SAV		MPM mail utility program
	*.CTL		MPM mail control files
	SPQSRV.SAV	Network spooler server
	PRINT.SAV	Local spooler server
	PRTQ.SAV	Spooler daemon
	WHOIS.SAV	NIC data-base access program
	RSOLV.SAV	Domain Name Server data-base access program

	These files operate with all versions of the Fuzzball software, while
	MSG, SNDMSG, CRMAIL, HELP, SETCLK snd RTCLOK operate with RT-11 as
	well.  In addition, the work or system volume should contain the
	Fuzzball resident system file configured for the particular hardware
	system on which it is run.  This file and other RT-11 system
	components are used only to load the Fuzzball resident system and are
	not referenced after that.

	Once the system and work volumes are mounted, load the Fuzzball
	resident system using the RT-11 RUN command.  Be sure the real-time
	harware clock is running.  The system should come up with heralds from
	the several daemons specified in the configuration file. One or more
	prompt characters (".") may also appear.  The system then begins to
	send HELLO messages to neighboring hosts and constructs its Host
	Table, which determines the routing to these and other hosts on the
	network.  This can take a minute or two, during which the SET HOST
	HOST command can be used to identify the other hosts as they come up.
	The SHOW command can be used to confirm the correct configuration of
	the processes and devices in the system and the SET HOST SHOW command
	to determine the resources in use.  Once the Host Table has stabilized
	the system is ready for use.

	In configurations using remote domain-name servers, some hosts may not
	appear reachable until the entire network path to the selected
	domain-name server(s) comes up.

   IN-CASE-OF-TROUBLE
	In case of trouble the following procedures may be helpful.  The
	system can be restarted at any time from location zero, following
	which it will recompute the checksum of the read-only code and data
	areas and reinitialize all processes.  In addition, the RESET command
	will do the same thing. Finally, the XNET Internet loader/debugger
	can be used to send a special message to a remote system, causing the
	same action.  Obviously, these mechanisms are potentially hazardous,
	but in keeping with the uses the Fuzzball software is likely to be
	put. Protection features may be incorporated in future versions.

   CONFIGURATIONS
	There are two versions of the Fuzzball resident system presently in
	use. One of these, called the basic system, supports up to 60K bytes
	of memory and PDP11 or LSI-11 processors without memory-management
	features.  The other, called the virtual system, supports the maximum
	available memory and PDP11 or LSI-11 processors with these features.
	The standard basic system is configured for a 60K-byte LSI-11/2 with
	EIS and one 32K-byte background process.  The standard virtual system
	is configured for a 256K-byte LSI-11/23 and up to seven 32K-byte
	virtual processes.  The remainder of memory is used for the resident
	system and various storage areas.

   PROCESSES
	Processes are identified by three-character physical names, which
	appear in the SHOW and DEVICE command arguments and their responses.
	In the case of ordinary direct-access and sequential input/output
	devices, these names correspond to standard RT-11 conventions.  In
	many cases several instances of a particular process type may appear,
	in which case the final character will be a digit in the range zero
	through nine.  Each process is identified by a port identifier, or
	PID, which appears as an argument in some commands.  Following is a
	list of the current process types (n denotes a digit):

	HOS     Host process
	INP	Internet process (with optional radio-clock support)
	DHn     Network process (SRI or ACC ARPANET 1822 link)
	DMn     Network process (DEC DDCMP link)
	DQn     Network process (DEC DEQNA Ethernet link)
	HDn	Network process (ACC HDH/1822 link)
	HYn	Network process (NSC A400 HYPERchannel link)
	ILn	Network process (Interlan or 3COM Ethernet link)
	KHn	Network process (U Michigan LAPB link)
	KMn	Network process (U Maryland Univac link)
	LHn     Network process (serial synch or asynch link)
	LNn     Network process (Ford serial or parallel LNA link)
	PCn	Network process (IBM PC serial asynch link)
	PPn	Network process (ACC or RSRE X.25 link)
	PRn	Network process (AX.25 packet radio link)
	CWn	Terminal process (FSK radio terminal)
	TTn     Terminal process (operator terminal/line printer)
	MXn     Multiplexor terminal process (DEC DZ11 multiplexor)
	BGD     Background user process (BOS)
	FGD     Foreground user process (BOS)
	VMn     Virtual user process (VOS)
	DXn     Disk process (RX01 single-density floppy disk)
	DYn     Disk process (RX02 double-density floppy disk)
	PDn     Disk process (PDT-150 single-density floppy disk)
	RKn     Disk process (RK05 disk cartridge)
	DSn     Disk process (RH11/RJS03 fixed-head disk)
	DLn     Disk process (RL11/RL01 disk cartridge)
	FDn     Disk process (AED 6200 double-density floppy disk)
	CSn     Disk process (USDC Winchester disk/tape cartridge)
	SMn     Disk process (SMS Winchester disk)
	FAX     Dacom 450 Facsimile process
	LPC     LPCM packet speech process
	UDP     Internet name/time/tftp server process
	EGP	Internet gateway process
	NSP     DECnet gateway process
	LOG	Log process

	As in RT-11, logical names can be associated with most of the above
	names using the ASG command.

   VIRTUAL-HOSTS
	Of fundamental importance to the DCnet architecture is the concept of
	physical and virtual hosts.  A physical host is an ordinary processor
	with memory and a complement of direct-access and sequential devices.
	A virtual host is a portable process that resides in a physical host.
	Virtual hosts are assigned names and 32-bit internet addresses as
	shown elsewhere.  Each virtual host residing in a physical host is
	supported by an Internet process, the name of which is the name of the
	virtual host.  The internet address of the physical host itself
	(necessary only to break routing loops) must be the address of one of
	its virtual hosts.

	Virtual hosts are identified within DCnet by the host identifier
	(HID), which presently is taken as the fourth octet of the four-octet
	internet address.  The particular virtual host supported by a given
	Internet process is determined by its HID, which can be changed by an
	operator command.  When the HID is changed, the name is changed
	automatically as well.

   TERMINAL-OPERATIONS
	Operation of the standard Fuzzball terminal is like RT-11, but with
	some differences.  Following is a list of the special keyboard
	functions (codes correspond to the standard ASCII interpretation):

	Code    Echo    Function
	------------------------
	CR      CR-LF   End of line
	SUB     ^Z      End of file
	DEL  BS-SP-BS   Delete previous character
	CAN     ^U      Delete current line
	ETX     ^C      Interrupt
	DLE     none    Begin escape sequence
	EOT     ^D      Panic reset (not in RT-11)
	DC3     ^S      Stop output
	DC1     ^Q      Resume output

	The Fuzzball interrupt and end-of-file functions operate rather
	differently than their RT-11 counterparts.  A single (not two) ETX
	function always causes an immediate termination of the program.  A SUB
	function causes the emulated RT-11 Command String Interpreter (CSI) to
	return to the Fuzzball Command Language Interpreter (CLI).  The DLE
	function introduces a special function sequence consisting of the DLE
	itself followed by a single character.  It the following character is
	another DLE, a single DLE is placed in the input buffer.  If it is a
	digit, the function performed is as follows:

	0       Switch to channel 0
	1       Switch to channel 1
	2       Switch to channel 2
	3       Switch to channel 3
	4-9     Reserved

	Operator terminals are ordinarily connected to user processes on a
	one-to-one basis.  Usually channel 0 for each terminal is assigned the
	associated user process and the remaining channels assigned for
	special purposes, such as net servers.  These assignments can be
	changed with the ASG command.  The options in effect for each terminal
	can be specified with the SET command.

   MEMORY-MANAGEMENT
	In the basic system the supervisor and all processes share the
	identity virtual-physical address mapping.  The hardware vector area
	is followed by the working storage allocated to the background
	process.  This is followed by the code and read-only storage areas for
	the resident system, including the supervisor and all processes.  Next
	is the code and read-only storage areas for the RT-11 emulator, which
	is re-entrant, position-independent and shared by all user processes.
	Following this is the parameter area containing tables and other
	information which can be accessed by the SET and SHOW commands.
	Finally are the buffers, state vectors and stacks used by the various
	components of the system.  The working storage for each foreground
	process is allocated as part of its state vector.

	The virtual system is structured in a similar way, except that each
	user process has its own address mapping.  Physical memory is
	organized as in the basic system, except that there is no working
	storage allocated to the background or foreground processes.  Instead,
	the working storage for each user process is allocated in turn above
	the areas described in the previous paragraph.  The supervisor and all
	processes except user processes operate in kernel space with identity
	virtual-physical mappings, except that segment 7 is mapped to the
	input/output page and segments 5 and 6 are used as windows to other
	spaces.  Each user process operates in user space with its own working
	storage mapped to virtual space starting at location zero.  Segments 6
	and 7 of each user process are mapped to the RT-11 emulator and
	parameter areas, while segment 5 is used as a virtual window to other
	spaces.  those functions that require it.

	Within each user process in both the basic and virtual systems, memory
	is organized as in RT-11.  In the background process the chain area
	starts at location 500 and the various "RMON areas" and emulator
	working storage extends downward from the end of its allocated working
	storage.  In the foreground processes the chain area starts at the
	first location of its allocated working storage.  Virtual user
	processes appear as background processes.  Features have been
	incorporated into the Fuzzball system to support re-entrant and
	position-independent load modules in both background and foreground
	processes.

  EXAMPLES
	None
.ENDM
.MACRO	INTERNET
INTERNET	Internet Process commands

  SYNTAX
	SET <devname> <command> <argument>      ;CLI command

  SEMANTICS
	See USER process commands and GENERAL help information

  OPTIONS
   CCB <cid> <code>
	Display a summary of connection data from the Connection Control Block
	for connection <cid>.  If <cid> is missing, display all open
	connections.  The optional <code> arguments TRA and TCP select
	additional displays applicable only to TCP.  TRA displays a received
	packet trace, while TCP displays packet and signal counts by type.
   CMD
	List the available commands.  Additional information is available with
	the HELP program.
   IDENT <hid>
	Change the virtual host ID for the process to <hid>.  After this is
	done the name of the process will change accordingly and the new
	routing information will circulate in the network.  Once changed, the
	ID should not be changed for at least two minutes, to allow old
	routing information to dissipate and prevent loops.
   OFF <code>
	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the internet process are as
	follows:

	12      NBS clock (OFF:  disable, ON:  enable)
	13      Echo all datagrams (OFF:  disable, ON:  enable)

   ON <code>
	(see the OFF command)
   SHOW
	Display a formatted summary of various quantitites of interest.
   SIZE <size>
	Set the maximum datagram size to <size>, which must be a decimal
	integer in the range 20-576 (40-576 for TCP).

  EXAMPLES
	.set dc6 ccb
	Connection ID:  051240 protocol:  006 state:  000007
	  CCB format:  004000 max size:  256 protocol flags:  041
	  Local addr:  [128.4.0.6] 3072 Foreign addr:  [128.4.0.6] 23
	  Rate:  60 delay:  1055 RTD rate:  327 RTD delay:  17

	.set dc6 ccb 4 tcp
	Catenet source quench:    0
	Catenet unreachable:      0
	Input packets received:   66
	  bad format:             0
	  bad checksum:           0
	  connection reset:       0
	  dropped:                1
	Accepted packets:         66
	  null (ACK-only):        24
	  text stored:            42
	  duplicate:              0
	  outside window:         0
	SYNs processed:           1
	FINs processed:           0
	Error packets sent:       0
	Control packets sent:     1
	Text packets sent:        25
	Retransmissions sent:     0
	ACK-only packets sent:    43
	Data avail sigs to user:  43

	.set dc6 ccb 4 tra
	Seq     ID      Start   Length  Window  Offset
	----------------------------------------------
	30005   30005   0       1       399     0
	35905   35905   0       216     184     0
	37888   37888   0       46      354     0
	38955   38955   0       1       399     0
	46288   46288   0       68      332     0
	46772   46772   0       1       399     0
	62172   62172   0       155     245     0
	63372   63372   0       1       399     0
	64969   64969   0       214     186     0
	1200    1200    0       1       399     0
	5183    5183    0       216     184     0
	6966    6966    0       46      354     0
	8050    8050    0       1       399     0
	25616   25616   0       216     184     0
	27533   27533   0       216     184     0
	30150   30150   0       216     184     0
	32250   32250   0       216     184     0
	34350   34350   0       216     184     0
	36450   36450   0       108     292     0
	38050   38050   0       1       399     0
	46283   46283   0       216     184     0
	48133   48133   0       216     184     0

	.set dc6 cmd
	Commands are:
	CMD   SHO   ON   OFF   ID   SIZ   CCB

	.set dc6 show
	Process type:  000026 options:  000000
	Host ID:  6 max conn:  8 max size:  256
	Input packets:    156
	  timeouts:       0
	  net signals:    0
	  bad format:     0
	  bad checksum:   0
	  returned:       0
	  dropped:        0
	Control msgs:     0
	Output packets:   158
.ENDM
.MACRO	KED
KED		Keypad Editor program

  SYNTAX
	KED                     ;invoke KED.SAV
	*<filespec>[/options]   ;* is CSI prompt
	*...
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 Keypad Editor User's Guide.

	Termination of the Keypad Editor
	[GOLD] [COMMAND] Prompt is Command:
	EXIT [ENTER] to save current edit version
	QUIT [ENTER] to terminate without saving edit modifications

	To define page size, screen size and margin wrap
	[GOLD] [COMMAND] Prompt is Command:

	SET PAGE _ [ENTER] to number of lines per page (Default=Formfeed)
	SET SCREEN _ [ENTER] to 80/132 characters per line on screen
	SET WRAP _ [ENTER] to line length for auto right margin

  OPTIONS
	/C      Creates a new file
	/I      Inspects input file;  does not allow changes
		No switch to edit file.  A back-up file will be created with
		the extension .BAK

  EXAMPLES
	See the RT-11 Keypad Editor User's Guide.
.ENDM
.MACRO	LIBR
LIBR		Librarian program

  SYNTAX
	LIBR                    ;invoke LIBR.SAV
	*[libraryfile][,listfile]=inputfiles[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/A      Includes in library directory all global symbols includeing
		absolute global symbols
	/C      Allows multiple input lines
	/D      Deletes a module from a library file
	/E      Extracts a module from a library and stores it as a .OBJ file
	/G      Deletes a global symbol from a library directory
	/M:n    Creates a macro library from an ASCII input file and allocates
		n blocks for the macro name directory
	/N      Includes module names in library directory
	/P      Includes psect names in library directory
	/R      Replaces modules in a library file
	/U      Updates (inserts and replaces) modules in a library file
	/W      Produces a wide (132 column) library directory listing
	/X      Creates a library with multiple global definitions
	//      Allows multiple input lines until next occurance of //
		no option Assumes module insertion

  EXAMPLES
	None
.ENDM
.MACRO	LINK
LINK		Linker program

  SYNTAX
	LINK                    ;invoke LINK.SAV
	*[binfile][,mapfile][,stbfile]=objfiles[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/A      Lists global symbols in alphabetical order
	/B:n    Sets bottom address of program to n;  invalid with /H and /R
	/C      Continues input on new line;  do not use with //
	/D      Allows duplicate library subroutines
	/E:n    Extends root program segment to specified value
	/F      Uses default FORTRAN library FORLIB.OBJ when linking
	/G      Increases size of linker's library directory buffer
	/H:n    Specifies highest address to be used by relocatable code;
		invalid with /B, /Q, /R, /Y
	/K:n    Inserts value of n into word 56 of block 0 as virtual SETTOP
		high limit;  n can be 1 to 32 (decimal);  valid only with /V
	/L      Produces output file in .LDA format;  invalid with /R, /V
	/M:n    Defines stack address
	/N      Produces global cross-reference listing as part of load map
	/O:n    Produces overlay structure;  invalid with /L
	/P:n    Changes amount of space linker uses for library routines;
		default is 170
	/Q      Specifeis start address of up to eight root program sections;
		invalid iwht /R, /H
	/R:n    Produces output in .REL format;  n is the stack size;  invalid
		with /B, /H, /K, /L, /Q
	/S      Allows maximum memory space for linker symbol table
	/T:n    Defines transfer address
	/U:n    Rounds up a program section;  n must be a power of 2
	/V      Enables special XM monitor SETTOP and LIMIT features;  invalid
		with /L
	/W      Produces a wide load map listing (132 columns)
	/X      Does not output bitmap if codes is below 400
	/Y:n    Starts a program section on address boundary n;  invalid with
	/H
	/Z:n    sets unused location to n
	//      Allows multiple input lines;  use on first and last lines of
		input

  EXAMPLES
	None
.ENDM
.MACRO	LOG
LOG		Log process

  SYNTAX
	None

  SEMANTICS
	The Log process is used to record significant system events (traps)
	for later analysis.  Traps are evoked when unusual but nonfatal
	network events occur, such as invalid packet formats, misrouted
	datagrams, etc., and when users log in and out of the system, for
	example.

	The data are recorded in a special file called LOG.TXT, which can be
	created using the CRMAIL utility and inspected using any text editor.
	Each line begins with a timestamp followed by the PID of the process
	generating the line. The data describing the event occupies the
	remainder of the line. Detailed coding formats are described in the
	program module identified following the "?" character.

	The Log process is also used to initiate TCP server processes and
	initiate daemons to send or receive mail and transmit spool files,
	if enabled.

  OPTIONS
	The Log process runs as a special server (dedicated user process).
	Any of the commands which change fixed user-process tables (see
	HELP information for USER) can be used with the Log process as well,
	including the ON and OFF commands.

	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the Log process are as follows:

	2	Log to file LOG.TXT (OFF: disable, ON:  enable)
	3	Log to terminal TT: (OFF: disable, ON:  enable)
	4	Mail daemon (OFF: disable, ON: enable)
	5	Spool daemon (OFF: disable, ON: enable)

  EXAMPLES
	17:19:56 002 ?TRAP-I-TCP service request [10.2.0.62] 37
	17:19:58 042 ?TELSRV-I-Open UT-SALLY.ARPA 37
	17:20:03 042 ?TELSRV-I-Closed
	18:10:21 006 ?TRAP-I-ICMP 005 000 [10.0.0.89] -> [128.8.0.2]
	18:13:08 050 ?GATE-F-Neighbor down 2 [10.3.0.27]
	18:24:19 046 ?UDP-I-Time request [18.26.0.8]
	18:24:34 046 ?UDP-I-Name request [18.26.0.8]
	18:30:54 006 ?TRAP-I-Leader error 000017 003400 001400 015400 000633
	18:33:59 006 ?TRAP-I-ICMP 005 000 [10.0.0.89] -> [128.8.0.2]
	18:34:22 012 ?TRAP-I-Link up
	18:37:30 014 ?TRAP-I-Link down
	18:44:46 046 ?UDP-I-Time request [18.26.0.33]
	18:50:14 050 ?GATE-I-Neighbor up 2 [10.3.0.27]
.ENDM
.MACRO	LOGIN
LOGIN		Assign user private volume

  SYNTAX
	login <username> <password> ;entered by user
				;or
	login <username>	;entered by user
	Password: <enter user password> ;host prompts for pw
				;or
	login                   ;entered by user
	Userid: <enter user name> ;host prompts for name
	Password: <enter user password> ;host prompts for pw

  SEMANTICS
	This program is used to log a user into the system, as well as assign
	a private volume for his files. Its use is mandatory for remote
	virtual-terminal (see TELSRV) and file-transfer (see FTPSRV) access
	and optional for local access. See the SYSMGR information and the ON
	command in the USER information for further information.

  OPTIONS
	None, but see also the help information for LOGOUT.

  EXAMPLES
	.login smith
	.Password:
	(Note:  the password is not echoed and a message is given only in the
	event of an error.)
.ENDM
.MACRO	LOGOUT
LOGOUT		De-assign user private volume

  SYNTAX
	logout                  ;entered by user

  SEMANTICS
	After a user has assigned a private volume using the LOGIN command,
	the default volume may be restored by typing LOGOUT. Also causes
	disconnect in the case of the TELNET server.

  OPTIONS
	None, but see also the help information for LOGIN.

  EXAMPLES
	None
.ENDM
.MACRO	MACPIC
MACPIC		Macintosh to bitmap conversion

  SYNTAX
	MACPIC			;invoke MACPIC.SAV
	*<outfilespec>=<infilespec>
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	This program reads a MacPaint file encoded in uuencode format and
	constructs a bitmap file in Sun format.

	The first 512 bytes of the file are the header. The first four bytes
	comprise the version number, followed by 38 * 8 = 304 bytes of
	patterns. The remaining 204 bytes are reserved for future expansion.
	If the version number is zero, the patterns are ignored. Hence,
	programs that wish to create files to be read into MacPaint can just
	write out 512 bytes of zero as the header. Following the header are
	720 compressed scanlines of data which form the 576 wide by 720 tall
	bitmap.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	MAIL
MAIL		Message and mail-file formats

  SYNTAX
	See RFC-822.

  SEMANTICS

	The format of the ARPANET message data structures is described in
	RFC-822.  In this model messages are sent by a user to a specified
	recipent in the format <username>@<hostname>, where <hostname> is the
	name of a host and <username> is the name of an user known to that
	host.  The implied address, usually called a mailbox, is typically
	associated with a mail file belonging to the recipient.  The mail file
	format used in the Fuzzball system is line-structured, with each line
	terminated by the ASCII sequence <CR><LF>, and contains only ASCII
	printing characters and format effectors.  Messages consist of a file
	header, which contains a character count, followed by the message
	itself.  Messages are stored one after the other with the last
	followed by an ASCII <SUB> character for compatibility with other
	RT-11 components.  Figure 1 shows the format of a typical message.

	17-Sep-83 17:53:49,314;000000000000
	RCPT to:<Zorica@dcn5>
	RCPT to:<@dcn1:Gross@dcn5>
	DLVD to:<Mills@dcn6>
	Return-path:  <Mills@dcn6>
	Date:  17-Sep-83 17:53:25-UT
	From:  Mills@dcn6
	Subject:  Test message
	To:  Zorica@dcn5
	cc:  <@dcn1:Gross@dcn5>, Mills@dcn6

	Folks,

	This message demonstrates RFC-821 and RFC-822 formats.

	Dave
	-------

	The first line is the file header, including the date, time and count
	of characters in the message text, and followed by an array of twelve
	flag characters used by other programs of the message system.  The
	message itself begins immediately following the <CR><LF> which
	terminates this line and includes first the transport (RFC-822) header
	followed by the message (RFC-821) header and, finally, the body of the
	message itself.  In the above example the lines beginning with RCPT
	and DLVD belong to the transport header and the lines following that
	up until the blank line belong to the message header.

	Mail files can be created in three ways:  (1) by copying a mail file
	from a TOPS-20 or Fuzzball host as-is to a Fuzzball host, (2) by
	creating and appending a new message locally and (3) by receiving and
	appending a message from another host.  Case (1) has been found useful
	during testing and in cases involving large amounts of mail which can
	be bulk-transferred more efficient file-transfer protocols like FTP
	and NIFTP. However, TOPS-20 files do not include the transport header,
	so that messages sent from these files require manual intervention.
	Case (2) is implemented by an interactive mail editor which operates
	much like the TOPS-20 SNDMSG program to construct and edit messages
	and append them, along with their transport and message headers,
	onto a specified mail file.  Case (3) is implemented by the SMTP
	Server, which listens for messages from the network and appends them
	onto the UNSENT.MSG mail file.

  OPTIONS
	None

  EXAMPLES
	See above.
.ENDM
.MACRO	MESSAGES
MESSAGES	Network messages

  SYNTAX
	?<code>-<severity>-<string>
		<code>		name of module originating the message
		<severity>	I = information, W = warning, F = fatal
		<string>	explanatory string

  SEMANTICS
	Following is a list of network-related messages which may be generated
	by network-layer and transport-layer protocol modules. In most cases
	additional information is available in the help information under the
	name indicated in the <code> field.

	?<code>-I-Open
		The connection has opened successfully.
	?<code>-I-Closed
		The connection has closed and all resources returned to the
		operating system.
	?<code>-F-Invalid signal
		This indicates a serious, probably fatal, software error.
	?<code>-I-Remote disconnect
		The remote end of the connection has initiated a close
		sequence (FIN indication). The sequence will be complete only
		after the local end initiates a companion close sequence.
	?<code>-I-Remote interrupt
		The remote end of the connection has initiated a TCP URGENT
		sequence, but no provision for that has been incorporated in
		the local end.
	?<code>-W-Connection error: <string>
		An error in the protocol or network has been recognized,
		either explicitly by an ICMP message received from the network
		or implicitily as the result of a problem in the local host
		routing tables. Additional information is provided by
		<string>, which can be one of the following:
	
		String			Source		Most probable cause
		-----------------------------------------------------------
		unspecified reason	internal	software error
		parameter error		ICMP message	bad datagram format
		time exceeded		ICMP message	routing loop
		reassembly error	ICMP message	high packet losses
		net unreachable		ICMP message	remote gateway down
		host unreachable	ICMP message	remote host down
		protocol unreachable	ICMP message	unsupported protocol
		port unreachable	ICMP message	unsupported service
		fragmentation error	ICMP message	bad datagram format
		source route failed	ICMP message	bad network route
		gateway down		local routing	local gateway down
		host down		local routing	local host down

	?<code>-W-Host not responding: <string>
		A timeout has occured during transmission due to the condition
		indicated by <string>, which may be one of the following:

		String				Condition
		--------------------------------------------------------------
		unspecified reason		software error
		initial connection timeout	waiting for connection to open
		ACK timeout			waiting for acknowledgment of
						  data sent
		send window timeout		waiting for the receiver to
						  accept more data
		idle connection timeout		nothing whatever heard for an
						  unreasonably long time

	?<code>-F-Connection reset:
		A TCP RESET segment has been received, usually indicating a
		broken or unsynchronized connection. Additional information is
		provided by <string>, which can be one of the following:

		String				Cause
		--------------------------------------------------------------
		unspecified reason		software error
		connection-open state		(a) unsupported service (port)
						  or (b) previous half-open
						  connection
		data-transfer state		other end has crashed or timed
						  out and has restarted
		connection-close state		other end has prematurely
						  terminated TIME-WAIT state

	?<code>-I-Listening...
		This message, produced by some modules, indicates the module
		is listening for a connection request and does not represent
		an error.
	?<code>-F-Connection open error
		An attempt was made to transfer data over a connection that
		has not opened or an attempt was made to open a connection
		already open. This usually indicates a software error.
	?<code>-F-Invalid parameter
		An invalid parameter was detected in a call to a system
		routine, indicating a software error.
	?<code>-W-Insufficient resources
		Sufficient system resources are not currently available for
		the operation requested. Protocol modules typically retry the
		operation, so this message does not necessarily indicate an
		error.
	?<code>-W-Gateway down
		A local gateway is down.
	?<code>-W-Host down
		A local host is down.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	MMM
MMM		Multi-Media Mail program

  SYNTAX
	MMM			;invoke MMM.SAV
	...                     ;* is prompt
	QUIT			;return to CLI

  SEMANTICS

	The Multi-Media Mail (MMM) program is used to compose, read, answer
	and forward documents in the format described in RFC-759 and RFC-767
	as amended. It is designed to operate with other user and server
	programs conforming to these protocols. Multi-media messages can be
	composed and displayed under either the RT-11 or Fuzzball operating
	systems; however, they can be sent to and received from other systems
	only under the Fuzzball operating system.

	The MMM program can be used with ordinary text data and no special
	peripheral devices other than a standard video or hardcopy terminal;
	however, full functionality requires special peripheral devices for
	non-text data. The Fuzzball operating system presently supports the
	Lincoln Laboratory LPCM Speech Codec for voice data input/output, the
	Dacom 450 Facsimile Transceiver for hardcopy image and facsimile data
	input/output and the Peritek VCG Color Bitmap Display for text, image,
	facsimile and graphics data presentation.

	Following is a summary of the data types, protocols and attributes
	presently supported:

	Data type	Protocol		Attributes
	---------------------------------------------------------------------
	Text		VERBATIM, PARAGRAPH	size, font (Peritek VCG only)
	Image		BITMAP			width, height
	Voice		LPC			none
	Facsimile	Rapicom-450-BLOCK	none
	Graphics	TEKTRONIX		(see elsewhere)

	The MMM program is is used in interactive mode to compose and display
	multi-media messages. It consists of a number of overlayed modules
	which operate with special files, called mailbags, in RFC-759 format.
	A mailbag consists of a list structure containing one or more
	multi-media messages, each of which includes the message proper in
	Multi-Media Content Protocol (MMCP) format enclosed in an envelope in
	Multi-Media Transport Protocol (MMTP) format. A mailbag is queued by
	MMM for transmission to a designated Internet host, following which
	the system spooler daemon (PRTQ) transmits it using TCP and port
	number 45 as specified in RFC-759.

	Upon recognizing a TCP connection request on port 45, the TCP
	dispatcher (TELSRV) activates the MMM program in daemon mode to
	process the incoming mailbag. The program extracts messages from the
	mailbag and delivers them to the respective users and also queues
	acknowledgments for these messages, which are then returned to the
	sender via the system spooler daemon.

	Acknowledgements for previously sent messages may also be included in
	the mailbag. These are extracted by the MMM program and matched with
	previously sent but not acknowledged messages. Upon successful match
	the message and its acknowledgment are discarded.

	Each MMM message is saved in a separate file with extension MMM and
	can be separately extracted and read using the MMM program. As the
	message is read various data objects, including speech, image and text
	data, either displayed immediately or sent to the spooling system for
	possible forwarding to special devices that may be attached to other
	hosts. Alternativiely, the data objects can be stored in local files
	for later manipulation or playback.

	A MMM message is constructed from data previously recorded, including
	speech, image and text data stored in separate files. The MMM program
	is used to assemble these data objects in the message, include address
	and subject information and send the message to the spooling system
	for transmission. Facilities are included to answer and forward
	previously received messages.

  OPTIONS
   ANSWER
	Answer a previously received message. The program will prompt for the
	<filespec> of the message, then prompt for each data item in turn
	("Protocol?") as described under the SEND command.
   PLAY
	Playback MMM message previously read using the READ command. The
	program will display the message header followed by a request for
	disposition for each data object in the message. In each request
	the type and size of the object is displayed followed by the
	default device name. An empty line causes the data to be output
	to that device, which need not reside on the same machine.
	Alternatively, a <filespec> causes the data to be stored in the
	file of that name with default extensions shown in the SEND command.
   QUIT
	Return to the CLI.
   READ <filespec>
	Read MMM mailbag <filespec> (default extension is MMM).
   SEND
	Compose and send an MMM message to one or more recipients. The
	program will prompt first for the "To:" list and expect a recipient
	in the usual form <user>@<hostname> in each line, with the list
	terminated by a single <CR>. It will then prompt for the "Cc:"
	list in the same way. Next, it will prompt for the "Subject:" line
	and, finally, for each data item in turn ("Protocol?"). In response
	to the data-item prompt, the one of the following can be supplied:

	Name		Data Type	  Extension
	-------------------------------------------
	VERBAT		ASCII Text		TXT
	IMAGE		Sun bitmap		BIT
	VOICE		LPCM Voice		LPC
	FACSIM		Dacom Facsimile		FAX
	GRAPHI		Tektronix Graphics	TEK
	DOCUME		MMM Message		MMM

	The program will then ask for the name of the file containing the
	data type and insert it into the MMM message. The list of data types
	is terminated by an empty line. At this point the message is queued
	for transmission.
   SHOW
	Display data structure summary, including tallies of nodes, main
	storage, temporary files and file sizes.

  EXAMPLES
	.mmm
	DCN6.ARPA MMM User Process (11-Oct-84 Version) 05-Jan-86 01:47:28
	*read msg56
	*play

	Return-path: <MPM@[10.3.0.52].ARPA,MPM@dcn6.arpa>
	Received-from: USC-ISIB.ARPA by dcn6.arpa at 1985-12-24-02:43:57
	Transaction: 6230 number 48444

	Date: 1985-12-23-12:17:25,000-07:00
	From: JKReynolds@USC-ISIB.ARPA
	Subject: Christmas Vision
	To:   mills@dcn6.arpa, forsdick@bbn-diamond.arpa,
	      rthomas@usc-isib.arpa, tcrowley@bbn-jade.arpa,
	      rschaaf@usc-isib.arpa, rtomlinson@usc-isib.arpa,
	      travers@bbn-diamond.arpa, clynn@bbn-diamond.arpa,
	      khuber@bbn-diamonds.arpa, jsecunda@bbn-diamond.arpa

	--- Sequential presentation ---

	Image protocol BITMAP-1 [508x82 pels] (11 blocks): Destination [VCG:]?
		[The image appears immediately on the Peritek display.]

	Image protocol BITMAP-1 [504x471 pels] (58 blocks): Destination
		[VCG:]? joyce
		[The image is stored in the file JOYCE.BIT in Sun bitmap
		format for possible later display or transport to a Sun
		workstation or another Fuzzball.]	

	*read msg55
	*play

	Return-path: <MPM@bbn-diamond.arpa,MPM@DCN6.ARPA>
	Received-from: bbn-diamond.arpa by DCN6.ARPA at 1985-11-07-17:33:50
	Transaction: 350 number 1

	Date: 1985-11-07-12:39:00,0-05:00
	From: forsdick@bbn-diamond.ARPA
	Subject: Stock Market and Weather for November 7, 1985
	To:   Mills@DCN6.ARPA, MOConner@ISIB.ARPA
	Cc:   Forsdick@BBN-Diamond.ARPA

	--- Sequential presentation ---

	Text protocol Verbatim-1 (2 blocks): Destination [TT:]? 
	From the New York Times, Thursday November 7, 1985:

	With a concerted push from institutional investors in the waning
	minutes of trading, the Dow Jones industrial average jumped the
	historic 1,400 hurdle yesterday with relative ease, ending the day at
	1,403.44. ... The Dow first closed above 1,000 on Nov. 14, 1972. It
	took more than 10 years, until Feb. 24, 1983, for it to finish above
	1,100.  In the rush of that year's bull market, it was just two months
	-- until April 26 -- before the Dow ended above 1,300.

	Text protocol Verbatim-1 (1 blocks): Destination [TT:]? 
                                       Satellite Photo
                         Nov 6 2 P.M. (EST)

	Image protocol BitMap-1 [664x459 pels] (75 blocks): Destination
		[VCG:]?
		[A satellite photograph appears immediately on the Peritek
		display.]

	Text protocol Verbatim-1 (1 blocks): Destination [TT:]? 
	Low and middle clouds extend from New England to the Ohio Valley.  A
	band of frontal clouds causing light and moderate rain extends from
	the upper lake region to Oklahoma. Skies are mostly clear over the
	southern portion of the country and the Midwest.  Broken clouds and
	snow are visible over the Rockies and the Northwest.

	Image protocol BitMap-1 [683x494 pels] (83 blocks): Destination
		[VCG:]? 
		[A weather map appears immediately on the Peritek display.]

	Voice protocol LPCM-1 (24 blocks): Destination [LPC:]? 
		[The speech data are automatically stored in a spool file,
		transmitted to another Fuzzball equipped with an LPCM
		speech codec and decoded. Meanwhile, the operator dials
		a special PBX trunk (code 422 in our version) and hears
		the playback.]

	*send
	To? mills@dcn7
	To? 
	Cc? 
	Subject? Test message
	Protocol? verbat
	Text protocol source? y.txt
	Protocol? image
	Image protocol source? joyce
	Protocol? 
	?MMM-I-Queue MILLS DK:VM3001.MMM[61] for [128.4.0.7]
	*quit
.ENDM
.MACRO	MSG
MSG		Mail reader program

  SYNTAX
	MSG                     ;invoke MSG.SAV
	...                     ;-> is prompt
	Q(uit) or E(xit) or ^Z  ;return to CLI

  SEMANTICS
	This module is part of the groupe of modules (SNDMSG,CRMAIL,SMTP)
	which form the mail system The purpose of MSG is to examine and
	operate on messages that are stored in the mail file.

	The program first attempts to open a given file which has to be in the
	mail format (created by CRMAIL).  If it succeedes it creates a table
	which holds the information about each message.  The information is :
	offset to that message and number of bytes in that message.  After
	displaying the information about the file blocks:

	A maximum of 500 file blocks are available of which 70 are in use.

	it displayes a promt ' <- '.  The process is now ready to accept the
	user command.  Every command is followed by a message sequence which
	is composed of one of the following:

	1) a number
	2) two numbers separated by any nonnumeric character
	3) one of the following special sequence characters:
	A - All messages
	D - Deleted messages
	E - Examined messages
	I - All messages in inverse order
	N - Not examined messages
	U - Undeleted messages

	The valid command characters and their operations are:

	A -     Answers to the specified message
	The process first displayes the header of the message-
	Answer message:
	1       09-Mar  Mills at dcn3   COMSAT final report(298char)
	then it chains to the SNDMSG process to form the answer message.
	Below are the prompt fields issued by the SNDMSG process:

	From:  - enter user address

	Reply-to (t or c):  - request for the address that will appear on the
	'To:' line in the answer message.  In every case the address from the
	'From:' field in the original message ( the senders address) is
	entered on the 'To:' line.  The following are the options for the
	'To:' line:
	[RET]   - only the senders address
	t       - senders address and all the address in the 'To:'
	field of the original message
	c       - senders address, all the addresses in the original 'To:'
	field and all the addresses in the original 'Cc:' field.

	Cc:     - Additional address
	Message:  - text of the message

	^Z terminates the message after which the program chains back to the
	MSG.  Note that the user is not prompted for the subject.  The answer
	messsage uses the same subject title that was in the original message
	prefixed by 'Re:'.  The only time when the user is promted for the
	subject is when the original message does not have that field.  (for
	more information check SNDMSG)

	B -     Backup, print previous message
	It prints the message in the same format as in t command

	C -     Print the information about the current message number and
	file name:

	Current message number is 36 of 37 messages in the file UNSENT.MSG
	A maximum of 500 file blocks are availableof which 70 are in
	use.
	D -     Mark a given message sequence for deletion.  The message
	remains part of the file until the file is updated.

	E -     Exit the program and update the open file
	Examines all of the messages and deletes the ones that are marked for
	deletion.

	F -     Forward one or more messages
	The process first displayes headers of all the messages that have to
	be forwarded:

	Forward message(s):
	1       09-Mar  Mills at dcn3   COMSAT final report

	After this the process chains to SNDMSG which will build the message
	that has to be forwarded.  (check SNDMSG for explanation of promt
	fields).  The first part of the message text is the text that the user
	types in.  The second part is the inserted forwarded message(s).
	Forwarded text is preceeded by the line that says-

	--- beginning of forwarded message ---

	and ended by the line

	--- end of forwarded message ---

	^Z will complete the message and chain back to MSG.

	G -     Set the current message number to the one given

	H -     Print the header information of the given message sequence
	Prints the message number, date, from filed and the first 30
	characters of the subject field:

	1       09-Mar  Mills at dcn3   COMSAT final report

	I -     Include the byte count in the headers
	It is an ON/OFF switch giving either a prompt
	Length included
	or      Length NOT included
	in the present implementation the length is always included

	L -     Create a listing file of the given message sequence
	After entering the l command with the message sequence the process
	prompts for the file name -

	List file name:
	and then copies all the required message into the given file

	N -     Next, print next message
	Same action as the t command

	P -     Put a message from the open file into another file
	The file created of the specified subset of messages is again in the
	mail file format

	Q -     Quit the msg program
	Quits the MSG program closing the mail file without updating it (see E
	command)

	S -     Chain to SNDMSG
	chains to SNDMSG process inorder to create a new message (for more
	information see SNDMSG)

	R -     Use the given file as the active file
	It opens a message file.  If another message file was already active
	it closes that file and issues a prompt -

	Mail file name:
	The new file becomes an active mail file

	T -     Displayes a given message sequence to the console

	U -     Unmark a given message sequence for deletion

	-       Mark a given message sequence as examined

	- -     Mark a given message sequence as not examined

	!  -    Search the file "UNSENT.TXT"

	?  -    Type a list of valid command characters to the console
	Prints the text from the msg.hlp file

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	NETCLK
NETCLK		Network set-clock program

  SYNTAX
	NETCLK	<hostname>	;invoke NETCLK.SAV

  SEMANTICS
	This program can be used to set the local host date and time from a
	remote host supporting an RFC-868 compatible time server. The
	<hostname> defaults to DCN1.ARPA, which is presently synchronized
	to NBS Radio WWVB to within a few milliseconds.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	NETWORK
NETWORK		Network Process commands

  SYNTAX
	SET <devname> <command> <argument> ;CLI command

  SEMANTICS
	See USER process commands and GENERAL help information

  OPTIONS
   ASG <logname> <device>
	This command is used for special network processes that can process
	ASCII data in addition to ordinary datagrams. It is used to establish
	the process or device as the destination of ASCII data received via
	the link.
   CMD
	List the available commands.  Additional information is available with
	the HELP program.
   DEVICE <logname>
	Display a formatted summary of the device table, which establishes the
	association between the logical and physical names of each process
	together with additional data.  If <logname> is a valid logical name,
	the data associated with that process is displayed.  If <logname> is
	defaulted the entire table is displayed.
   IDENT <address>
	Set the address assigned to the link to <address>.  Note that these
	values are constructed automatically during normal system operations,
	so that this command is intended only for exceptional circumstances.
   OFF <code>
	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the network process are as
	follows:

	10      Link enable (OFF:  enable, ON:  disable)
	11      HELLO neighbor (OFF:  enable, ON:  disable)
	13      External loopback (OFF:  disable, ON:  enable)
	14      HELLO messages (OFF:  disable, ON:  enable)

   ON <code>
	(see the OFF command)
   SHOW
	Display a formatted summary of various quantitites of interest,
	including packet tallies, network parameters and addresses.
   SIZE <size>
	Set the buffer size for inbound datagrams and the maximum fragment
	size for outbound datagrams to <size>. Note that the size is
	ordinarily set at the maximum transmission unit (MTU) size, which is
	an intrinsic parameter of the network, so that this command is
	intended only for exceptional circumstances.
   STATUS
	Display a formatted summary of device-dependent status variables. The
	interpretation of these data depend on the various device drivers
	used.

	There are several formats for the status information depending upon
	the network driver and configuration. Among these are the following:

	Code	Driver/network
	--------------------------------
	ARP	ARPAnet 1822 DH protocol
	DCN	DCnet network link
	DMV	DCNet DMV11 network link
	ETH	Ethernet
	HDH	ARPAnet HDH protocol
	PCG	IBM PCIP gateway
	PKT	AX.25 packet radio
	X25	X.25 network link

  EXAMPLES
	.set lh0 cmd
	Commands are:
	CMD   SHO   ON   OFF   ID   SIZ   STA

	.set lh0 sho
	Process type:  000027 options:  040000
	Subnet:  DCN status:  0 min buf:  0 retry:  3750
	Foreign address:  [0.0.0.0] max size:  256
	Input packets:    0
	  bad format:     0
	  bad checksum:   0
	  returned:       0
	  dropped:        0
	  HELLO msgs:     0
	ICMP msgs:        0
	Output packets:   29
	Input errors:     0
	Output errors:    0
	No buffer:        0
.ENDM
.MACRO	NIFTP
NIFTP		Network-independent file transfer program

  SYNTAX
	NIFTP                   ;invoke NIFTP.SAV
	...
	QUIT                    ;exit to CLI

  SEMANTICS
	The Network-Independent File Transfer Protocol (NIFTP) has been the
	object of an ongoing standardization effort in the United Kingdom.
	The current specifications are given in a document called the Blue
	Book and published by the National Physical Laboratory in 1980.  A
	subset of this protocol is supported for file transfers between
	Fuzzball hosts and certain TOPS-20 ARPANET hosts using two programs,
	the NIFTP User, a PDP11 program written in the C language by Steve
	Treadwell and the NIFTP Server, a TOPS-20 program written in the BCPL
	language by Chris Bennett, both of University College London.

	The NIFTP User runs in interactive mode on a Fuzzball host. The NIFTP
	Server resides at a TOPS-20 ARPANET host (presently USC-ISIE) and is
	activated upon receipt of a TCP connection on port 47.  The NIFTP User
	is controlled by user commands in the same way as the Command Language
	Interpreter (CLI) and other user programs.  It in turn controls the
	NIFTP Server by the protocol specified in the Blue Book.  These
	programs can also be used with other implementations conforming to the
	Blue Book protocol.

	A file transfer operation proceeds by first specifying the remote host
	using the CONNECT command and then the user name and password using
	the LOGIN command.  Following this, the SEND and GET commands are used
	to transfer files to and from the remote host as required.  For each
	transfer a connection is established to the NIFTP Server, which
	verifies the user name and password and establishes the working
	directory, following which the file transfer takes place.  At the
	conclusion of the file transfer the connection is closed.  The QUIT
	command is used to exit to the CLI.

	The NIFTP User is normally controls all connection and file-transfer
	operations.  The syntax of NIFTP User commands is similar to that of
	CLI commands and consists of a keyword followed by a list of arguments
	separated by spaces.  Only the first three characters of a keyword are
	significant.  In the case of some commands expecting two file names as
	arguments, if the second argument is missing a copy of the first
	argument replaces it.  Ordinarily this convention leads to the
	intended action;  however, there are cases where misdirected use of
	this feature can result in unintended actions.

	The NIFTP User prompt is "*", signifying the program is ready for the
	next command.  A prompt appears as each command sequence is completed
	with the NIFTP Server.  Prompts will not appear following commands
	which have only local significance or in which errors are detected.

  OPTIONS
   ABORT
	If a data transfer is not in progress, do nothing.  Else, send the
	NIFTP Server ABORT signal and wait for the connection to be closed
	from the remote end.
   ASCII
	The ASCII and IMAGE commands set the mode for subsequent file
	transfers.  The default is ASCII.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	BRIEF.
   CONNECT <hostname> <port>
	Set the <hostname> and <port> for a subsequent file transfer.  The
	<hostname> specification is in the form n1,n2,n3,n4, where n1,...,n4
	are decimal integers with values in the range 0-255, and the default
	is the ARPANET host USC-ISID (10,1,0,27).  The <port> specification is
	a decimal number in the range 0-32767 with a default of 47 (NIFTP).
   GET <remotename> <localname>
	Open a connection to the remote host previously specified by the
	CONNECT, LOGIN and ASCII/IMAGE commands.  Then transfer the file
	<remotename> on the remote host to <localname> on the local host.  The
	<remotename> must contain no more than 40 ASCII printing characters,
	while the <localname> must be a valid RT-11 file name or sequential
	device name.  If <localname> is missing, assume the string
	<remotename> in its place.
   HELP
	Display helpful information, including a list of commands.
   IMAGE
	(see the ASCII command)
   LOGIN <user> <password>
	Specify the <user> and <password> for subsequent data transfers.  Both
	<user> and <password> must contain no more than 40 ASCII printing
	characters.
   QUIT
	Execute an implied ABORT command and exit to the CLI.
   SEND <localname> <remotename>
	Open a connection to the remote host previously specified by the
	CONNECT, LOGIN and ASCII/IMAGE commands.  Then transfer the file
	<localname> on the local host to <remotename> on the remote host.  The
	<localname> must be a valid RT-11 file or sequential device name,
	while the <remotename> must contain no more than 40 ASCII printing
	characters.  If <remotename> is missing, assume the string <localname>
	in its place.
   SHOW
	Display a formatted summary of various quantitites of interest,
	including the current host, file and block number.
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	None
.ENDM
.MACRO	PING
PING		Internet measurements program

  SYNTAX
	PING                    ;invoke PING.SAV
	...
	QUIT                    ;exit to CLI

  SEMANTICS
	The Packet InterNet Groper (PING) is an internet measurement and
	debugging tool.  It can function both as a user and server and is
	normally run in interactive mode by a user at a Fuzzball host. PING is
	designed to send datagrams to cooperating internet hosts and gateways
	which echo these datagrams to the sender.  The roundtrip delays are
	then recorded and used to develop summary statistics and histograms.
	PING is not designed to test throughput capabilities, since only a
	single datagram is allowed on the roudtrip path.  Ordinarily, PING
	datagrams use the Internet Control Message Protocol (ICMP) Echo and
	Echo Reply messages, since these are echoed by many Internet hosts and
	gateways, including all those using the Fuzzball internet software.
	However, the ICMP datagram formats can be used with other protocol
	numbers in the IP header.

	A PING operation proceeds by first opening a raw-datagram connection
	with the remote host using the CONNECT command.  The PING command is
	used to begin a volley of ICMP Echo - ICMP Echo Reply exchanges
	between the local and remote hosts.  Roundtrip delay samples are
	recorded in a buffer capable of holding about 500 samples.  Finally,
	the SHOW command is used to select the format and display the results.
	The QUIT command is used to exit to the CLI.

  OPTIONS
   ABORT
	Terminate the PING volley and ignore subsequent datagrams.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	VERBOSE.
   CLOSE
	Close the data-collection file.
   CONNECT <hostname> <protocol>
	Open a raw-datagram connection to <hostname> with <protocol>
	specified. The <protocol> is a decimal integer In the range 0-255 and
	defaults to 1 (ICMP).
   CREATE <filespec>
	Create a data-collection file for delay samples.  As each ICMP Echo
	Reply message is received from the network and the roundtrip delay is
	calculated the value is written to the file as a 16-bit integer.
   DISCONNECT
	Execute an implied ABORT command and close the raw-datagram
	connection.
   HELP
	Display helpful information, including a list of commands.
   LOCAL <hostname>
	Set the local address to <hostname>, with default the local primary
	address. This feature can be used to select local secondary addresses
	in the case of a multi-homed host.
   OFF <code>
	The ON and OFF commands are used to set and clear selected options.
	The ON command enables the selected option and the OFF command
	disables it.  Options supported include:

	ACK	Controls response to the ICMP Echo datagram (OFF:  process,
		ON:  return AN ICMP Echo Reply datagram)
	DUMP    Controls printing of the IP header (OFF:  disable, ON:
		enable)
	TIME	Controls packet type (OFF: ICMP Echo, ON: ICMP Timestamp)
	TRACE   Controls printing of the datagram header, including the
		roundtrip delay and clock offsets (OFF:  disable, ON:  enable)
   ON <code>
	(see the OFF command)
   OPTION <code> <hostname1> <hostname2> ...
	Specify the Internet source route as the sequence <hostname1>
	<hostname2> ...  (up to nine).  Set the option code in the IP options
	field to <code> (octal), where code is 203 (loose source route), 207
	(record route) or 211 (strict source route).
   PING <count>
	Begin a PING volley with the selected remote host and protocol.  The
	number of roundtrip volleys requested is <count>, which defaults to
	one.
   QUIT
	Execute an implied DISCONNECT command and return to the CLI.
   RESTART
	Resume a PING volley with the select remote host and protocol.  This
	command is useful after a PING datagram has been lost in the network.
   ROUTE <hostname1> <hostname2> ...
	Specify the Internet source route as the sequence <hostname1>
	<hostname2> ...  (up to nine).
   SHOW <format>
	Display a formatted summary of various quantitites of interest,
	including the current host and PING headers.  The <format> selects the
	format of the display.  If it is SUMMARY the data printed include the
	number of volleys together with the mean, minimum, maximum and
	overflow of the samples collected.  If it is HISTOGRAM a histogram of
	the samples collected is printed.
   SIZE <size> <code>
	Set the maximum datagram size to <size> octets, including the Internet
	header. The <code> can be FIXED (default) or RANDOM. In the latter
	case the size is uniformly distributed on the interval 40 to <size>
	octets.
   TIME <time> <code>
	Set the transmit timer to <time> (seconds). The action depends on the
	value of the <code>. If <code> is RTX (default) new datagrams are
	transmitted immediately following the matching reply to the last one
	and the the last one is retransmitted (possibly repeatedly) at
	intervals of <time> until a matching reply is received. If <code> is
	FIXED new datagrams are transmitted at fixed intervals of <time> and
	the last one is never retransmitted.
   TOS <type-of-service>
	Specify the Internet type-of-service octet (in octal).
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	ping    
	DCN1.ARPA PING User Process (22-Aug-81 Version) 21-May-83 21:13:21
	connect 10,1,0,20 40
	?INET-I-(PIN)-Open [10.1.0.20]
	ping 100
	?PING-I-Operation complete
	show histogram
	Samples:  100 mean:  424 min:  389 max:  658 overflow:  0
	Value   Count
	----------------+
	350     28      |****************************
	400     58      |*****************************************
	450     7       |*******
	500     3       |***
	550     2       |**
	600     1       |*
	650     1       |*
	quit
	?INET-I-(PIN)-Closed
.ENDM
.MACRO	PIP
PIP		Peripheral interchange program

  SYNTAX
	PIP                     ;invoke PIP.SAV
	*<filespec>[/options]=<filespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/A      Copies files in ASCII mode
	/B      Copies files in formatted binary mode
	/C:date Includes only files with date
	/D      Deletes files
	/E      Waits for volume to be mounted before executing the command
	/F      Marks output files as protected
	/G      Ignores any input errors
	/H      Copies files from one large volume to several small volumes
	/I:date Copies only files created on or after date
	/J:date Copies only files created before date
	/K:n    Transfers n copies of the output files to a sequential device,
		such as LP:, PC;  or TT:
	/M:n    Controls positioning and rewinding of magtape (not supported
		in BOS/VOS)
	/N      Does not copy or rename a file if a file of the same name
		exists on the output device
	/O      Deletes a file on the output device before copying, if a file
		if a file of a given name already exists
	/P      Copies or deletes all files not specified
	/Q      Queries before performing operation
	/R      Renames input filename to output filename
	/S      Copies files one block at a time
	/T:date Puts date on all files copied or renamed
	/U      Copies and concatenates specified files
	/V      Verifies output file;  do not use with /A or /B
	/W      Logs operations on console
	/Y      Includes .SYS files in operation
	/Z      Removes protection from output files
		no option Copies files in image mode

  EXAMPLES
	None
.ENDM
.MACRO	PRINT
PRINT		Local spooler server

  SYNTAX
	PRINT <filespec>	;invoke PRINT.SAV
				or
	PRINT			;invoke PRINT.SAV
	*<filespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	Queues <filespec> for printing by the PRTQ program. This program
	creates a control file (with extension SPQ) containing data used by
	PRTQ to identify and label the data file, which has been previously
	created. It then signals the LOG process to create a PRTQ daemon to
	output the data file to the specified device (LP: is the default).

	This program can be used to spool files to a device on another
	Internet host (see /R option). It can also be used to queue MMM mail
	files for transmission to another MMM-capable Internet host.

  OPTIONS
	/B:n	Output n banner pages
	/C:n	Output n copies
	/D	Delete data file after printing
	/L	List entire output queue
	/L:n	List nth output queue entry (long form)
	/M	Queue MMM mail
	/P:dev	Output to device dev
	/R	Prompt for remote directory in <user>@<host> format
	/U	Unix file (no cr's)
	/X:n	Delete nth output queue entry (Note: an entry which is
		actively being processed by PRTQ cannot be deleted.)

  EXAMPLES
	None
.ENDM
.MACRO	PRTQ
PRTQ		Printer daemon

  SYNTAX
	None (invoked by LOG process)

  SEMANTICS
	This program is invoked automatically by the LOG process when a file
	is queued for printing. The program scans the directory of DK: for the
	oldest occurance of a file with SPQ extension, indicating a control
	file created by SPQSRV or PRINT. Each control file names both an
	output device and a data file. When printing is complete the control
	file is deleted and the data file deleted (if specified).

	This program is also used to spool files to a remote host. See the
	PRINT program for further details.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	RSOLV
RSOLV		Domain resolver

  SYNTAX
	RSOLV [<server-host>]	;invoke RSOLV.SAV
	Host name? <host-name>	;note prompt
	...
	*^Z                     ;exit to CLI
	<server-host> is the domain name of the host supporting the domain
	name server (default USC-ISIF), while <host-name> is the domain name
	to be resolved.

  SEMANTICS
	This program is used to query the Domain Name Server data base, which
	presently contains the host name/address mappings for the .ARPA
	domain. See RFC-882 and RFC-883 for further information on the domain
	system. The program is given the full name of an Internet host, which
	is then encoded into a request and sent to one of the server hosts
	(presently including USC-ISIB and USC-ISIF, with the latter as
	default). The resource records returned are simply displayed on the
	operator terminal.

  OPTIONS
	Requests are in the form <host-name> <type>, where <host-name>
	is the name of a host and <type> is one of the following:
	1 (A)		host address
	2 (NS)		authoritative name server
	3 (MD)		mail destination
	4 (MF)		mail forwarder
	5 (CNAME	canonical name for an alias
	6 (SOA)		marks the start of a zone of authority
	7 (MB)		mailbox domain name
	8 (MG)		mail group member
	9 (MR)		mail rename domain name
	10 (NULL)	null RR
	11 (WKS)	well known service description
	12 (PTR)	domain name pointer
	13 (HINFO)	host information
	14 (MINFO)	mailbox or mail list information
	252 (AXFR)	request for a transfer of an entire zone of authority
	253 (MAILB)	request for mailbox-related records (MB, MG or MR)
	254 (MAILA)	request for mail agent RRs (MD and MF)
	255 (*)		request for all records

  EXAMPLES
	None
.ENDM
.MACRO	RUNOFF
RUNOFF		Text formatting program

  SYNTAX
	RUNOFF                  ;invoke RUNOFF.SAV
	*<outfile>=<infile>     ;* is CSI prompt
	*...
	*^Z                     ;exit to CLI
	;default extensions:  <outfile>.DOC, <infile>.RNO

  SEMANTICS
	RUNOFF command summary:
	.B n    Blank lines of length n independent of line spacing
	.BR     Break to next line
	.C n    Center next line with n characters to right margin
	.FG n   Figure size in number of lines
	.F      Fill lines for justification mode
	.J      Justify lines to right margin setting
	.LM n   Left margin set to position n
	.NF     No fill or justification off
	.NJ     No justification of right margin
	.NNM    No numbering of pages
	.NM     Number pages
	.PS n,m Paper size n=lines/page m=right margin
	.P n    Paragraph with n spaces indented (default=5)
	.RM     Right margin set to position n
	.S n    Skip n line spacing
	.SP n   Spacing of lines 2=double spacing
	.UC     Upper case and lower case letters printed

  OPTIONS
	/B:n    Start printing with page n
	/E:n    Stop printing after page n
	/F      Simulate FF's with 66 lines/page (uses multi-LF's)
	/F:n    Simulate FF's with n lines/page (uses multi-LF's)
	/H:NO   Disable hyphenation
	/H:YES  Enable hyphenation (default)
	/I      Display useage information
	/T:A    Output device is an AJ832
	/T:D    Output device is a Diablo
	/T:N    Output device does not support scripting (default)
	/U:B    Underline with spacing-backspace (default)
	/U:L    Use overprint-underscore
	/U:N    Supress underlining
	/U:S    Simulate with hyphen on next line
	/V      Display version of this program
	/W      Wait for <CR> before each page

	  EXAMPLES
		None
.ENDM
.MACRO	SMPSRV
SMPSRV		Mail transfer server program

  SYNTAX
	See RFC-821.

  SEMANTICS
	The SMTP Server is designed to be compatible with the protocol
	specified in RFC-821.  It is invoked by the TELSRV progam upon receipt
	of a TCP connection on port 25.  Commands consist of four characters,
	only the first three of which are significant.  Replies consist of a
	three-digit code, the first of which indicates the status of the
	request according to the following code:

	1xx     The action requested has begun.  Additional server commands
		can be given to initiate unrelated actions.
	2xx     The action requested has completed successfully.
	3xx     Additional commands are necessary to completely specify the
		action requested.
	4xx     The action requested was aborted due to an error condition
		believed to be temporary.  The command may be retried at a
		later time.
	5xx     The action requested was aborted due to an error condition
		believed to be permanent.

  OPTIONS
   DATA
	This command indicates the body of the message will follow.  Reply
	code 200 is returned, following which the sender is expected to send
	the text of the message followed by the sequence <CR><LF>.<CR><LF>.
	Reply code 250 is returned at that time.
   HELP
	Display helpful user information, including a list of FTP Server
	commands.  All but the last line returned have reply code 111.  The
	last line returned has reply code 211.
   HELO <hostname>
	This command is used in the initial dialog to verify that the sender
	<hostname> agrees with its internet address.  A reply code in the form

	215 <hostname>

	is returned, where <hostname> is the name of the SMTP Server host.
   MAIL from:<sender>
	This command specifies the <sender> return route for a message.  If
	the <sender> syntax is acceptable a 200 reply code is returned.
   NOOP
	Do nothing.  Reply code 200 is returned.
   QUIT
	Close the connection and exit to the CLI.  Reply code 226 is returned.
   RSET
	This command is used to reset internal buffers in case the sender
	aborts a sequence of commands.
   RCPT to:<recipient>
	This command specifies a <recipient> route for a message.  If the
	<recipient> syntax is acceptable and the first host along the route is
	known at the SMTP Server host, a 200 reply code is returned.

  EXAMPLES
	See RFC-821.
.ENDM
.MACRO	SMTP
SMTP		Mail transfer user program

  SYNTAX
	SMTP                    ;invoke SMTP.SAV
	...
	QUIT                    ;exit to CLI
				;or
	SMTP <hostname> <route> ;invoke SMTP.SAV, execute an
				;implied SEND <hostname> <route>
				;command and exit to CLI upon
				;completion

  SEMANTICS
	The Simple Mail Transfer Protocol (SMTP) functions are provided using
	two programs, the SMTP User and the SMTP Server.  The SMTP User runs
	in interactive mode on a Fuzzball host. The SMTP Server normally
	resides at some other host and is activated upon receipt of a TCP
	connection on port 25.  The SMTP User can be controlled by user
	commands in the same way as the Command Language Interpreter (CLI)
	and can also be controlled directly by other user programs. It in
	turn controls the SMTP Server by standardized server commands, with
	the actions taken indicated by standardized replies.  These programs
	operate with the protocol described in RFC-821 and can be used with
	other implementations conforming to this protocol.

	Mail is sent to recipients at the various internet hosts by the SMTP
	User program.  This program first searches a specified mail file and
	constructs a data structure including a set of pointers to each
	recipient mailbox string along with the internet address associated
	with the recipient host.  It then sorts this structure by internet
	address and constructs a source-route string, if necessary, as
	specified by the operator.  Finally, it connects to each host in turn
	and sends its messages as required by the host.  As delivery to each
	recipient is confirmed, the SMTP User program overwrites the recipient
	mailbox string with an acknowledgment code.

	It may happen that some messages sent to a host may specify recipients
	not at that host, in which case these messages must be forwarded to
	the final destination as required by RFC-821.  This would be the case
	when an operator at a local host wishes to stage a batch of messages
	at another host for later relay to other hosts not on-line at the
	moment.  In addition, forwarding is also required when the final
	destination host supports some transport protocol other than TCP, so
	that an intermediary supporting both protocols is required.  The
	present system supports two operational modes, one in which mail is
	sent automatically either directly to the destination or via an
	intermediate relay, as directed by internal tables, and the other in
	which it is sent manually according to a source route specified by the
	operator.

	Mail is ordinarily received at a host in unattended mode by the SMTP
	Server.  This program appends each message as it is received to a
	public, controlled-access mail file called UNSENT.MSG.  For those
	messages addressed to a recipient at the receiving host, the
	corresponding recipient mailbox string is overwritten with a delivery
	notice;  the remainder are left for later relay by the SMTP User
	program.

  OPTIONS
   ABORT
	Abort the current mail transfer sequence and close the connection.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	BRIEF.
   HELP
	Display helpful information, including a list of commands.
   QUIT
	Execute an implied ABORT command and exit to the CLI.
   SEND <filespec> <route>
	Scan the file <filespec> on the local host for unsent messages.  Then
	sort the recipient table by recipient host address.  Finally open SMTP
	connections to each recipient host in turn and send the messages for
	that host.  The <filespec> must refer to a mail file in standard
	format.  The <route> specification is optional.  If used, it
	desginates the source route in the form:

	<@HOST1,@HOST2,...,@HOSTn:USER@HOSTn>

   SHOW
	Display a formatted summary of various quantitites of interest,
	including the current host, file and block number.
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	None
.ENDM
.MACRO	SNDMSG
SNDMSG		Mail composition program

  SYNTAX
	SNDMSG                  ;invoke SNDMSG.SAV
	...
	^Z                      ;exit to CLI
	SNDMSG can also be invoked from MSG by executing one of the commands:
	s, f, a.  If that is the case, ^Z will return to the MSG process.

  SEMANTICS
	SNDMSG is a module which together with a MSG, CRMAIL and SMTP form an
	electronic mail system.  The purpose of SNDMSG is to create an
	electronic messages and store it in mail file.  SMTP is responsible
	for sending and receiving the messages , MSG examines the messages in
	the mail file and CRMAIL creates the mail file.

	When SNDMSG is invoked it first checks if the date is set.  If not it
	exits printing the message:
	Please enter the data.
	If the date exists in the system it proceedes asking for the name of
	the output file.  The name specified has to end with '.MSG'.  After
	the file is succesfully open (it has to be in the mail format) the
	pointer is positioned to the end of the file.  User is promted with
	several questions (From:, Subject:, To:, Cc:).  After getting the
	information from the user to all this questions SNDMSG creates the
	message and writes it into the mail file.

	SNDMSG[RET] - invokes the sndmsg.sav
	Output file name:  - enter the name of the mail file

	From:  - address of the sender.  The address usually has the form
	'username@hostaddress'.  For more explanation on the semantics of
	address field chech the RFC-822

	To:  - List of addresses to where the user wants the message to be
	sent to.  Every address is followed by a come.  Addresses can be
	entered on several lines (folded) with the restriction that one
	address can not be folded and that every line except for the last has
	to be terminated by ','.

	cc:  - Additional list of recipients which where not included in the
	'To:' list.  Same rules apply as for the 'To:' field.

	Subject:  - title of the message.  Enter any character string that
	fits on one line

	Message:  - enter the text of the message.  Changes in the text can
	only be made to the current line (SNDMSG does not have the capability
	of the KED).  Text of the message can also come from a text file by
	typing ^B followed by the name of the file or:

	^B [RET]
	Input file:  FILENM.EXT[RET]
	To end the text of the message type:  '^Z'.  At this point the message
	is created in the file.

	The user is prompted with another To:  - type ^Z to terminate the
	session or follow the above mentioned steps to create another message.
	^N - will abort the currently typed message

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	SPELL
SPELL		Spelling correction program

  SYNTAX
	SPELL                   ;invoke SPELL.SAV
	*[<f1>][,<f2>]=<f3>[<f4>,...][/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI
	;default extensions:  <f1>.LST, <f2>.WRD, <f3>.RNO, <f4>.RNO

  SEMANTICS
	<f1>    Contains all words in source not in dictionary (optional)
	<f2>    Contains all words in source and dictionary (optional)
	<f3>    Contains words to be checked
	<f4>    Up to 5 dictionary files (optional)

  OPTIONS
	/A      AP120B file - lines after " are examined
	/C:n    Consider only words of >n letters
	/D      Dictionaries SY:SPELL.WRD,DK:SPELL.WRD are not used
	/E      Every error is printed (not once for each word)
	/F      FORTRAN file
	/I      Inhibit word matching
	/H      Help
	/M      MACRO file
	/N:n    Output files are limited to n chars per line
	/P      Pack 3 errors per line
	/R      RUNOFF file
	/S:n    Space for >n letters after loading system dictionary
	/T      RTL2 file - lines after % are examined
	/U      Outputs dictionary in upper case

  EXAMPLES
	None
.ENDM
.MACRO	SPQSRV
SPQSRV		Network spooler server

  SYNTAX
	None (invoked by TCP connection to port 515)

  SEMANTICS
	This program is invoked by TELSRV upon a TCP connection to port 515.
	This port is used by Berkeley 4.2bsd systems to support a remote
	printer spooler. The program interprets the data following as either
	a control file or data file, depending upon the dialog. Data files
	stored in this way are automatically queued for printing by the PRTQ
	program.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	SRCCOM
SRCCOM		Source compare program

  SYNTAX
	SRCCOM                  ;invoke SRCCOM.SAV
	*[listfile][,SLPfile]=oldfile,newfile[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	See the RT-11 System User's Guide

  OPTIONS
	/A      Specifies audit trail for SLP command file
	/B      Compares blank lines
	/C      Ingnores comments and spacing
	/D      Copies newfile to listfile and inserts change bars and bullets
		at left margin to mark differences
	/F      Includes formfeeds in output file
	/L:n    Defines number of lines that must agree to constitute a match;
		n can be 1 to 310;  defalut is 3
	/S      Ignores spaces and tabs when comparing
	/V:i:d  Defines characters to use as markers for inserts and deletions
		in place of change bars and bullets;  use with /D;  i and d
		are the numeric for the ASCII characters to use

  EXAMPLES
	None
.ENDM
.MACRO	SYSMGR
SYSMGR		Maintain login file

  SYNTAX
	sysgmr                  ;entered by the user
	SYSMGR-Login File Manager (6-17-83) type ?  for help
	*

  SEMANTICS
	The SYSMGR command is used to create, update, display and otherwise
	maintain the standard login file.  See also the help information for
	the LOGIN and LOGOUT commands for additional discussion of the login
	file and its use.

  OPTIONS
	After typing the SYSMGR command, the host responds with the herald
	shown above and then prompts for user input by printing an asterisk.
	The acceptable input commands to SYSMGR are:

	?       - prints a listing of the commands,
	create  - creates a login file, if none already exists,
	delete  - delete a user name from the login file,
	display - display all current login file entries,
	enter   - make a new entry to the login file,
	quit    - return to the monitor and update the login file, if
	necessary.

  EXAMPLES
	.sysmgr
	SYSMGR-Login File Manager (6-17-83) Type ?  for help
	*?
	?SYSMGR-I-The following commands are available:
	create -create a standard login file if none exists
	delete -delete user name from login file
	display-display current login file entries
	enter -make new entries to the login file
	quit -quit executing this program
	*create
	?SYSMGR-W-Standard login file already exists
	*delete
	Username:  smith
	?SYSMGR-W-Specified User (SMITH) not in Login File
	*display
	User            Private Volume
	----            --------------
	JONES           DL0:
	GROSS           DL0:
	*delete
	Username:  gross
	*enter
	Username:  gross
	Password:
	Private Volume:  dl3:
	*display
	User            Private Volume
	----            --------------
	JONES           DL0:
	GROSS           DL3:
	*quit
	.                                       ;return to monitor
.ENDM
.MACRO	SUNFAX
SUNFAX		Bitmap to facsimile conversion

  SYNTAX
	SUNFAX			;invoke SUNFAX.SAV
	*<outfilespec>=<infilespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	This program converts a file in Sun bitmap format to Dacom
	(compressed) facsimile format. The image is scaled by default to
	display the maximum size without clipping height or width, but
	can be expanded to maximum height using the /P option or maximum
	width using the /L option.

  OPTIONS
	/I      Invert image (reverse black/white)
	/L	Force landscape mode
	/R:n	Set resolution (0: 200 ppi (default), 1: 100 ppi, 2: 67 ppi)
	/P	Force portrait mode

  EXAMPLES
	None
.ENDM
.MACRO	TELSRV
TELSRV		Virtual terminal server program

  SYNTAX
	See RFC-854.

  SEMANTICS
	In the standard Fuzzball host configurations at least one user process
	is dedicated to TELNET service, although in some configurations
	there may be more than one of these dynamically managed by the Log
	Process and shared between TELNET and spooling services. The TELNET
	Server itself contains routines to respond to initial connections,
	determine the service requested and then call the required service
	module.

	Services are specified by the TCP port number indicated in the initial
	connection request.  Some functions are provided by the TELNET Server
	itself.  In most configurations the TELNET Server and service modules
	are dynamically loaded and share the same virtual address space.

	One of the service modules is the Command Language Interpreter (CLI),
	which interprets commands and provides a functionality similar to that
	provided by the RT-11 Keyboard Monitor.  The CLI can be used to load,
	debug and run RT-11 system and application programs, including the
	various network utility programs, such as the TELNET User, FTP User
	and others.

	In BOS system configurations without hardware relocation features the
	TELNET Server is ordinarily enabled in the Background user process.
	So long as a connection is not open to a foreign host, this process
	can be used by a local terminal as if the TELNET Server were not
	present.  When a connection request is received, characters output by
	the process are sent to the remote user and not to the local terminal.

	Data are passed between the user and server programs in 8-bit bytes
	without modification or interpretation.  If TELNET negotiations are
	active, the TELNET interpret-as-control (IAC) character is used to
	initiate TELNET command sequences.  If an IAC is followed immediately
	by a second one, a single IAC is delivered to the program.

	TELNET negotiations (RFC-855) are active for all servers except those
	specified below. The server replies to all DO commands with a WONT,
	except in the case of ECHO (RFC-857).  In this case the server replies
	WONT ECHO if the user program is in line (edit) mode and WILL ECHO if
	the user program is in character (non-edit) mode, as indicated by the
	TTSPC$ bit (010000) in the Job Status Word.  The server replies to all
	DONT commands with WONT and ignores all WILL and WONT commands.

	The server will send an unsolicited WILL ECHO if the TTSPC$ bit
	(010000) is changed from zero to one and WONT ECHO if this bit is
	changed from one to zero.  This feature provides a useful way to hide
	passwords and to run interactive programs such as EDIT and KED that
	switch back and forth between line and character modes.

  OPTIONS
   DAYTIME (13) Time and date
	Provides RFC-867 time and date (in RT-11 format) by executing the
	implied CLI command DAYTIME.
   ECHO (7) Remote loopback
	Echoes all received characters to the sender as specified by RFC-862.
   FTP (21) File transfer
	Invokes the FTP Server program by executing the implied CLI command
	RUN FTPSRV.  See HELP information on FTP and FTPSRV.
   MPM (45) Multimedia mail transfer
	Invokes the MPM Server program by executing the implied CLI command
	RUN MPMSRV. See HELP information on MMM and MPMSRV.
   NAME (42) Name server
	Invokes name-server program by executing the implied command RUN NAME.
   NETSTAT (15) Who-is-up
	Provides information on which hosts are up by executing the implied
	CLI command SET HOST HOST.
   NIFTP (47) File transfer
	Invokes NIFTP User program by executing the implied CLI command RUN
	NIFTP.  See HELP information on NIFTP.
   QOD (17) Qoute-of-the-day
	Provides a scurrilious who-are-you function compatible with RFC-865.
   SINK (9) Discard
	Discards all received characters as specified by RFC-863.
   SMTP (25) Mail transfer
	Invokes the SMTP Server program by executing the implied CLI command
	RUN SMPSRV.  See HELP information on SMTP and SMPSRV.
   TALK (87) Terminal intercom
	The server first produces a prompt message inviting a device and mode
	specification.  The user enters first the logical device name (default
	is TT) and then the mode (ASCII or IMAGE).  The server then switches
	to that device and enters transparent mode.  Note that the mode
	specification applies only to the device itself, since data are
	transferred between the user and server programs as 8-bit
	uninterpreted bytes.
   TELNET (23) Virtual terminal
	Provides RT-11 services described in HELP information.
   TEST (19) Character generator
	Generates a test message continuously until the connection is closed
	by the remote host as specified by RFC-864.  Executes the implied CLI
	command TEST 1000.
   TIME (37) Time server
	Provides time in seconds from 0000 UT 1 January 1900 as specified by
	RFC-868.
   TN (107) Virtual terminal
	Invokes TELNET User program by executing the implied CLI command RUN
	TN.  See HELP information on TN.
   VCG (127) Peritek VCG display
	Invokes Peritek User program by executing the implied CLI command RUN
	VCG.

  EXAMPLES
	See RFC-854.
.ENDM
.MACRO	TERMINAL
TERMINAL	Terminal Process commands

  SYNTAX
	SET <devname> <command> <argument> ;CLI command

  SEMANTICS
	See USER process commands and GENERAL help information

	The terminal process is the interface between the system and the
	operator.  This process, suitably configured, can also be used for
	line printer support and for connection to other machines.  Each
	process (actually a pair of cooperating processes which appear as a
	single unit) controls one terminal and is capable of routing input
	data to one of four destination processes as controlled by escape
	sequences.

	A terminal process operates in either ASCII or IMAGE mode.  In IMAGE
	mode all bytes are copied between system buffers and the terminal
	unmodified and uninterpreted.  In addition, a terminal process can be
	configured either to emulate a DCE for a connected terminal or to
	emulate a DTE for a connected machine.  In DTE mode the byte is
	discarded unless the device is in use unless a busy bit is set in the
	options word).  In ASCII mode the DC1 and DC3 characters are used to
	control both input and and output flows.

	In ASCII mode on input bit 8 (the parity bit) is stripped.  In DTE
	mode all bytes received from the device are placed unchanged in the
	input buffer.  In DCE mode a LF is inserted following a CR.  In
	addition, an escape code (normally defaulted to DLE) causes the
	low-order two bits to select channels 0-3 as defined by the
	command-language interpreter.  Other control functions are interpreted
	as follows:

	DC3     stop output
	DC1     start output
	ETX     interrupt process

	DC1 and DC3 are not included in the input buffer.  ETX is included in
	the buffer.  If the input buffer is over 3/4 full, DC3 is sent by the
	output side and the driver enters the flow-control condition.  In this
	condition if the input buffer is under 1/4 full, DC1 is sent by the
	output side and the driver leaves the flow-control condition.  If the
	input buffer overflows, BEL is sent by the output side.

	In ASCII mode on output the parity bit is assumed to have been
	stripped by the sender.  In this mode an EOT character will generate a
	long-space (break) condition.  In DTE mode an LF immediately following
	a CR is discarded and all other bytes are transmitted unaltered to the
	device.  In DCE mode the byte is interpreted as follows:

	BS      decrement column counter
	HT      fill SP to the next tab stop (fixed at every eight columns)
	LF      advance line counter by one
	FF      reset line counter
	CR      reset column counter

	Codes 000-037 and 177 (other than the above) do not affect column or
	line counters.  Codes 040-176 advance column counter by one.  If the
	right margin is exceeded a CR-LF sequence is inserted preceeding the
	byte. If the bottom margin is exceeded a FF is inserted following the
	byte.

  OPTIONS
   ASG <logname> <filespec>
	If <filespec> is a physical direct-access device, amend the device
	table so as to associate the logical name <logname> with this device.
	If <filespec> is a file, associate the logical name <logname> with a
	virtual-volume file of that name (see VOLUMES help information).  If
	<filespec> is missing remove the <logname> entry from the the device
	table.  Note that the format of this command is different from the
	RT-11 ASSIGN command.
   CMD
	List the available commands.  Additional information is available with
	the HELP program.
   DELAY <timeout>
	Set the CR delay to <timeout> (milliseconds).  The default is zero (no
	delay).
   ESCAPE <code>
	Set the escape character code to <code>, which is an octal integer in
	the range 000-177.  The default is 020 (^P).
   DEVICE <logname>
	Display a formatted summary of the device table, which establishes the
	association between the logical and physical names of each process
	together with additional data.  If <logname> is a valid logical name,
	the data associated with that process is displayed.  If <logname> is
	defaulted the entire table is displayed.
   MARGIN <column>
	Set the right-margin to <column>.  The default is zero (no margin).
   OFF <code>
	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the terminal process are as
	follows:

	0       DCE/DTE mode (OFF:  DCE, ON:  DTE)
	1       ASCII/IMAGE mode (OFF:  ASCII, ON:  IMAGE)
	2       EOT-break (OFF:  DL11, ON:  DZ11)
	15      Device enable (OFF:  free, ON:  in use)

   ON <code>
   PAGE <line>
	Set the bottom margin to <line>.  The default is zero (no margin).
   SHOW
	Display a formatted summary of various quantitites of interest.
   SPEED <code>
	Set the device-register bits for speed selection to <code>.  The
	interpretation of <code> is device-specific.

  EXAMPLES
	.set tt0 cmd
	Commands are:
	CMD   SHO   ON   OFF   ASG   DEV   ESC   MAR
	PAG   SPE   DEL

	.set tt0 show
	Process type:  000004 options:  000000
	Right margin (MARGIN):  0
	Bottom margin (PAGE):  0
	Intercept char (ESC):  020
	Return delay (DELAY):  0
	Data rate (SPEED):  100
	Special bits (TAPE):  000
.ENDM
.MACRO	TIME
TIME		Setting system date and time

  SYNTAX
	SETCLK          ;set system time and date from local reference
	UDP		;set system time and date from another host
	RTCLOK          ;set TCU-50 local reference from system time and date

  SEMANTICS
	Network hosts normally track the network time and date from a
	selected virtual host equipped with a precision time reference such
	as a radio clock synchronized to NBS broadcast standards.  A Digital
	Pathways TCU-50 Timing Control Unit can be used as a local time and
	date reference that retains this information when power is turned off
	or when a radio clock is not available.  Note that neither the TCU-50
	nor the radio clocks provide the year, so this must be specified
	either in the RT-11 startup command file, by a CLI command prior to
	running the SETCLK program or by the UDP program.

	The SETCLK program can be used to set the time and date while running
	either the RT-11 or BOS/VOS systems.  If set while running RT-11, the
	time and date are passed to BOS/VOS during the initialization process.
	This program sets the system date and time from either the Digital
	Pathways TCU-50 digital clock or one of three NBS radio clocks:
	Spectracom Model 8170 (WWVB), Truetime Model 468-DC (GOES satellite)
	or Heath Model GC-1000 (WWV/WWVH).

	The TCU-50 is a backplane module with integral backup batteries.  The
	radio clocks are attached via a serial asynchronous line interface
	which is used to send poll messages and receive responses in the
	following format:

	Spectracom clock:	<cr><lf> q ddd hh:mm:ss  tz=zz<cr><lf>
	Truetime clock:		<ctrl-a>ddd:hh:mm:ssq<cr><lf>
	Heath clock:		hh:mm:ss.f     dd/mm/yr<cr>

	where ddd is day of year, hh:mm:ss is time of day, f is tenths of
	seconds, and dd/mm/yr is conventional (US) date.  The tz=zz field is
	not used.  In the Spectracom clock, q is " " for in-synch or "?" for
	off-synch and zz is the time zone (always 00 for ut).  In the Truetime
	clock, q is a precision estimate in milliseconds and coded as follows:
	"?" +-500 msec, "#" +-50 msec, "*" +-5 msec, "." +-1 msec, <sp> less
	than 1 msec.  In the Heath clock, the hh:mm:ss.f field is displayed as
	0?:??:??.? before initial synchronization.

	SETCLK must be conditionally assembled to select one of the radio
	clocks.  The program will try the TCU-50 first.  If not found at the
	assigned register address, it will try the selected radio clock at its
	assigned address.  If even that is not found, the program will
	complain and the time and date must be entered manually or using the
	UDP program.

	The UDP program, which is also used as the network time server and
	name server, can be used to set the time and date from a another host.
	To do this, run the UDP program and enter a OUT command, which
	directs terminal output to the local terminal.  Then enter a TIME
	command with an argument consisting of the name of a host known to
	provide reliable time (e.g. DCN1).  When a response appears, enter a
	SET command to set the local time and date to that of the host
	specified.

	The RTCLOK program can be used to set the TCU-50 from the system time
	and date, either under RT-11 or BOS/VOS.  There are no arguments for
	this program.

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	TN
TN		Virtual terminal user program

  SYNTAX
	TN                      ;invoke TN.SAV
	...
	QUIT                    ;exit to CLI
				;or
	TN <hostname> <port>    ;invoke TN.SAV and execute an
				;implied CONNECT <hostname> <port>
	...                     ;command
	QUIT                    ;exit to CLI

  SEMANTICS
	The virtual-terminal protocol (TELNET) functions are provided using
	two programs, the TELNET User and the TELNET Server.  The TELNET User
	runs in interactive mode on a Fuzzball host.  The TELNET Server
	normally resides at some other host and is activated upon receipt of
	a TCP connection on port 23.  The TELNET User is an interface to the
	Command Language Interpreter (CLI) and RT-11 Emulator and provides
	the same set of functions available to users at local terminals. These
	programs operate with the protocol described in RFC-854 and can be
	used with other implementations conforming to this protocol.

	The TELNET User operates in one of two modes:  command mode, in which
	commands are interpreted from the local terminal and executed on the
	local host, and transparent mode, in which all characters from the
	local terminal are transmitted directly to the remote server.  In
	either mode characters are transmitted directly from the remote server
	to the local terminal along with responses and other data that may be
	produced by the TELNET User itself.

	Operation is in the command mode until a CONNECT command is executed,
	following with operation continues in the transparent mode.  If the
	connection is closed by the remote server, operation resumes in the
	command mode.  In addition, a limited set of commands can be executed
	while in the transparent mode by means of an escape sequence, which
	begins with an escape character code which is initially set to 037
	(produced by the control-~ function on DEC keyboards) and can be
	changed by the ESCAPE command.  Following the escape character must be
	a single-character command interpreted as follows:

	C       Close the connection and return to command mode
	I       Send an interrupt sequence to the remote server
	L	Start boot-load followed by send-file transfer (LINK and TALK
		only)
	Q	Start send-file transfer
	S	Stop send-file transfer
	X       Resume command mode (use the TELNET command to return to
		transparent mode)
	control-~ Transmit the escape character itself to the remote server

	Data are passed between the user and server programs in 8-bit bytes
	without modification or interpretation.  If TELNET negotiations are
	active, the TELNET interpret-as-control (IAC) character is used to
	initiate TELNET command sequences.  If an IAC is followed immediately
	by a second one, a single IAC is delivered to the program.

	TELNET negotiations, when active, are used to establish the options
	for each instance of each connection.  There are only two options
	used:  suppress-go-ahead SUGA (RFC-858) and remote-echo ECHO
	(RFC-857).  If TELNET negotiations are enabled when the connection is
	first opened, the TELNET User will send a DO SUGA command and either a
	DO ECHO or DONT ECHO command, depending upon whether the ECHO REMOTE
	or ECHO LOCAL modes are in effect.  Thereafter, the program will send
	DO ECHO or DONT ECHO as required whan the ECHO mode is changed.  The
	program will reply WONT to any DO or DONT command and will ignore a
	WONT command.  A WILL ECHO command will force operation in the
	remote-echo/edit mode if the ECHO REMOTE mode is in effect, otherwise
	the program will reply DONT ECHO.  A WONT ECHO command will force
	operation in the local-echo/edit mode in any case.

	Facilities are included to send and receive files in conjunction with
	virtual-terminal operations.  In addition, the Peritek VCG bit-map
	display with color monitor is supported.  This device can be used to
	display data received from the remote server in either
	Tektronix-compatible format or bit-map format.

	The TELNET User program can also be used to connect to terminal and
	special-server processes on the same machine. 	This is useful to
	connect to remote systems and to download dependent machines.  See the
	LINK and TALK commands for further details.  The EOT character can be
	used to send a break signal to the remote machine.  See the TERMINAL
	help information for further details.

	Downloading to PDP11-compatible machines is simplified by the L escape
	sequence.  To use this sequence a SEND command is used to declare the
	name of the load-module file (LDA format) and a IMAGE command to
	declare the transfer as binary.  Then a LINK command is used to set up
	the connection via the terminal process specified.  The L escape
	sequence sends a sequence of ODT commands to load the DEC Absolute
	Loader in the remote machine along with a routine that relocates it to
	high memory.  Following this, the remote machine is started and the
	loader relocated to high memory.  Finally, the load-module file
	specified is sent to the remote machine and started (if specified in
	the load module).

	The TELNET User prompt is "*", signifying the program is ready for the
	next CONNECT, LINK or TALK command.  Prompts will not appear following
	commands which have only local significance or in which errors are
	detected.

  OPTIONS
   ASCII
	The ASCII and IMAGE commands set the mode for subsequent file
	transfers.  The default is ASCII.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	BRIEF.
   CLOSE
	Write the current buffer to the script file and close it.
   CONNECT <hostname> <port>
	Open a TELNET connection to <hostname> with <port> specified. If
	<hostname> is represented by the character "*" 	or is missing, the
	connection is opened in listening mode. The <port> is a decimal
	integer in the range 0-255 or one of the service names specified in
	the table below.
	
	Following the CONNECT command operation continues in the transparent
	mode until either an escape sequence or the connection is closed by
	the remote server. Each instance of each connection is characterized
	by a selection of three interacting modes of operation: (1) whether
	TELNET negotiations are active (see the ON/OFF TELNET commands), (2)
	transmit mode (see the TRANSMIT command) and (3) echo mode (see the
	ECHO command). If <port> is specified by integer, the default settings
	are OFF (TELNET), LINE (TRANSMIT) and LOCAL (ECHO), as modified by
	explicit ON/OFF TELNET, TRANSMIT and ECHO commands. If <port> is
	specified by service name, the settings are as given in the table. If
	<port> is defaulted, TELNET (23) is assumed and the settings are as
	given for TELNET in the table.

	Name    Port    TELNET  TRANS   ECHO    Function
	------------------------------------------------
	ECHO    7       OFF     LINE    LOCAL   loopback
	SINK    9       OFF     LINE    LOCAL   discard
	SYSTAT  11      OFF     LINE    LOCAL   who-is-on
	DAYTIME 13      OFF     LINE    LOCAL   time and date
	NETSTAT 15      OFF     LINE    LOCAL   who-is-up
	QOD     17      OFF     LINE    LOCAL   quote-of-day
	TEST    19      OFF     LINE    LOCAL   char generator
	FTP     21      OFF     LINE    LOCAL   file transfer
	TELNET  23      ON      LINE    REMOTE  virtual term
	SMTP    25      ON      LINE    REMOTE  mail transfer
	TIME    37      OFF     CHAR    NONE    time server
	NAME    42      OFF     CHAR    NONE    name server
	WHOIS   43      OFF     LINE    LOCAL   NIC who-is
	MPM     45      OFF     LINE    LOCAL   mail transfer
	NIFTP   47      OFF     LINE    LOCAL   file transfer
	FINGER  79      OFF     LINE    LOCAL   who-is-there
	TALK    87      OFF     CHAR    LOCAL   term intercom
	LINK    87      OFF     CHAR    NONE    proc intercom
	NICNAME 101     OFF     LINE    LOCAL   NIC name server
	CSNAME  103     OFF     LINE    LOCAL   CSNET who-is
	TN      107     OFF     LINE    LOCAL   virtual term
	VCG     127     OFF     LINE    LOCAL   VCG display
	SPQ	515	OFF	CHAR	NONE	output spooler

   DELAY <time>
	Set the packetization timeout to <time> milliseconds. A value of zero
	for <time> disables the timeout, with 500 millisconds assumed as the
	default.
   DISCONNECT
	Close the TELNET connection.
   ECHO <mode>
	Set the echo mode to <mode>, which can be one of the following:

	LOCAL   Characters are echoed locally
	NONE    Characters are not echoed
	REMOTE  Characters are echoed by the remote host

	See the CONNECT command for defaults.  All remote hosts must support
	LOCAL mode, but some (including Fuzzball hosts) may not support REMOTE
	mode.  If TELNET negotiations are active and REMOTE mode has been
	specifed but refused by the remote host, the mode will be changed
	automatically to LOCAL without informing the user.  REMOTE mode is not
	effective if TELNET negotiations are not active or in LINE mode (see
	the TRANSMIT command), in which characters are always echoed locally.
   ESCAPE <code>
	Set the escape character code to <code>, which is an octal integer in
	the range 000-177.  The default is 037 (^~).
   HELP
	Display helpful information, including a list of commands.
   IMAGE
	(see the ASCII command)
   LINK <logname>
	Connect to the local device or special server <logname> with local
	echo disabled. The <logname> must be defined in the device table (see
	ASG command in USER help information). Only the C, L, Q and S escape
	sequences are valid in this mode.
   LOCAL <hostname>
	Set the local address to <hostname>, with default the local primary
	address. This feature can be used to select local secondary addresses
	in the case of a multi-homed host.
   OFF <code>
	The ON and OFF commands are used to set and clear selected options.
	The ON command enables the selected option and the OFF command
	disables it.  Options supported include:

	SCRIPT  Controls data transfer to script file (OFF:  disable,
		ON:  enable).
	SEND    Controls data transfer from the send file (OFF:  disable, ON:
		enable)
	TELNET  Controls TELNET option negotiation (OFF:  disable, ON:
		enable)
	TERMINAL Controls data transfer to operator terminal (OFF:  disable,
		ON:  enable)
	VCG     Controls data transfer to the Peritek VCG display (OFF:
		disable, ON:  enable)

   ON <code>
	(see the OFF command)
   QUIT
	Execute an implied DISCONNECT command and exit to the CLI.
   ROUTE <hostname1> <hostname2> ...
	Specify the Internet source route as the sequence <hostname1>
	<hostname2> ...  (up to nine).
   SCRIPT <filespec>
	Begin recording in the file <filespec> a copy of all data received
	over the TELNET connection from the remote host.  The data recorded
	include local echoes, if selected by the operator or negotiated via
	the TELNET protocol.  Recording can be suspended and resumed using the
	OFF SCRIPT and ON SCRIPT commands as required.  The file is closed and
	made permanent using the CLOSE command.  All eight bits of each octet
	are recorded without interpretation or modification.
   SEND <filespec>
	Declare the file <filespec> to send over the TELNET connection to the
	remote host.  Transmission can be initiated and suspended using the Q
	and S escape sequences or the OFF SEND and ON SEND commands as
	required and is terminated by end-of-file.  Data can be transmitted in
	ASCII or IMAGE modes using the corresponding commands.
   SHOW
	Display a formatted summary of various quantitites of interest,
	including the current host, file and block number.
   TALK <logname>
	Connect to the local device or special server <logname> with local
	echo enabled. The <logname> must be defined in the device table (see
	ASG command in USER help information). Only the C, L, Q and S escape
	sequences are valid in this mode.
   TELNET
	Resume transparent mode.  Subsequent data received from the terminal
	will be sent to the remote host.
   TOS <type-of-service>
	Specify the Internet type-of-service octet (in octal).
   TRANSMIT <mode>
	Set the transmit mode to <mode>, which can be one of the following:
	CHARACTER Request transmit on each character (line editing inactive)
	LINE    Request transmit on end-of-line (line editing active)
	See the CONNECT command for defaults.  If TELNET negotiations are
	active the mode is set automatically to CHARACTER if the REMOTE echo
	mode is successfully negotiated with the remote host and LINE
	otherwise.  In either mode each transmit request is subject to a
	one-second packetization timeout;  that is, following transmission of
	a data segment a subsequent data segment will not be transmitted until
	the timeout has expired.  Line-editing characters are identical to
	those used for ordinary local terminals (see INFORMATION help
	information).
   VCG
	Initialize Peritek VCG display.
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	tn dcn2
	DCN2.ARPA RT-11 Service (31-Dec-82 Version) 21-May-83 .test
	 !" $%_'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^ .quit
	tn dcn2 talk
	DCN2.ARPA TALK Service (15-May-83 Version) 21-May-83
	 Enter device name and mode (default is operator):
	 Terminal link to TT0:
	hello - this is dcn6
	hello - this is dcn2
	DCN2.ARPA Closing
.ENDM
.MACRO	UDP
UDP		UDP NAME/TIME/TFTP server process

  SYNTAX
	NAME	See IEN-116 and RFC-883.
	TIME	See RFC-868 and RFC-958.
	TFTP	See RFC-783.

  SEMANTICS
	The UDP server process can be configured in a Fuzzball host to process
	name, time and file-transfer requests using the User Datagram Protocol
	(UDP). The server runs unattended and can process any number of
	requests in any order, with the exception that only one TFTP file
	transfer can be active at a time.

	There are two TIME servers, one conforming to RFC-868, which returns
	a 32-bit integer equal to the number of seconds since 0000 hours on
	1 January 1900, and the other conforming to RFC-958, which is capable
	of much higher precisions and includes additional information to
	estimate errors and synchronize a network of clocks.

	There are two NAME servers, one conforming to IEN-116 and used by
	"old" namecaller programs and the other conforming to RFC-883 and used
	by "new" namesolver programs compatible with the domain-name system.
	Both servers use the HOSTS.DAT encoded host-name table (see HOSTS help
	information). The RFC-883 server responds only to class-1 (ARPA
	Internet) and type-1 (host-name record) requests. If the request is
	for a principal name, a single type-1 resource record is returned. If
	the request is for a secondary name or numeric address in standard
	form nn.nn.nn.nn, a type-5 record is returned along with the type-1
	record. See also RSOLV help information.

	The TFTP service is intended primarily for use by the IBM Personal
	Computer with the MIT PC-IP code. All TFTP transfers are to/from the
	ANONYMOUS user directory, with no restrictions on access other than
	to observe protected files. Note that a TFTP transfer from the IBM
	PC to the device "LP:" on a properly configured Fuzzball host will
	cause the file to be processed by the standard spooling utilities (see
	AUTOSPOOL help information).

  OPTIONS
	None

  EXAMPLES
	NAME	See IEN-116 and RFC-883.
	TIME	See RFC-868 and RFC-958.
	TFTP	See RFC-783.
.ENDM
.MACRO	USER
USER		User Process commands

  SYNTAX
	<command> <argument>

  SEMANTICS
	The CLI is invoked automatically upon exit from an application
	program.  It is used to invoke application programs, to inspect system
	status variables and to perform housekeeping functions.  Commands
	consist of a name, only the first three characters of which are
	significant, followed by a list of arguments separated by spaces and
	terminated by <CR>.  If the name does not represent a valid command,
	an attempt is made to invoke an application program of that name as in
	the R command.  All numbers are decimal unless indicated otherwise.

  OPTIONS
   ALTER <bgnadr> <value> ...
	Alter words of memory beginning at <bgnadr> (octal) to contain the
	values specified (octal).  See the BASE command for operation with
	virtual systems.
   ASG <logname> <filespec>
	Amend the device table so as to associate the logical name <logname>
	with the physical device or file <filespec>.  If <filespec> is missing
	remove the <logname> entry from the device table.  See VOLUMES help
	information for further details.  Note that the format of this command
	is different from the RT-11 ASSIGN command.
   BASE <pid>
	Set the virtual space for DISPLAY and ALTER commands to the process
	<pid>.  If <pid> is missing, assume the process interpreting the
	command.
   CMD
	List the available commands.  Additional information is available with
	the HELP program.
   DATE <date>
	The TIME and DATE commands can be used to set the system time and date
	as specified in RT-11 format.  If the argument is missing, simply
	display the current values.  Note that ordinarily the system tracks
	network time and date from a selected virtual host, so that these
	commands are useful only in special cases.
   DEVICE <logname>
	Display a formatted summary of the device table, which establishes the
	association between the logical and physical names of each process
	together with additional data.  If <logname> is a valid logical name,
	the data associated with that process is displayed.  If <logname> is
	defaulted the entire table is displayed.
   DISPLAY <bgnadr> <nwords>
	Display <nwords> (octal) of memory beginning at <bgnadr> (octal).  The
	output format is eight words per line preceeded by the address of the
	first word.  See the BASE command for operation with virtual systems.
   LOAD <filespec> <argument>
	Read an RT-11 background load module from <filespec> into working
	storage.  The default device is DK:  and the default extension is
	.SAV.  Note that working storage must contain sufficient space to hold
	both the load module and the CLI itself (otherwise use the RUN
	command).  If <argument> is given it is copied (without the <CR> and
	with a trailing zero byte) in the chain area starting at location 512
	with a count of the number of characters in location 510.  In this
	case the chain bit (bit 8) is set in the job status word.
   OFF <code>
	The ON and OFF commands can be used to set and clear bits in the
	options word of the parameter area associated with the process.  The
	ON command sets the option bits corresponding to the one bits of
	<code> (which is an octal value) to one, while the OFF command sets
	these bits to to zero.  Options for the user process are as follows:

	0       Login (OFF: optional, ON: required)
	1       TELSRV server (OFF: disable, ON: enable)

   ON <code>
	(see the OFF command)
   OUT <logname>
	Redirect terminal output to the sequential device with logical name
	<logname>.  If <logname> is missing, assume the name TT:.
   PSA <pid>
	Display the state vector (PSA area) of the process <pid>.  If <pid> is
	missing, assume the process interpreting the command.  The output
	format is as described under the DISPLAY command.
   QUIT
	Exit CLI and close TELNET server connection, if applicable.
   R <filespec> <argument>
	This command is identical to the RUN command, except that the default
	device is SY:.
   RESET
	Panic reset.  Reinitialize the system and all of its processes.
   RUN <filespec> <argument>
	This command is a combination of the LOAD and START commands with the
	implied start address as specified by the load module.  The CLI can be
	overlaid by the load module with this command, so the space
	restriction of the LOAD command does not apply.
   SET <devname> <command> <argument>
	This command provides access to the parameter areas associated with
	the process <devname>.  The function to be performed is specified by
	the pair <command> <argument>, where <command> is interpreted
	depending on the process type.  For instance, if <devname> specifies a
	user process, <command> can be any command listed in this section.
	The commands recognized in the case of other processes are summarized
	in separate HELP topics.  Note that the SET, SHOW, ON, OFF and ASG
	commands described in this section are generally applicable to all
	processes.
   SHOW <devname>
	Display a formatted summary of various quantitites of interest.  If
	<devname> is missing, a table of all processes is displayed.
   START <bgnadr>
	Start a previously-read load module at location <bgnadr> (octal).
   TEST <count>
	Display a test line <count> times.  If <count> is missing, assume a
	value of one.
   TIME <time>
	(see the DATE command)

  EXAMPLES
	.cmd
	Commands are:
	CMD   SHO   ON   OFF   TIM   DAT   DAY   TCU
	ASG   OUT   DEV   SET   BAS   ALT   DIS   RES
	PSA   TES   QUI   RUN   STA   LOA

	.devices
	LDN     Name    Proc    PortID  Type    Size
	----------------------------------------------
	000     TT      TT0     034     000004  000000
	001     SY      DL0     044     000200  047704
	002     DK      DL0     044     000200  047704
	003     DY0     DY0     042     000200  001734
	004     DL0     DL0     044     000200  047704
	005     DL1     DL1     044     000600  047704
	006     DL2     DL2     044     001200  047704
	007     LP      TT1     040     000004  000000
	010     NS      NSP     024     100032  060000
	011     NAM     NAM     026     000032  060000
	012     GAT     GAT     030     000032  030000
	013     LOG     TT0     034     000004  000000
	014     TLK     TT0     034     000004  000000

	.show
	Proc    PortID  Type    Size    VecAdr  RegAdr  Option
	------------------------------------------------------
	HOS     000     000030  100000  000000  000000  111001
	DC6     002     000026  000400  000000  000000  000000
	LH0     006     000027  000400  000310  176510  040000
	LH1     012     000027  000400  000320  176520  040000
	VM0     014     000002  120000  001000  000000  000000
	VM1     016     000002  120000  002200  000000  000000
	VM2     020     000002  110000  003400  000000  000000
	VM3     022     000002  120000  004500  000000  000002
	NSP     024     100032  060000  005700  000000  000000
	NAM     026     000032  060000  006500  000000  000000
	GAT     030     000032  030000  007300  000000  000000
	TT0     034     000004  000000  000060  177560  000000
	TT1     040     000004  000000  000300  176500  000021
	DY0     042     000200  001734  000264  177170  000000
	DL0     044     000200  047704  000160  174400  000000
	DL1     044     000600  047704  000000  000000  000000
	DL2     044     001200  047704  000000  000000  000000

	.test
	 !" $%_'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^
.ENDM
.MACRO	VCG
VCG		Peritek VCG server

  SYNTAX
	VCG			;invoke VCG.SAV
	*<outfilespec>=<infilespec>[/options]
	*...                    ;* is CSI prompt
	*^Z                     ;exit to CLI

  SEMANTICS
	This program reads a file in one of several formats and converts
	the data for presentation on the Peritek VCG display. Data types
	supported include Sun bitmap, Dacom facsimile, Tektronix graphics,
	ordinary text and raw bitmap. Data conversion, scrolling, scaling
	and clipping is automatic in all cases except raw bitmap, which can
	be specified by the /B option. The image is scaled by default to
	display the maximum size without clipping height or width, but can
	be expanded to maximum height using the /P option or maximum width
	using the /L option.

	The program also writes a file in Sun bitmap format from the display
	for later presentation or conversion to hardcopy. The /D option can
	be used to specify standard Sun bitmap format (b/w only) or a
	nonstandard bitmap format (color) designed for maximum speed with
	the Peritek display.

  OPTIONS
	/B	Specify raw bitmap mode
	/D:n	Specify bits per pel (1: b/w in standard Sun format,
		3: color in special Peritek format (default))
	/W:n	Specify width in pels (raw bitmap only (default 640))
	/H:n	Specify height in pels (raw bitmap only (default 512))
	/I	Invert image (bitmap and facsimile)
	/L	Force landscape mode (bitmap and facsimile)
	/P	Force portrait mode (bitmap and facsimile)

  EXAMPLES
	None

.ENDM
.MACRO	VOLUMES
VOLUMES		Virtual volumes

  SYNTAX
	ASG <logname> <filespec> ;CLI command

  SEMANTICS
	The virtual volumes feature allows logical volumes to be encapsulated
	as RT-11 files on any direct-access physical device.  The feature is
	similar to that provided by the XD handler distributed by DECUS, but
	is integrated into the operating system.  Private volumes can be
	assigned to the DK:  device or any other RT-11 logical device except
	SY:  (which should never be reassigned).

	Once assigned the virtual volume can be accessed just like any other
	physical volume - files can be created and deleted and the volume can
	be initialized, squeezed or even scanned for bad blocks.  Since the
	volume is in fact an ordinary file on the physical device, it can be
	copied to and from other media, in particular floppy disks, for
	archiving.  It is important to observe that the file cannot be deleted
	or copied and the physical volume cannot be squeezed if the file is
	assigned and in active use, since this could lead to corruption of
	other files on the physical device.

	For the purposes of archiving to floppy disk, the file should be
	created with a size of 494 blocks for the RX01 or 988 blocks for the
	RX02.  Following is a command sequence that creates a file and copies
	an RX02 volume to it (the file must not exist prior to this):

	DUP                     ;invoke DUP.SAV
	*<filespec>/f=dy0:      ;* is CSI prompt
	<filespec>/Copy;  Are you sure?  Y ;Y is confirmation
	*^Z                     ;exit to CLI

	Following is a command sequence that copies a file to an RX02 volume
	(the original contents of the volume will be destroyed):

	DUP                     ;invoke DUP.SAV
	*dy0:a=<filespec>/i     ;* is CSI prompt, a is a
				;dummy file (not used)
	DY0:/Copy;  Are you sure?  Y ;Y is confirmation
	*^Z                     ;exit to CLI

  OPTIONS
	None

  EXAMPLES
	None
.ENDM
.MACRO	WATCH
WATCH		SIMP monitoring program

  SYNTAX
	WATCH                   ;invoke WATCH.SAV
	...
	QUIT                    ;exit to CLI

  SEMANTICS
	The SIMP Monitoring program (WATCH) formats and displayes monitoring
	reports received from the SATNET Satellite IMP (SIMP) located at each
	ground station.  It runs in interactive mode on a Fuzzball host.
	Following is a summary of monitoring report formats:
   HELLO Packet Report format
	Hello = (b) e, g, t, c, r, f

	b Total HELLO packets received in the past 64 frames which have a bad
	hardware checksum
	e Total of Etam's HELLO packets missed in the past 64 frames
	g Total of Goonhilly's HELLO packets missed in the past 64 frames
	t Total of Tanum's HELLO packets missed in the past 64 frames
	c Total of Clarksburg's HELLO packets missed in the past 64 frames
	r Total of Raisting's HELLO packets missed in the past 64 frames
	f Total of Fucino's HELLO packets missed in the past 64 frames
   PROGRAM Status Report format
	p STR=a R=b BCK=c (A1 A2 A3 M C N loops)

	p Current channel protocol (CPODA, FPODA, FTDMA)
	a Number of streams in existence
	b Nominal receive rate, kb/sec (64, 32, 16)
	c Average number of background passes per virtual slot

	Displayed switches:
	A1 First access control parameter is on (preventing channel access)
	A2 Second access control parameter is on
	A3 Third access control parameter is on
	M One or more message generator components are on
	C Cumstats are being sent to a host
	N One or more noise gates are on
	OI Satellite channel looped by Simp internally (within Simp)
	OX Satellite channel looped by Simp externally (Simp signals for loop
	within SSI)
	OL Satellite channel looped, but not by Simp
	4I Line to host 1 looped by Simp internally
	4X Line to host 1 looped by Simp externally (Simp signals for loop
	within modem)
	4L Line to host 1 looped, but not by Simp
	2I,2X,2L Same as 1I,1X,1L but for host 2
   CHANNEL Traffic Report format
	E=a/b/c S=d*e/f/g*h C=i/j/k/lc/ls DS=m/n/p DR=q/r/s

	a Packets received with bad hardware checksum, bad software header
	checksum
	b Packets received with bad hardware checksum, good software header
	checksum
	c Hello packets received
	d Hello frames out of frame sync
	e PODA frames in datagram in-sync res-sync state
	f PODA frames in datagram out-of-sync res-sync state
	g PODA frames in datagram initial acquisition res-sync state
	h PODA frames in stream sending-for-Help state
	i Others' control packets heard
	j Own control packets heard
	k Control packets sent
	lc Fraction of total bandwidth (including HELLO subframe) used for
	control subframes
	ls Fraction of total bandwidth used for streams
	m Messages timed out in CPM
	n Data packet retransmissions
	p Data packet first transmissions
	q Acceptable data packets heard for me, but discarded because of
	buffer shortage or host output queue full
	r Acceptable data packets heard for me, accepted
	s Acceptable data packets heard for others
   HOST Traffic Report format
	PS = a/b PR = c/d HI = e/f MS = g/h/i MR = j/k

	a Data packet retransmissions
	b Data packet first transmissions
	c Packets received with hardware errors
	d Good data packets received
	e Hello packets received
	f I-heard-you packets received
	g Messages discarded from host output queue because holding time
	exceeded
	h Messages sent but refused by host
	i Messages sent
	j Received messages discarded
	k Received messages accepted
   TIMING Timing Report format
	RTT=a/b GT=c/d

	a Last Round-Trip-Time difference from previous Global-Time update
	b Max Round-Trip-Time difference from previous Global-Time update
	c Last Global-Time difference from previous Global-Time update
	d Max Global-Time difference from previous Global-Time update

  OPTIONS
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	VERBOSE.
   CONNECT <simpid>
	Open an RTP datagram connection to <simpid>.  The set of <simpids>
	recognized presently includes:

	CLA     Clarksburg, MD (COMSAT Labs)
	ETA     Etam, WV (USA)
	FUC     Fucino (Italy)
	GOO     Goonhilly Downs (UK)
	RAI     Raisting (West Germany)
	TAN     Tanum (Sweden)
   DISCONNECT <simpid>
	Close the RTP datagram connection for <simpid>.
   HELP
	Display helpful information, including a list of commands.
   OFF <simpid> <code>
	The ON and OFF commands are used to set and clear various options.
	The ON command enables the selected option and the OFF command
	disables it.  Options supported include:

	ALL             christmas tree
	CHANNEL         channel status line
	HELLO           hello line
	HOST            host status line
	POLL            poll response line
	PROGRAM         program status line
	TEST            test and monitoring line
	TIMING          rtt line
	TRAP            trap report line

   ON <simpid> <code>
	(see the OFF command)
   PORT <simpid> <address>
	Set the internet address associated with <simpid> to <address>.  The
	format of the <address> field is four decimal integers.
   QUIT
	Close all RTP connections and exit to the CLI.
   SHOW <format>
	Display a formatted summary of various quantitites of interest,
	including the current host and WATCH headers.
   VERBOSE
	(see the BRIEF command)

  EXAMPLES
	None
.ENDM
.MACRO	WHOIS
WHOIS		NIC data-base access program

  SYNTAX
	WHOIS  <name>		;invoke WHOIS.SAV
		or
	WHOIS
	User? <name>		;prompt is User?
				;exit to CLI

  SEMANTICS
	This program accesses the Network Information Center host SRI-NIC.ARPA
	for the entry under the name <name> and prints the reply as-is. It can
	be used to retrieve the addresses and phone numbers of users
	registered at the NIC on behalf of DARPA and DCA.

  OPTIONS
	none

  EXAMPLES
	None

.ENDM
.MACRO	XNET
XNET		Internet loader/debugger program

  SYNTAX
	XNET                    ;invoke XNET.SAV
	...
	QUIT                    ;exit to CLI

  SEMANTICS
	The Internet Loader/Debugger program (XNET) is designed to support
	remotely located internet processors such as gateways, port expanders
	and hosts.  It can function both as a user and server and is normally
	run in interactive mode by a user at a Fuzzball host. XNET
	communicates with the remote processor using XNET datagrams and a
	protocol described in IEN-158.  The remote processor must contain an
	XNET bootstrap or server program, either in ROM or in protected
	memory.

	Fuzzball host configurations that do not include a disk ordinarily
	include a special hardware module built by SRI International and
	called the Robustness Card.  This module contains an XNET bootstrap in
	ROM along with a watchdog timer that forces entry to the bootstrap if
	not reset within a timeout interval.  Those Fuzzball host
	configurations that do include a disk presently include a software
	module that forces a master reset upon arrival of an XNET datagram
	of specified type. The master reset reinitializes all hardware and
	software components, but does not reload the system.

	The Fuzzball XNET program is compatible with the XNET4 program on some
	TOPS-20 ARPANET service hosts.  With respect to the TOPS-20 program,
	The Fuzzball host appears as an ordinary XNET bootstrap, except that
	the "memory" loaded by the TOPS-20 program is in fact a file. Thus,
	load modules cross-compiled and cross-linked on the TOPS-20 system
	can be transmitted to the Fuzzball host and stored for later use.

	A XNET operation proceeds by first opening an RTP datagram connection
	with the remote host using the CONNECT command.  If opened in the
	active mode, XNET will send an XNET message with the command field set
	to 0 (NOP) to the remote bootstrap in order to reset its state
	variables.  Next, the CREATE or OPEN commands are used to establish a
	memory-image file for use as a cache.  Using the EXAMINE and DEPOSIT
	commands the user can exchange data between the remote memory and the
	cache.  In addition, the user can display and alter the cache contents
	with the DISPLAY and ALTER commands.  The REGISTER command can be used
	to set the remote registers, including the stack pointer and program
	counter, and the START command to start the remote program.

	If opened in the passive mode, XNET waits for an XNET datagram from
	another host, possibly the TOPS-20 XNET4 program or the SRI Robustness
	Card ROM program.  A local file previously opened is then manipulated
	by the remote user as if the file were local memory.

	XNET stores memory images in RT-11 files, which are block-structured
	with a block size of 512 bytes and can be randomly accessed by block.
	In addition, memory images (not overlays) produced by the RT-11 linker
	can be used.  The XNET program accesses memory images using a cache
	buffer which is loaded automatically from the file by a memory image
	reference and is written back to the file by a memory image reference
	outside the buffer or when the file is closed.

  OPTIONS
   ABORT
	Terminate the current operation and ignore subsequent datagrams.
   ALTER <bgnadr> <value> ...
	Alter words of the memory image beginning at <bgnadr> to contain the
	values specified.
   BRIEF
	The BRIEF and VERBOSE commands control output of detailed commentary
	dialog.  BRIEF disables this and VERBOSE enables it.  The default is
	VERBOSE.
   CLOSE
	Write the current buffer to the memory-image file and close the file.
   CONNECT <hostname> <maxsize> <protocol>
	Open an RTP datagram connection to <hostname> with <size> datagrams
	and <protocol> specified.  The <size> is a decimal integer in the
	range 36-576 and defaults to 256.  The <protocol> is a decimal integer
	in the range 0-255 and defaults to 15 (XNET).
   CREATE <filespec>
	The CREATE and OPEN commands close the existing file, if necessary,
	then create (a new file) or open (an existing file) <filespec> as a
	memory image.  The <filespec> can include the size of the file in
	blocks.  Each block contains 256 PDP11 words, so that the maximum size
	(also the default) is 128 blocks.
   DEPOSIT <bgnadr> <nwords>
	Write <nwords> of the memory image beginning at <bgnadr> to the remote
	processor.  The contents of the memory image are not affected.
   DISPLAY <bgnadr> <nwords>
	Display <nwords> of the memory image beginning at <bgnadr>.  The
	output format is eight words per line preceeded by the address of the
	first word.  The contents of the memory image are not affected.
   EXAMINE <bgnadr> <nwords>
	Read <nwords> from the remote processor beginning at <bgnadr> to the
	memory image.
   DISCONNECT
	Execute an implied ABORT command and close the RTP datagram
	connection.
   HELP
	Display helpful information, including a list of commands.
   LOCAL <hostname>
	Set the local address to <hostname>, with default the local primary
	address. This feature can be used to select local secondary addresses
	in the case of a multi-homed host.
   OPEN <filespec>
	(see the CREATE command)
   PURGE
	Purge the memory-image file and suppress any further modifications to
	it.
   QUIT
	Execute an implied DISCONNECT command and exit to the CLI.
   REGISTER <register> <value>
	Write <value> to the <register> area in the remote processor which
	will be used to initialize the corrsponding general register when the
	program is started.  The value for <register> must be in the range
	0-7.
   RESTART
	Resend the last XNET message.  This command is useful after a XNET
	datagram has been lost in the network.
   ROUTE <hostname1> <hostname2> ...
	Specify the Internet source route as the sequence <hostname1>
	<hostname2> ...  (up to nine).
   SHOW <format>
	Display a formatted summary of various quantitites of interest,
	including the current host and XNET headers.
   START
	Send the START XNET message to the remote processor.  The remote
	bootstrap will reply to this message, wait a second or two, then
	plunge into the program using the general register contents previously
	set by the REGISTER command.
   TOS <type-of-service>
	Specify the Internet type-of-service octet (in octal).
   VERBOSE
	(see the BRIEF command)
   XNET <code>
	Send a XNET message to the remote processor with the command field set
	to <code>.  The <code> defaults to 1 (debug process) and, if sent to a
	Fuzzball host will cause that host to perform a system reset.

  EXAMPLES
	xnet
	DCN6.ARPA XNET User Process (25-Apr-81 Version) 21-May-83
	connect dcn2
	?INET-I-(XNT)-Open [128.4.0.2]
	?XNET-I-Message 010037 000000 000100 000000 000000
	create x.y
	?XNET-I-File open DK:X.Y[1000]
	display 0 10
	000000 000000 000000 000000 000000 000000 000000 000000 000000
	alter 0 1 2 3 4 5 6 7
	display 0 10
	000000 000001 000002 000003 000004 000005 000006 000007 000000
	deposit 0 10
	?XNET-I-Operation complete
	alter 0 7 6 5 4 3 2 1
	display 0 10
	000000 000007 000006 000005 000004 000003 000002 000001 000000
	examine 0 10
	?XNET-I-Operation complete
	display 0 10
	000000 000001 000002 000003 000004 000005 000006 000007 000000
	purge
	?XNET-F-File purged
	quit
	?INET-I-(XNT)-Closed
.ENDM
.MACRO	.99999
.ENDM
                                                                                                                                                                                              