[comp.sources.misc] v16i056: ECU async comm package rev 3.0, Part32/35

wht@n4hgf.uucp (Warren Tucker) (01/06/91)

Submitted-by: wht@n4hgf.uucp (Warren Tucker)
Posting-number: Volume 16, Issue 56
Archive-name: ecu3/part32

---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is part 32 of ecu3
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= doc/_hdb.txt ==============
if test ! -d 'doc'; then
    echo 'x - creating directory doc'
    mkdir 'doc'
fi
echo 'x - extracting doc/_hdb.txt (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'doc/_hdb.txt' &&
X.*s 2 "HoneyDanBer UUCP Interface"
X
X.*s 3 "UUCP Control Files"
X
X.*s 4 "/usr/lib/uucp/Devices"
X
XECU reads this file to determine what tty devices are available
Xfor outgoing calls.  The fifth field of each entry
Xmust contain either the full pathname
Xof a modem dialer program (with leading slash)
Xor the name of an entry in the /usr/lib/uucp/Dialers file.
XSysfiles support is not yet provided.  The Devices file must
Xbe named /usr/lib/uucp/Devices.
XFor more information, see "UUCP Dialers"
Xand "Choosing a Dialout Line" below.
X
X.*s 4 "/usr/lib/uucp/Dialers"
X
X.B Dialers
Xentries may be specified in the Devices entry. 
XSysfiles support is not yet provided.  The Dialers file must
Xbe named /usr/lib/uucp/Dialers.
X
X.*s 4 "/usr/lib/uucp/Sysfiles"
X
XSysfiles support is not yet provided.  The Devices and
XDialers files must have their default names.
X
X.*s 4 "/usr/lib/uucp/Systems"
X
XNo use is made of the
X.B Systems
Xfile at this time.  ECU provides the
Xequivalent function with its dialing directory.
X
X.*s 3 "Choosing a Dialout Line"
X
XTTY devices must be named in the style of:
X.DS I
X/dev/tty#N
X        ^^
X        ||
X        |`------ uppercase letter for modem control
X        |        lowercase for non-modem control
X        `--------digit (1-4)
X.DE
X
XA future version of ECU will address this limitation.
X
XIf you are using FAS or other third-party driver, you may
Xuse ECU with ports not normally named in the /dev/tty#N
Xstyle in one of two ways under UNIX and one way under XENIX:
X
X.DS I
X1.  Under XENIX or UNIX, create a link to the port
X    with a compatible name:
X
X          ln /dev/ttyF00 /dev/tty1a
X          ln /dev/ttyFM00 /dev/tty1A
X
X2.  Under UNIX, add additional lines to the
X    /etc/conf/node.d file and rebuild the kernel
X    environment (this is the recommended approach
X    for UNIX):
X
Xfas ttyF00  c   48
Xfas tty1a   c   48
Xfas ttyF01  c   49
Xfas tty1b   c   49
Xfas ttyFM00 c   208
Xfas tty1A   c   208
Xfas ttyFM01 c   209
Xfas tty1B   c   209
X.DE
X
XWhen using the interactive
X.B dial
Xcommand, or when dialing from the initial menu,
Xif a logical or system name is specified, the directory
Xentry is fetched and examined.  If the tty field specifies
Xa value other than "Any", the specific line requested is
Xopened, if available, and dialing commences. 
XIf the specified line is not available, the dial attempt
Xfails.
X
XIf "Any" is found in the dialing directory entry, then
XECU finds an available Devices line which matches the baud rate
Xspecified in the entry.  It does so by reading the
X.B Dialers
Xfile.
X
XA line is selected only if its class begins with the three
Xcharacters "ACU."  UUCP will only select a line whose Devices
Xentry class matches the active Systems entry class (usually
X"ACU"), so usually you may make a modem accessible to ECU, but not
Xto UUCP, by setting it's class to ACUECU.
X
XIf a line matching the necessary baud rate is found (by
Xsearching /etc/utmp) to be a line enabled for login, but
Xwhich is currently idle, the getty interface, described below,
Xis used to acquire the line for outgoing use.
X
X.*s 3 "Getty Interface"
X
XWhen an idle dialin (enabled) line is chosen for dialout,
XECU makes use of
X.B /usr/lib/ecu/ecuungetty
Xto signal the line's getty to release the line (via SIGUSR1).
X.B Ecuungetty
Xis again employed to signal the getty to reacquire the
Xline when outgoing communication is complete (via SIGUSR2).
X
XEcuungetty is a privileged program, which must be owned by root
Xand have the setuid-on-execute bit set.  A encrypted id is passed
Xby ecu to ecuungetty to validate requests and to prevent abuse of
Xecuungetty by hackers, malcontents and other twentieth-century
Xphenomena.
X
X.*s 3 "UUCP Dialer Programs"
X
XIf the
X.B Devices
Xfile can be found in /usr/lib/uucp,
Xand a valid entry for the attached line can be found,
XECU will use the Dialers script or dialer program specified in the
X.B Devices
Xentry.
X
XSample enhanced modem dialer program sources may be found
Xin the uucp subdirectory of the distribution.
SHAR_EOF
$TOUCH -am 1218190290 'doc/_hdb.txt' &&
chmod 0644 doc/_hdb.txt ||
echo 'restore of doc/_hdb.txt failed'
Wc_c="`wc -c < 'doc/_hdb.txt'`"
test 3940 -eq "$Wc_c" ||
	echo 'doc/_hdb.txt: original size 3940, current size' "$Wc_c"
# ============= doc/_icmd.txt ==============
echo 'x - extracting doc/_icmd.txt (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'doc/_icmd.txt' &&
X.*s 1 "Interactive Mode Commands"
X
XThe following is a partial list of commands available in the
Xinteractive (non-procedure) mode.
XIt is not necessary to
Xto enter the entire command in most cases.  The portion of
Xeach command which must be entered is capitalized in the
Xfollowing section headers.
X
XRefer to the sections titled Interactive Command History
Xand Line Editing for more information.
X
X.*s 2 "AX : ascii char to hex/oct/dec"
X.DS L
Xusage: ax [<param>]
X.DE
X
X<param> may be a single ASCII character, a standard ASCII
Xidentifier (such as ETX), or a two-character control
Xcharacter identifier (such as ^C, typed as a caret followed
Xby a C).
X
XIf no argument is supplied, a table of control characters
Xis printed containing decimal, octal, hex, ASCII identifiers
Xand two-character control character identifier.
X
X
X.*s 2 "BAud : set/display line baud rate"
X.DS L
Xusage: baud [<baud-rate>]
X.DE
X
X<baud-rate>, if specified, must be taken from the values
X110, 300, 600, 1200, 2400, 4800, 9600, 19200 and 38400.  On
Xsome systems, 19200 and 38400 may not be supported.  If baud
Xrate 110 is selected, 2 stop bits are automatically
Xspecified; other baud rates set 1 stop bit.  If <baud-rate>
Xis not supplied, the current baud rate is displayed.
X
XThe setting may be automatically changed as the result of a 'dial'
Xcommand.  See also the
X.B dial
Xand
X.B parity
Xcommand descriptions.
X
X
X.*s 2 "BN : all console event alarm"
X.DS L
Xusage: bn [ 0 | 1 | 2 ]
X.DE
X
X"bell notify":
XIf no argument is supplied, the current setting is
Xdisplayed.  Specifying 0 disables the facility; 1 causes an
Xaudible alarm to be sounded on all of the XENIX virtual
Xconsoles upon receipt of a bell (0x07) character from the
Xremote system; 2 causes an audible alarm to be sent to all
Xconsoles upon receipt of ANY characters from the remote
Xsystem.  A non-zero value also causes an audible alarm to be
Xsent to all console upon the successful completion of a 'redial'
Xcommand which must retry more than one redial
Xattempt or upon completion of a file transfer operation.
X
XDifferent alarms are sent depending upon the the type of
Xevent causing the alarms.
X
XBN is set to 1 when ECU begins executing.
X
XThe setting of this command has no effect if ECU is not run from a
Xmultiscreen.
X
X.*s 2 "BReak : send break to remote"
X.DS L
Xusage: break
X.DE
X
XThis command sends a break signal to the remote system.
X
X
X.*s 2 "CD : change current directory"
X.DS L
Xusage: cd [<dir-path>]
X.DE
X
XThis command allows you to change the working directory of
Xthe ECU process.  If <dir-path> is supplied, the previous
Xworking directory is displayed, and <dir-path> is made the
Xnew working directory.  A history of previous directory
Xchanges is maintained.  Entering the
X.B cd
Xcommand shows the numbered history list and allows you to select a new
Xdirectory by entering the number.  Other commands allow
Xdeletion of directories from the list or saving the list to
Xfile ~/.ecu/phone.  This file is automatically read at ECU
Xstartup, providing a convenient list of directories
Xavailable for quick selection.
X
X
X.*s 2 "DA : decimal to ascii char"
X.DS L
Xusage: da [<decimal-val>]
X.DE
X
X<decimal-val> is a decimal value between 0 and 0377; the
Xparity (sign) bit is stripped and the equivalent ASCII
Xcharacter value is displayed.
X
XIf no argument is supplied, a table of control characters
Xis printed containing decimal, octal, hex, ASCII identifiers
Xand two-character control character identifier.
X
X
X.*s 2 "Dial : dial remote destination"
X.DS L
Xusage: dial [<dial-param>]
X.DE
X
X<dial-param> may take one of two forms, a telephone number
Xto dial or a logical name which can be found in the user
Xphone directory (in file ~/.ecu/phone).
X
XIf a telephone number is supplied, the phone number is
Xdialed; you must first have set the desired baud rate and
Xparity using the
X.B baud
Xand
X.B parity
Xcommands.
X
XIf a logical name is entered, the phone directory is searched;
Xif the entry is found, the baud rate and parity
Xis automatically set.
XIf a procedure file can be found in the current directory
Xor the users home .ECU subdirectory whose name matches
Xthe logical name, then the procedure is executed with
Xthe argument '!INTERACTIVE'.
X
XIf <dial-param> is not supplied, then a screen-oriented
Xself-documenting <:-)> directory manager is executed; you may
Xscan the the directory to select a number to dial, as well
Xas add, remove and edit entries.
X.*s 3 "Alternate Dialing Directory"
X
XThe default dialing directory is ~/.ecu/phone.  You may change to
Xanother directory by issuing the interactive 
X.B dial
Xcommand with no arguments to enter the dialing directory
Xmenu, selecting 'c'hange dial directory, and entering the name
Xof a new directory.  The specified pathname must either be
Xa fully qualified pathname or a pathname relative to the
Xcurrent working directory.  Once an alternate directory
Xhas been selected, it will be used by
Xboth the interactive command 'dial <logical>' and 
Xthe dialing directory menu.
X
XSee the section below titled "Choosing a Dialout Line" for
Xmore information on using "Any" in the "tty"
Xfield of a directory entry.
X
X.*s 3 "Multi-Number Redial Cycle"
X
XWhile in the  dialing directory, you may "mark" one or more
Xentries for a cyclical redial attempt.  When any entry is
Xmarked, typing ENTER (carriage return or line feed/newline)
Xcauses each marked entry to be dialed in turn until one of
Xthe remote systems is successfully connected.  When a
Xsuccessful connection occurs, ECU unmarks the 
Xassociated entry, leaving the others marked.  Thus, you
Xmay mark several entries and merely reenter the dialing
Xdirectory after each connection is finished and press
XENTER to reenter the redial cycle.  If a single entry
Xis marked, ECU pauses 15 seconds between each dialing attempt,
Xotherwise 5 seconds.  Presing 'c' will cause the pause to
Xbe prematurely terminated and the next attempt to be made.
XPressing your interrupt key (DEL, ^C or whatever) aborts
Xthe cycle.  If you interrupt an active dialing attempt, you 
Xwill be prompted as to whether or not you wish to cycle to the next
Xentry or abort the cycle.
X
XIf no entries are marked for redial, the current, highlighted
Xdirectory entry is used for dialing.
X
XTo unmark a single entry, press 'M' (uppercase M).
XTo unmark all entries, press 'U'.
X
X.*s 3 "Automatic Login Procedure"
X
XUpon dialing from the menu,
Xif a procedure file can be found in the current directory
Xor the users home .ECU subdirectory whose name matches
Xthe logical name, then the procedure is executed with
Xthe argument '!MENU'.  It is the responsibility of the
Xautomatically executed procedure to establish connection
Xwith the remote system (by using the procedure
X.B dial
Xcommand).  An example of an automatic login procedure
Xcan be found in the distribution subdirectory 'models'
Xnamed 'sysname.ep'.  A companion procedure is 'unixlogin.ep'.
X
XFor example,
X.DS L
X.--[ dialing directory ]-- /u1/wht/.ecu/phone -- ...
X| entry name | telephone number | tty | baud P | ...
X| sysname    | 555-1234         | Any | 2400 N | ...
X.DE
X.DS L
X#-----------------------------------------------------------
X# sysname.ep - procedure to call UNIX-like system 'sysname'
X#
X# CONFIDENTIAL - This function should be chmod 0600 because
X# it contains a password which you probably don't want to be
X# common knowledge.
X#
X# This procedure calls 'unixlogin.ep' to do the hard work.
X#-----------------------------------------------------------
X
X    mkvar $s_pwd(20)    # local variable preserves password
X    $s_pwd = 'password' # security by disappearing when the
X                        # procedure terminates
X
X#   also, by keeping the password text off the following line,
X#   the password will not be displayed if you abort (interrupt)
X#   the procedure
X
X    do 'unixlogin' %argv(0) 'username' $s_pwd 'ansi-or-whatever'
X.DE
X
X.*s 2 "DO : perform procedure"
X.DS L
Xusage: do <procname> [<arg> ... ]
X.DE
X
XPerform ECU procedure.  Ecu searches for <procname>.ep in
Xthe current directory.  If the file is not found, the program
Xlooks for the file in the ~/.ECU directory.  One or more
Xarguments may be passed to the procedure.  Arguments
Xaare made available in the called procedure by use of the
X.B %argc
Xinteger function and
X.B %argv
Xstring function.
X
XUnlike arguments to the
X.B do
Xprocedure command, 
Xarguments to the
X.B do
Xinteractive command are not quoted and may not contain
Xembedded spaces or tabs.
X
X
X.*s 2 "DUplex : set/display duplex"
X.DS L
Xusage: duplex [ Full | Half ]
X.DE
X
XThis command specifies whether or not ECU is to locally echo
Xcharacters typed by you at the keyboard.  The overwhelming
Xmajority of remote systems provide the echo function, in
Xwhich case full duplex must be used.  For the rare occasions
Xwhen the remote system does not echo your keyboard input,
Xsetting half duplex will allow you to see what you are
Xtyping.
X
XWhen communicating with another terminal in a "teletype
Xconversation", setting half duplex is generally required.
XIn such cases, use of the 
X.B nl ,
X.B nlin
X.R
Xand
X.B nlout
Xcommands may also be required.
X
XThe default setting for duplex is full.
X
X
X.*s 2 "EXit : drop carrier, exit program"
X.DS L
Xusage: exit
X.DE
X
XThis command terminates ECU promptly.  If your modem does
Xnot drop carrier upon loss of Data Terminal Ready (DTR),
Xthe command will terminate ECU,
Xbut may leave the communications line off hook.
XIt is strongly recommended that you configure your
Xmodem to hang up the phone line when DTR drops.  A shorthand
Xversion of this command exists: '.' is equivalent to 
X.B exit .
X
X
X.*s 2 "FI : send text file to line"
X.DS L
Xusage: fi [<filename>]
X.DE
X
X"file insert": This command causes file characters to be inserted
Xinto the transmit data stream as though they had been entered at the
Xkeyboard.  No error correction is provided, although XON/XOFF flow
Xcontrol is obeyed.
X
XIf <filename> is not entered on the command line, a prompt for the
Xfilename is made.  Once the filename has been entered and file has
Xbeen opened, you are asked whether the file should be transmitted at
Xfull speed, by "echo pacing" or by a single line at a time.  You may
Xalso append an 'f', 'e' or 's' argument to the command line.
X
XIf your remote can tolerate it, full speed transmission is the
Xfastest.  Some systems are not capable of receiving large amount of
Xdata ("streaming data") without pauses.  Even with "full" speed
Xtransmission, some "pacing" (inter-character delay) is introduced to
Xease loading on the remote system.  Pressing the interrupt key (DEL)
Xstops a full speed transmission.
X
XBy specifying echo pacing, it is possible to increase the likelihood
Xof proper receipt.  Echo pacing reads the return data stream to
Xattempt to keep from overloading the remote.  Pressing the interrupt
Xkey (DEL) stops an echo paced transmission.
X
XAs a last resort, if echo pacing is not working for you, (i.e., you
Xare using the command in an environment where the remote does not
Xecho your characters), single line at a time transmission is
Xavailable.  With "single" line transmission, you must press the
Xspace key to initiate sending each line.  Pressing the 'ESC' or 's'
Xkey stops the transfer.
X
X.*s 2 "FKey : function key definition"
X.DS L
Xusage: fkey [<keyset_name>]
X.DE
X
XThis command allows the mapping of function keys F1-F12,
XPgUp, PgDn, End and Ins and the cursor up, down, left and
Xright keys to emit a desired sequence of characters when a
Xfunction key is pressed.  <keyset_name> specifies which key
Xset in ~/.ecu/keys is to be selected. Sample entry:
X.DS I
Xhayes
X    F1:escape:+ + +
X    F2:autoans:A T S 0 = 1 cr
X    F3:dial:A T D T
Xbbs
X    F1:cancel:^K
X    F2:yes:y cr
X.DE
X
XIf a keyset_name matches a logical dial directory name, it
Xis loaded when the number is dialed.
X
XThe characters in the mapped string may be any printable character
Xor one of the following:
X.DS I
Xmap -> character       map -> character
X---    -----------     ---    ------------
Xnul    0 000 00 ^@  |  dle    16 020 10 ^P
Xsoh    1 001 01 ^A  |  dc1    17 021 11 ^Q
Xstx    2 002 02 ^B  |  dc2    18 022 12 ^R
Xetx    3 003 03 ^C  |  dc3    19 023 13 ^S
Xeot    4 004 04 ^D  |  dc4    20 024 14 ^T
Xenq    5 005 05 ^E  |  nak    21 025 15 ^U
Xack    6 006 06 ^F  |  syn    22 026 16 ^V
Xbel    7 007 07 ^G  |  etb    23 027 17 ^W
Xbs     8 010 08 ^H  |  can    24 030 18 ^X
Xht     9 011 09 ^I  |  em     25 031 19 ^Y
Xnl    10 012 0a ^J  |  sub    26 032 1a ^Z
Xvt    11 013 0b ^K  |  esc    27 033 1b ^[
Xff    12 014 0c ^L  |  fs     28 034 1c ^\\
Xcr    13 015 0d ^M  |  gs     29 035 1d ^]
Xso    14 016 0e ^N  |  rs     30 036 1e ^^
Xsi    15 017 0f ^O  |  us     31 037 1f ^_
X.DE
X
X.*s 2 "HAngup : hang up modem"
X.DS L
Xusage: hangup
X.DE
X
XThis causes DTR to be momentarily interrupted,
Xterminating any outstanding connection.
XYour DCE (modem) must be able to drop carrier upon loss of DTR.
X
X.*s 2 "HElp : invoke help"
X.DS L
Xusage: help [<cmd-name>]
X.DE
X
XIssuing this command with no argument displays a list of
Xcommands followed by a request for a command for further
Xinformation.
X
X.*s 2 "LLp : set session log to /dev/lp"
X.DS L
Xusage: llp
X.DE
X
XThis command is a
Xshorthand version of 'log /dev/lp'.  /dev/lp must not be
Xunder the control of a print spooler.
X
X.*s 2 "LOFf : turn off session logging"
X.DS L
Xusage: loff
X.DE
X
XThis command is shorthand for 'log off'.  If session logging
Xis active, it is turned off.
X
X.*s 2 "LOG : session logging control"
X.DS L
Xusage: log [-s] [-r] [ | off | filename ]
X    -s "scratch" previous file contents; otherwise append
X    -r "raw" logging; otherwise non-printable characters
X        other than tab and newline are omitted from the log
X.DE
X
XThis command controls session logging; issuing the command
Xwith no argument causes the status of session logging to be
Xdisplayed.  The special argument 'off' causes active logging
Xto be terminated.  Other argument values cause logging to
Xstart using the argument as a filename.  Issuing a 
X.B log
Xcommand with a filename when logging is already active causes the
Xprevious file to be closed and the new file to be opened.
XSwitches are meaningful only when used in conjunction with a
Xfilename to start logging.
X
X
X.*s 2 "NL : display CR/LF mapping"
X.DS L
Xusage: nl
X.DE
X
XDisplay the current setting of CR/LF mapping.  For more
Xinformation, refer to the
X.B nlin
Xand
X.B nlout
Xcommand descriptions.
X
X
X.*s 2 "NLIn : set receive CR/LF mapping"
X.DS L
Xusage: nlin [<y-n>]
X.DE
X
XThis command controls whether or not a newline (NL/LF)
Xcharacter is sent to the screen upon receipt of a carriage
Xreturn (CR) from the remote system.  Most remote computers
Xsupply a NL after CR.  When communicating with another
Xterminal in a "teletype conversation", this is generally not
Xthe case (see also the 
X.B duplex
Xcommand).
X
XIssuing the command without <y-n> causes the current setting
Xto be displayed.  The format of <y-n> is flexible: 'y' or '1'
Xenables appending NL to CR, 'n' or '0' causes the
Xfeature to be disabled.
X
X
X.*s 2 "NLOut : set transmit CR/LF mapping"
X.DS L
Xusage: nlout [<y-n>]
X.DE
X
XThis command controls whether or not a newline (NL/LF)
Xcharacter is sent to the remote system upon transmission of
Xa carriage return (CR) entered by the keyboard.  Most remote
Xcomputers do not require (indeed "dislike") a NL after CR.
XWhen communicating with another terminal in a "teletype
Xconversation", this is generally not the case (see also the
X.B duplex
Xcommand).
X
XIssuing the command without <y-n> causes the current setting
Xto be displayed.  The format of <y-n> is flexible: 'y' or '1'
Xenables appending NL to CR, 'n' or '0' causes the
Xfeature to be disabled.
X
X
X.*s 2 "OA : octal to ascii char"
X.DS L
Xusage: oa [<octal-val>]
X.DE
X
X<octal-val> is a octal value between 0 and 0377; the parity
X(sign) bit is stripped and the equivalent ASCII character
Xvalue is displayed.
X
XIf no argument is supplied, a table of control characters
Xis printed containing decimal, octal, hex, ASCII identifiers
Xand two-character control character identifier.
X
X
X.*s 2 "PARity : set/display line parity"
X.DS L
Xusage: parity [ None | Even | Odd ]
X.DE
X
XThis command controls the parity of characters transmitted
Xby the keyboard.  Issuing the command with no argument
Xdisplays the current setting.  When the argument is
Xsupplied, only the first character is required.  Even or odd
Xparity implies seven data bits; no parity implies eight data
Xbits.  Parity of incoming characters is not checked.
X
XThe setting may be automatically changed as the result of an
Xinteractive or procedure
X.B dial
Xcommand.  See the 
X.B baud
Xand 
X.B dial
Xcommand descriptions.
X
X
X.*s 2 "PId : display process ids"
X.DS L
Xusage: pid
X.DE
X
XThis command displays the process id of the ECU transmitter
Xprocess, the ECU receiver process and the process ids of
XECU's parent and group.
X
X.*s 2 "PLog : procedure logging"
X.DS L
Xusage: plog [ <filename> | off]
X.DE
X
XThis command enables or disbles procedure logging.
X
X.*s 2 "PTrace : control procedure trace"
X.DS L
Xusage: ptrace [ 0 | 1 | on | off]
X.DE
X
XThis command controls whether or not procedure execution is
Xto be traced. Trace output is written to
Xthe screen and varys in its nature depending
Xupon the command being traced.  Specifically,
Xany change to a string or integer variable
Xis noted.  If tracing is enabled, the output will also be
Xwritten to the procedure log file (see the
X.b plog
Xinteractive and procedure commands).
XIssuing the command with no argument shows current status.
X
X.*s 2 "PWd : print working directory"
X.DS L
Xusage: pwd
X.DE
X
XThis command prints the current working directory of the ECU
Xprocess.
X
X
X.*s 2 "REDial : redial last number"
X.DS L
Xusage: redial [<retry-count> [<pause-interval>]]
X.DE
X
XThis command redials a number previously dialed with the 'dial' command.
XModem status is tested and multiple retries may be made.  <retry-count>
Xspecifies how many retries are to be made.  <pause-interval> specifies
Xhow many seconds the program pauses after a failure to connect.  You
Xmust specify <retry-count> in order to specify <pause-interval>.  The
Xdefault value for <retry-count> is 10, for <pause-interval> is 60.
X
XYou should know that in some jurisdictions, it is ILLEGAL to dial the
Xsame telephone number more than a specified number of times during some
Xinterval of time.  In any case, a <pause-interval> less than 15 seconds
Xis silently changed to 15 seconds.
X
X.*s 2 "REV : ECU revision/make date"
X.DS L
Xusage: rev
X.DE
X
XThis command displays ECU's revision, the transmitter process id'
Xand the date and time ECU was made.
X
X.*s 2 "RK : receive via C-Kermit"
X.DS L
Xusage: rk
X.DE
X
XThis command searches the PATH list for 'ckermit' (Columbia
XUniversity C-Kermit) and invokes it to receive files.
X
XThe file ~/.kermrc must be set up to have any desired
Xinitialization paraeters you desire.  Refer to C-Kermit
Xdocumentation for more information.
X
X
X.*s 2 "RS : receive via SEAlink"
X.DS L
Xusage: rs
X.DE
X
XThis command invokes a SEAlink receive protocol.
X
X.*s 2 "RTScts : control RTS/CTS flow control"
X.DS L
Xusage: rtscts [ off| on | no | yes | 0 | 1 | 2 | 3 ]
X.DE
X
XThis command controls the RTS/CTS flow control feature of
Xthe SCO UNIX/XENIX line driver (which may or may not work).
XIf no argument is supplied, the current setting is
Xdisplayed.  Specifying 0 or n disables the facility;
X1 or y causes RTS/CTS flow control to be enabled.
X
XWhat the command does is to manipulate the RTSFLOW and CTSFLOW
Xbits of the termio c_cflag word (see 
X.B termio(S) ).
X
X.DS I
Xargument | RTSFLOW | CTSFLOW
X---------+---------+---------
X  off    |   0     |   0
X  on     |   1     |   1
X  no     |   0     |   0
X  yes    |   1     |   1
X  0      |   0     |   0
X  1      |   1     |   1
X  2      |   1     |   0
X  3      |   0     |   1
X.DE
X
X.*s 2 "RX : receive via XMODEM/CRC"
X.DS L
Xusage: rx
X.DE
X
XThis command invokes ecurz to receive files from the remote
Xsystem using XMODEM/CRC.
X
XAfter entering the command, you are prompted as to whether
Xor not file CR/LF characters are to be converted to
Xnewlines.  If you are transferring text files from a system
Xwhich contain CR/LF line terminators, you must answer yes
Xto this question.  You should answer no when transferring
Xbinary files, such as executables, .arc files and the like.
XFile transfer progress is presented on a visual display.  To
Xabort the transfer, press your interrupt key (usually DEL
Xunless reset with stty(C)).
X
X
X.*s 2 "RY : receive via YMODEM Batch"
X.DS L
Xusage: ry
X.DE
X
XThis command invokes ecurz to receive files from the remote
Xsystem using YMODEM batch with CRC-16 error correction.  The
XYMODEM is "true YMODEM", not XMODEM-1k.  File transfer
Xprogress is presented on a visual display.  To abort the
Xtransfer, press your interrupt key (usually DEL unless reset
Xwith stty(C)).
X
X
X.*s 2 "RZ : receive via ZMODEM/CRC32"
X.DS L
Xusage: rz
X.DE
X
XThis command invokes ecurz to receive files from the remote
Xsystem using ZMODEM/CRC32.  File transfer progress is
Xpresented on a visual display.  To abort the transfer, press
Xyour interrupt key (usually DEL unless reset with stty(C)).
X
X
X.*s 2 "SDNAME : select screen dump file name"
X.DS L
Xusage: sdname [<filename>]
X.DE
X
XWhen the "cursor 5" key is pressed, the screen contents are
Xdumped to a file.  By default, this file is named '~/.ecu/screen.dump'.
XThis command either displays or changes the current screen
Xdump file name, depending upon whether or not a argument
Xis supplied.
X
XThe actions of this command have no effect on the
Xoperation of the
X.b scrdump
Xprocedure command.
X
XSee the section titled "Screen Dump" for more information.
X
X.*s 2 "SK : send via C-Kermit"
X.DS L
Xusage: sk [<file-list>]
X.DE
X
XThis command searches the PATH list for 'ckermit' (Columbia
XUniversity C-Kermit) and invokes it to send files.  The file
X~/.kermrc must be set up to have any desired initialization
Xparaeters you desire.
X
XAfter entering the command, you are prompted as to whether
Xor not file newline characters are to be converted to CR/LF.
XIf you are transferring text files to a system which
Xrequires CR/LF line terminators, you must answer yes to this
Xquestion.  You should answer no when transferring binary
Xfiles, such as executables, .arc files and the like.  You
Xare prompted to enter a list of files to send, which may
Xcontain one or more wildcard specifications.
X
XThe file ~/.kermrc must be set up to have any desired
Xinitialization arguments you desire.  Refer to C-Kermit
Xdocumentation for more information.
X
X
X.*s 2 "SS : send via SEAlink"
X.DS L
Xusage: ss [<file-list>]
X.DE
X
XThis command invokes a SEAlink file transmission protocol.
X.DS L
X
X .--[ Send SEAlink ]-------- dir: /u1/src/ecu ------------------.
X |                                                              |
X |  File(s) to send:                                            |
X |  ___________________________________________________________ |
X |                                                              |
X |    TAB:next  ^B:prev  END:perform transfer  ESC:abort        |
X `-- enter file(s) to send -------------------------------------'
X.DE
X
X.*s 2 "STat : connection status"
X.DS L
Xusage: stat
X.DE
X
XThis command displays statistics about ECU usage.
XExample display:
X.DS L
XDate/time: 06-14-1988 11:40:35 (UTC 15:40)
XTotal chars transmitted: 178
XTotal chars received:    3681
X
XDate/time: 06-14-1988 14:41:24 (UTC 18:41)
XConnected to CompuHost (555-1234) at 14:40:57
XParameters: 2400-N-1 Connect time: 00:01:27
XTotal chars transmitted: 234 (since CONNECT 142)
XTotal chars received:    2278 (since CONNECT 1478)
X.DE
X
X.*s 2 "SX : send via XMODEM/CRC"
X.DS L
Xusage: sx [<file-name>]
X.DE
X
XThis command invokes ecusz to send a file to the remote
Xsystem using XMODEM/CRC.
X
XAfter entering the command, you are prompted as to whether
Xor not file CR/LF characters are to be converted to
Xnewlines.  If you are transferring text files from a system
Xwhich contain CR/LF line terminators, you must answer yes
Xto this question.  You should answer no when transferring
Xbinary files, such as executables, .arc files and the like.
X
XYou are prompted to enter a filename to send.  File transfer
Xprogress is presented on a visual display.  To abort the
Xtransfer, press your interrupt key (usually DEL unless reset
Xwith stty(C)).
X.DS L
X .--[ Send XMODEM/CRC ]----- dir: /u1/src/ecu -----------.
X |                                                       |
X |  File to send:                                        |
X |  ____________________________________________________ |
X |                                                       |
X |  Binary: Y (no NL-CR/LF translation)                  |
X |                                                       |
X |   TAB:next  ^B:prev  END:perform transfer  ESC:abort  |
X `-- enter file(s) to send ------------------------------'
X.DE
X
X.*s 2 "SY : send via YMODEM Batch"
X.DS L
Xusage: sy [<file-list>]
X.DE
X
XThis command invokes ecusz to send file(s) to the remote
Xsystem using YMODEM/CRC.
X
XYou are prompted to enter filename(s) to send, which may
Xconsist of one or more wildcard specifications.  File
Xtransfer progress is presented on a visual display.  To
Xabort the transfer, press your interrupt key (usually DEL
Xunless reset with stty(C)).
X.DS L
X .--[ Send YMODEM/CRC ]----- dir: /u1/src/ecu -----------.
X |                                                       |
X |  File to send:                                        |
X |  ____________________________________________________ |
X |                                                       |
X |  Binary: Y (no NL-CR/LF translation)                  |
X |                                                       |
X |   TAB:next  ^B:prev  END:perform transfer  ESC:abort  |
X `-- enter file(s) to send ------------------------------'
X.DE
X
X.*s 2 "SZ : send via ZMODEM/CRC32"
X.DS L
Xusage: sz [<file-list>]
X.DE
X
XThis command invokes ecusz to send file(s) to the remote
Xsystem using ZMODEM/CRC32.
X
XYou are prompted to enter filename(s) to send, which may
Xconsist of one or more wildcard specifications.  File
Xtransfer progress is presented on a visual display.  To
Xabort the transfer, press your interrupt key (usually DEL
Xunless reset with stty(C)).
X
XNote: if you specify sending only newer files and the remote
Xreceiver does not support the feature, it may skip (reject)
Xall your files.  Retry the transfer specifying 'N' to 'Transfer
Xonly newer files'.
X.DS L
X.--[ Send ZMODEM/CRC32 ]--- dir: /tmp ---------------------------.
X|                                                                |
X|  File(s) to send:                                              |
X|  ckermit-5a-130                                                |
X|                                                                |
X|  Binary: Y (no NL-CR/LF translation)                           |
X|  Overwrite destination files: Y                                |
X|  Send full pathames:  N                                        |
X|  Transfer only newer files: N                                  |
X|                                                                |
X|     TAB:next  ^B:prev  END:perform transfer  ESC:abort         |
X`-- enter file(s) to send ---------------------------------------'
X`-- Y: no conversion, N: NLs converted to CR/LF -----------------'
X`-- Y: overwrite, N: protect destination files ------------------'
X`-- Y: full pathnames, N: strip directory portion from names ----'
X`-- Y: send only if source newer than destination, N send all ---'
X.DE
X
X.*s 2 "TIme : time of day"
X.DS L
Xusage: time
X.DE
X
XThis command displays the local date and time as well as the
Xcurrent UTC.
X
X.*s 2 "TTy : console tty name"
X.DS L
Xusage: tty
X.DE
X
XThis command displays the current console tty name.
X
X
X.*s 2 "XA : hex to ascii char"
X.DS L
Xusage: xa [<hex-val>]
X.DE
X
X<hex-val> is a hexadecimal value between 0 and FF; the
Xparity (sign) bit is stripped and the equivalent ASCII
Xcharacter value is displayed.
X
XIf no argument is supplied, a table of control characters
Xis printed containing decimal, octal, hex, ASCII identifiers
Xand two-character control character identifier.
X
X
X.*s 2 "XON : xon/xoff flow control"
X.DS L
Xusage: xon [<arg>]
Xwhere <arg> is on    input and output flow control
X               off   no flow control
X               in    input flow control
X               out   output flow control
X.DE
X
XThis command enables or disables xon/xoff flow control.
XIf the argument is omitted, the current flow control state is displayed.
X
X.*s 2 "! : execute shell"
X.DS L
Xusage: !
X       !<command>
X.DE
X
XThe '!' command is a shell escape.  The environment variable
XSHELL is read to determine what shell program to execute
X(e.g., /bin/sh, etc).  If '!' is entered by itself, an
Xinteractive shell is started; press ^D to exit back to ECU.
XIf <command> is supplied, it is executed by the shell with
Xan immediate return to ECU.
X
SHAR_EOF
$TOUCH -am 1226042290 'doc/_icmd.txt' &&
chmod 0644 doc/_icmd.txt ||
echo 'restore of doc/_icmd.txt failed'
Wc_c="`wc -c < 'doc/_icmd.txt'`"
test 28501 -eq "$Wc_c" ||
	echo 'doc/_icmd.txt: original size 28501, current size' "$Wc_c"
# ============= doc/_intro.txt ==============
echo 'x - extracting doc/_intro.txt (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'doc/_intro.txt' &&
X.*s 1 "Introduction"
X
XECU (Extended Call Utility) is a personal communications program for
Xusers of SCO UNIX V.3.2/386 and XENIX V on 80286 and 80386 systems.
XThis preliminary document describes ECU functionality and implementation
Xfrom a technical point of view.
X
XECU provides the classic terminal communications facility of passing
Xkeyboard data to a serial line and incoming data to the computer video
Xdisplay.  In addition, a dialing directory, a function key mapping
Xfeature, and session logging are available.
X
XA very flexible procedure (script) language is also incorporated to
Xautomate many communications tasks.  Using shell scripts and ECU
Xprocedures, it is possible to use ECU in an entirely "unattended"
Xfashion for batch-style communications sessions.
X
XECU presents to the host a flexible "ANSI" terminal type, accepting
Xany valid video control sequences from MS-DOS or SCO documentation
Xas of late 1990.  It also fares well, though imperfectly, with
XSun and VT-100 in-band video control sequences.
XStandards are great: everybody should have one, especially if
Xthey call it "ANSI."
XFor more information,
Xrefer to the section below titled "ANSI Filter."
X
XThe program supports almost any local terminal (console) which
Xcan be described in a termcap database entry.
XFor more information, refer to "Supported Terminals."
X
XECU supports numerous file transfer protocols: as of this writing,
XXMODEM, XMODEM/CRC, XMODEM-1K, YMODEM/CRC Batch, ZMODEM/CRC-16,
XZMODEM/CRC-32, Kermit and SEAlink are supported.
XFor more information, refer to the sections describing the
Xindividual interactive and procedure file transfer commands.
X
XThis document is better than that supplied with
XECU 2.0, but is still rough in many places.
XIt attempts to get across to the inquiring mind how ECU
Xworks.  In places, an understanding of the UNIX programming model, UNIX,
XXENIX and UUCP constructs and asynchronous communications techniques
Xis assumed.  In other places, the document goes into tedious detail
Xabout the simplest of concepts.  A great deal of attention has been
Xplaced in accurate and robust coding of the program.  Perhaps, time
Xpermitting, one day I can say the same for this document.
SHAR_EOF
$TOUCH -am 1218182790 'doc/_intro.txt' &&
chmod 0644 doc/_intro.txt ||
echo 'restore of doc/_intro.txt failed'
Wc_c="`wc -c < 'doc/_intro.txt'`"
test 2184 -eq "$Wc_c" ||
	echo 'doc/_intro.txt: original size 2184, current size' "$Wc_c"
true || echo 'restore of doc/_p_cmd.txt failed'
echo End of part 32, continue with part 33
exit 0
--------------------------------------------------------------------
Warren Tucker, TuckerWare emory!n4hgf!wht or wht@n4hgf.Mt-Park.GA.US
Hacker Extraordinaire  d' async PADs,  pods,  proteins and protocols

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.