v16i022: ECU async comm package rev 3.0 manual, Part01/03
Warren Tucker
wht at n4hgf
Sat Jan 5 17:22:11 AEST 1991
Submitted-by: Warren Tucker <wht at n4hgf>
Posting-number: Volume 16, Issue 22
Archive-name: ecuman3/part01
---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is ecuman3, a shell archive (shar 3.46)
# made 12/26/1990 10:30 UTC by wht%n4hgf at gatech.ecu
# Source directory /u1/src/ecu
#
# existing files WILL be overwritten
#
# This is part 1 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 119841 -rw-r--r-- doc/ecu.man
#
if touch 2>&1 | fgrep 'amc' > /dev/null
then TOUCH=touch
else TOUCH=true
fi
if test -r _shar_seq_.tmp; then
echo 'Must unpack archives in sequence!'
echo Please unpack part `cat _shar_seq_.tmp` next
exit 1
fi
# ============= doc/ecu.man ==============
if test ! -d 'doc'; then
echo 'x - creating directory doc'
mkdir 'doc'
fi
echo 'x - extracting doc/ecu.man (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'doc/ecu.man' &&
X
X
X
X - 1 -
X
X
X
X ECU 3.00
X
X (Extended Call Utility)
X
X
X
X
X
X
X Personal Communications Package
X for XENIX System V
X
X
X
X
X
X
X
X
X
X
X
X
X Warren H. Tucker, III <wht at n4hgf.Mt-Park.GA.US>
X
X
X
X
X
X
X Technical Description
X Revision 3.00
X 12/26/90
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 1
X
X
X
X 1. Introduction
X
X
X ECU (Extended Call Utility) is a personal communications program for
X users of SCO UNIX V.3.2/386 and XENIX V on 80286 and 80386 systems.
X This preliminary document describes ECU functionality and implementation
X from a technical point of view.
X
X ECU provides the classic terminal communications facility of passing
X keyboard data to a serial line and incoming data to the computer video
X display. In addition, a dialing directory, a function key mapping
X feature, and session logging are available.
X
X A very flexible procedure (script) language is also incorporated to
X automate many communications tasks. Using shell scripts and ECU
X procedures, it is possible to use ECU in an entirely "unattended"
X fashion for batch-style communications sessions.
X
X ECU presents to the host a flexible "ANSI" terminal type, accepting any
X valid video control sequences from MS-DOS or SCO documentation as of
X late 1990. It also fares well, though imperfectly, with Sun and VT-100
X in-band video control sequences. Standards are great: everybody should
X have one, especially if they call it "ANSI." For more information, refer
X to the section below titled "ANSI Filter."
X
X The program supports almost any local terminal (console) which can be
X described in a termcap database entry. For more information, refer to
X "Supported Terminals."
X
X ECU supports numerous file transfer protocols: as of this writing,
X XMODEM, XMODEM/CRC, XMODEM-1K, YMODEM/CRC Batch, ZMODEM/CRC-16,
X ZMODEM/CRC-32, Kermit and SEAlink are supported. For more information,
X refer to the sections describing the individual interactive and
X procedure file transfer commands.
X
X This document is better than that supplied with ECU 2.0, but is still
X rough in many places. It attempts to get across to the inquiring mind
X how ECU works. In places, an understanding of the UNIX programming
X model, UNIX, XENIX and UUCP constructs and asynchronous communications
X techniques is assumed. In other places, the document goes into tedious
X detail about the simplest of concepts. A great deal of attention has
X been placed in accurate and robust coding of the program. Perhaps, time
X permitting, one day I can say the same for this document.
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 2
X
X
X
X 2. Basic Organization
X
X
X ECU forks to run as two separate processes, a transmitter (XMTR) and a
X receiver (RCVR). The two processes communicate via signals and a System
X V shared memory segment. XMTR controls RCVR and terminates it under
X certain circumstances, called here auxiliary operations. After an
X auxiliary operation completes, XMTR forks again to recreate RCVR.
X
X
X 2.1 Transmitter Process (XMTR)
X
X
X XMTR accepts user input from the computer keyboard; input is recognized
X as belonging to one of two types: 1) transmit data and 2) ECU commands.
X Keyboard input is passed to the serial line driver until an ECU command
X is detected. Commands are prefixed with a HOME key which causes ECU to
X accept keyboard data up to the next ENTER key as command text. After a
X command has been processed, keyed data is again routed to the serial
X line.
X
X
X 2.1.1 Keyboard Interface
X
X The keyboard driver is set into the raw mode. XMTR reads characters one
X at a time from the driver. Normally, characters read from the keyboard
X are passed directly to the serial line driver. The ASCII ESC ("escape")
X character is handled as a special case. When a function key is pressed,
X the keyboard generates to XMTR an ESC character, followed by more
X characters describing which function key has been pressed. Pressing the
X ESC key also causes XMTR to see an ESC character, but with no subsequent
X function key "suffix".
X
X When an ESC character is read, XMTR delays transmission of the character
X to the line for a short period to determine whether the ESC key has been
X pressed or a function key has been pressed. If no "suffix" is detected,
X the ESC is passed to the line, having suffered an insignificant delay
X given human typing speeds.
X
X If a function key "suffix" is detected, the function key type is
X decoded. The HOME key indicates an ECU command follows. Any other
X function key is passed to the function key mapping feature (described
X later).
X
X
X 2.1.2 ECU Command Assembly
X
X After HOME has been pressed, XMTR presents a reverse video prompt on the
X display, indicating its readiness to accept a command. During input,
X the command may be edited using the same control keys specified with
X stty(C). Additonal editing using the left and right arrow keys and the
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 3
X
X
X
X Ins(ert) key are usually available. Command input may be aborted by
X pressing ESC. When a command string has been assembled, it is passed to
X the command processor, which breaks the command arguments into a token
X array similar to the argc/argv array. When the command handler returns,
X XMTR returns to its normal mode of copying keyboard data to the serial
X line.
X
X Further information on XMTR command line processing may be found in
X later sections titled Line Editing and Interactive Command History.
X
X
X 2.1.3 Function Key Mapping
X
X While in tty-to-line mode, function keys other than HOME are available
X to be mapped to transmit short keystroke sequences on a connection by
X connection basis. Under control of the dialing command ("Dial"
X described below) or the function key control command ("FK"), predefined
X function key maps may be loaded.
X
X Function keys which may be mapped are F1 through F12, PgUp, PgDn, End,
X Ins, Del, and the cursor control keys.
X
X The unshifted keypad '5' key is permanently mapped to produce a screen
X snapshot when it is pressed and XMTR is reading from the keyboard.
X
X Thhe BackTab (shift Tab) key is mpermanently mapped to a screen
X redisplay feature.
X
X
X 2.1.4 Auxiliary Operation Control
X
X Certain commands cause ECU to perform what is called an auxiliary
X operation, requiring temporary termination of the RCVR process. Such
X operations are not as useful with cu(C), because cu does NOT kill its
X receiver process at any time. As a result, it impossible to run a
X modern file transfer protocol since the cu receiver process eats some of
X the characters sent by the remote protocol program.
X
X There are two types of auxiliary operations: 1) internal interactive
X command or procedure execution and 2) external program execution.
X Certain internal commands require tight control over the serial line.
X For instance, the dial command requires transmitting modem command
X strings and receiving modem response codes. Such functions are best
X accomplished by single-process control of the line. External program
X execution is of two kinds, file transfer invocation and local
X shell/command execution.
X
X The RCVR process is terminated in any of these cases either to avoid the
X RCVR swallowing characters intended for other targets (the modem handler
X in XMTR or the file transfer protocol) or to avoid having remote data
X interspersed with the output of local programs.
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 4
X
X
X
X 2.2 Receiver Process (RCVR)
X
X
X The receiver process reads the incoming serial data stream and passes it
X to the user terminal driver through a filter which scans for events such
X as the occurrence of ASCII BEL (bell) characters or terminal control
X sequences. RCVR also handles the session logging and ANSI filter
X functions.
X
X
X 2.2.1 ANSI Filter
X
X Since the term "ANSI" is used to describe many variations on the ANSI
X X3.64 recommendations for terminal control (read "IBM pseudo-ANSI"), the
X ECU receiver process has an "ANSI filter" which attempts to translate
X incompatible (read "MSDOS") ANSI-like control sequences to sequences
X acceptable to the UNIX/XENIX display driver. This includes support for
X the MS-DOS "save cursor" and "restore cursor" sequences. More
X information may be found later in "Terminal Model."
X
X
X 2.2.2 Session Logging
X
X When directed by the user, the RCVR process logs incoming serial data to
X a file named on the log command line. The default operation is to
X filter unprintable characters (other than TAB and NL) from the log, but
X raw logging is available with a command option. In a like manner, the
X default is for appending to an existing file, but a command option may
X specify scratching any previous contents.
X
X Log files receive header lines each time the file is opened, stating the
X logical system name, the telephone number and the date/time.
X
X
X
X 2.3 Supported Terminals
X
X
X ECU does not attempt to support terminal emulation in the classic sense
X of the word. It presents to the remote host an "ANSI-like" terminal
X type as described earlier in the introduction and in the section titled
X "ANSI Filter." However, it does support, with limitations, any LOCAL
X terminal (console) for which a valid termcap description exists. You MAY
X be able to use ECU with a remote terminal (calling into UNIX/XENIX over
X a network or modem), but you may get unfavorable results with function
X key usage if your modem is a "packetizing" type, such as a Telebit or if
X ethernet or other networking chops up your keystroke sequences. ECU
X allows approximately 60 milliseconds after receiving an ASCII ESC
X character for later characters of a function key sequence to arrive. If
X at least one character of the sequence has not been received in that
X time, ECU treats the key as an ESCape, not a function key. This typical
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 5
X
X
X
X problem of detecting ESC vs. function key is unfortunate, but we must
X live with it until paradigms change (say, in about 2010?).
X
X The termcap entry for a console MUST contain a valid entry for the
X following database entries:
X
X
X cl clear screen
X kl cursor left
X kr cursor right
X dc delete character
X dl delete line
X cd clear to end of display
X ce clear to end of line
X ic insert character
X al insert line ("add" a "line")
X cm cursor motion
X so stand out (terminal specific attention getter)
X se stand end
X
X
X The above sequences MUST be present, valid and reasonably efficient.
X ECU does not use curses during most of it's operation, and unlike
X curses, makes no attempt to emulate missing terminal functionality.
X Failure to provide valid entries will result in strange behavior with no
X warning.
X
X Note that the formal termcap description of "kl" and "kr" state these
X are sequences generated by the terminal keyboard, but ECU expects that
X these sequences also causes the desired effect when sent to the screen.
X
X Additionally, the following, optional, sequences will be used if they
X are detected.
X
X
X mb bold on ("XENIX" extension)
X me bold off ("XENIX" extension)
X us underscrore on
X ue underscrore off
X vb visual bell
X
X
X A future version of ECU may use terminfo instead of termcap. Problems
X with terminfo prevent its use at the present time. In addition, early
X versions of XENIX do not support terminfo.
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 6
X
X
X
X 2.4 Function Key Recognition
X
X
X ECU recognizes 23 function keys as having special significance to its
X operation. They are (with their AT/"ANSI" character sequences):
X
X Internal Description AT/"ANSI" Char-
X Name or Key Label acter Sequence
X -------- ------------ ---------------
X F1 F1 ESC [ M
X F2 F2 ESC [ N
X F3 F3 ESC [ O
X F4 F4 ESC [ P
X F5 F5 ESC [ Q
X F6 F6 ESC [ R
X F7 F7 ESC [ S
X F8 F8 ESC [ T
X F9 F9 ESC [ U
X F10 F10 ESC [ V
X F11 F11 ESC [ W
X F12 F12 ESC [ X
X Home Home ESC [ H
X End End ESC [ F
X PgUp Page up ESC [ I
X PgDn Page down ESC [ G
X CUU Up arrow ESC [ A
X CUD Down arrow ESC [ B
X CUL Left arrow ESC [ D
X CUR Right arrow ESC [ C
X CU5 "Cursor 5" ESC [ E
X Ins Insert ESC [ L
X BkTab Back Tab ESC [ Z
X
X
X ECU recognizes function keys entered by the user in one of two ways,
X depending upon whether the terminal is recognized as an "ANSI" or "non-
X ANSI" terminal (see "Supported Terminals" above).
X
X If an AT/"ANSI" terminal is in use, ECU expects the standard AT/"ANSI"
X sequences to be generated by the keyboard according to the above table.
X This means that no use of the setkey(C) program (or similar
X functionality) may be active.
X
X If an "non-ANSI" terminal is in use, ECU matches a function key sequence
X to an internal function key representation by testing all keystroke
X sequences again an internal table loaded at the beginning of execution
X from the file ~/.ecu/nonansikeys. NOTE that supported terminals MUST
X employ function keys which generate sequences beginning with an ASCII
X ESC (escape, 0x1B, decimal 27, octal 33).
X
X The format of an file entry is shown below in the 'ansilike' example
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 7
X
X
X
X (used to test ECU from the console by defining an 'ansi' terminal type
X nevertheless equivalent to 'ansi').
X
X Lines beginning with '#' are comments.
X
X
X #+------------------------------
X # ECU 3.0 nonansikeys
X #-------------------------------
X ansilike
X ansi
X msdos
X dos
X dosansi
X test
X F1:F1: esc [ M
X F2:F2: esc [ N
X F3:F3: esc [ O
X F4:F4: esc [ P
X F5:F5: esc [ Q
X F6:F6: esc [ R
X F7:F7: esc [ S
X F8:F8: esc [ T
X F9:F9: esc [ U
X F10:F10: esc [ V
X F11:F11: esc [ W
X F12:F12: esc [ X
X Home:Home: esc [ H
X End:End: esc [ F
X PgUp:PgUp: esc [ I
X PgDn:PgDn: esc [ G
X CUU:CUU: esc [ A
X CUL:CUL: esc [ D
X CU5:CU5: esc [ E
X CUR:CUR: esc [ C
X CUD:CUD: esc [ B
X Ins:Ins: esc [ L
X BkTab:BackTab: esc [ Z
X
X
X The first line(s) in a terminal keyboard description begin in column 1
X and contain the terminal types (a la $TERM) for which the keyboard
X description are valid. The example entry contains several references to
X terminal types containing the substring description servicing multiple
X terminal types.
X
X ECU determines whether a terminal meets the ansi vs. ANSI distinction
X by searching for 'ansi' in the $TERM environment variable (without
X regard to case: 'AnSi' will match as well as though your $TERM
X environment variable does not contain 'ansi' (such as 'sun'), then you
X may add the terminal type to the 'ansilike' entry rather than create a
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 8
X
X
X
X separate entry.
X
X Following the "first lines" are key definition entries, each preceded by
X at least one tab or space. Each entry is composed of three fields
X delimited by commas. The first field of an entry is the internal ECU
X function key name and must be chosen from the following strings (with no
X regard to case): "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9",
X "F10", "F11", "F12", "Home", "End", "PgUp", "PgDn", "CUU" (cursor up),
X "CUL" (cursor left), "CU5" (unshifted cursor pad 5), "CUR" (cursor
X right) and "CUD" (cursor down). The second field contains the name of
X the key as it appears on the non-ANSI keyboard (such as "F16" for End on
X the Wyse 60). The third field is a description of the character
X sequence generated by the non-ANSI keyboard when the chosen key is
X pressed; it is a string of one or more tokens separated by spaces or
X tabs.
X
X Note that while ECU requires a function key sequence to begin with an
X ASCII ESC (escape), each table entry must contain an 'esc' as it's first
X sequence token. This seemingly superfluous requirement ensures
X compatibility with possible future support for function keys which do
X not begin with ESC.
X
X In addition, function key sequences may not contain the NUL (0)
X character, nor may they exceed 10 characters, including the leading ESC.
X
X The tokens are described in full in the following sections titled
X "Function Key Recognition" and "Function Key Mapping."
X
X PLEASE NOTE: ECU does not have a reasonable way for you to terminate it
X if there are no Home and End keys defined, so it refuses to proceed if
X no definitions are found. Even so, if you have incorrect definitions,
X you may not be able to get out of ECU without a kill -1 <pid> from
X another terminal or hanging up your connection with UNIX/XENIX if using
X ECU from remote.
X
X
X 2.5 Function Key Mapping
X
X
X ECU recognizes function keys in a manner described in the above section
X titled "Function Key Recognition." This section deals with how ECU
X behaves once a function key has been recognized as having been entered
X at the keyboard.
X
X All function keys with the exception of the Home, BkTab (shift TAB), and
X keypad unshifted 5 key can be programmed to emit selected strings. For
X instance, when communicating with a Stratus computer, doing your best to
X emulate a VT100, a function key map might be constructed as follows:
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 9
X
X
X
X F1 F1 F2 F2 Home ecu cmd PgUp dispform
X F3 F3 F4 F4 End enter PgDn cancel
X F5 F5 F6 F6 Ins local shell CUR5 Screen dump
X F7 status F8 no status BkTab restore receiver display
X F9 F10 redisp CUR^ ^ CUR> >
X F11 F12 CUR< < CURv v
X
X
X Function key mapping is placed in ~/.ecu/keys. The Stratus example:
X
X stratus
X F1:F1:esc O q
X F2:F2:esc O r
X F3:F3:esc O s
X F4:F4:esc O t
X F5:F5:esc O u
X F6:F6:esc O v
X F7:F7:esc O w
X F8:status:dc4
X F9:no status:nl
X F10:redisp:esc O y
X F11:redisp:syn
X PGDN:cancel:esc O Q
X END:enter:esc O M
X PGUP:dispform:esc O R
X CUU:^:dle
X CUD:v:so
X CUL:<:stx
X CUR:>:ack
X
X
X If you have installed the mapkey file (as described in the release
X directory in mapkeys/README), then ALT-a through ALT-z causes the
X "silent" execution of procedures 'alt_a.ep' for ALT-a, 'alt_b.ep' for
X ALT-b, etc. The models subdirectory contains an example alt_h.ep which
X will home the cursor when ALT-h is pressed. This facility allows the
X execution of 26 procedures without ECU itself changing the video display
X at all. Any changes to the display (short of procedure errors) will
X result solely from the action of the invoked procedure. If the
X procedure matching the ALT-[a-z] key pressed cannot be found, a short
X error message is printed and the terminal bell is rung. (Using back tab
X may be used to refresh the display in this event.)
X
X The strings used to represent "non-printable" characters are identical
X to the formal ASCII names given them (without regard to case), viz:
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 10
X
X
X
X 0x00 nul NUL may not appear in a non-ANSI
X 0x01 soh function key definition
X 0x02 stx
X 0x03 etx
X 0x04 eot
X 0x05 enq
X 0x06 ack
X 0x07 bel
X 0x08 bs
X 0x09 ht
X 0x0A nl
X 0x0B vt
X 0x0C np
X 0x0D cr
X 0x0E so
X 0x0F si
X 0x10 dle
X 0x11 dc1
X 0x12 dc2
X 0x13 dc3
X 0x14 dc4
X 0x15 nak
X 0x16 syn
X 0x17 etb
X 0x18 can
X 0x19 em
X 0x1A sub
X 0x1B esc
X 0x1C fs
X 0x1D gs
X 0x1E rs
X 0x1F us
X 0x20 sp
X 0x7F del
X
X
X
X 2.6 Host Video Control Sequences
X
X
X
X 2.6.1 All Local Terminals
X
X The following sequences are recieved over the line by ECU and properly
X interpreted for all local terminal types (multiscreen, rlogin/xterm
X pseudotty, serial).
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 11
X
X
X
X Sequence | Description
X ----------+-------------------------------
X ESC [ @ | ICH
X ESC [ A | CUU
X ESC [ B | CUD
X ESC [ C | CUF
X ESC [ D | CUB
X ESC [ E | CNL See ANSI X3.64,
X ESC [ F | CPL screen(HW) and/or
X ESC [ H | CUP MS-DOS Technical
X ESC [ J | ED Reference Manual
X ESC [ K | EL
X ESC [ L | IL
X ESC [ M | DL
X ESC [ P | DCH
X ESC [ S | SU
X ESC [ T | SD
X ESC [ X | ECH
X ESC [ ` | HPA
X ESC [ a | HPR
X ESC [ d | VPA
X ESC [ e | VPR
X ESC [ f | HVP
X ESC [ ? m | SGR
X ESC [ n | DSR (see below)
X ESC [ s | save cursor MS-DOSism
X ESC [ u | restore cursor MS-DOSism
X
X SGR Sequences for ALL TERMINALS
X Sequence | Description | Maps to termcap
X ----------+---------------+-------------------------------
X ESC [ 0 m | normal | "se"+"me"+"ue"
X ESC [ 1 m | bold | "so"
X ESC [ 4 m | underscore | "us"
X ESC [ 5 m | blink | "mb" (XENIX extension)
X ESC [ 7 m | reverse video | "so"
X
X
X
X 2.6.2 Multiscreen Local Terminals
X
X In addition to the above, if you are operating from a color multiscreen,
X additional (SCO and MS-DOS/ANSI.SYS) sequences are supported (see
X screen(HW)):
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 12
X
X
X
X Additional Multiscreen SGR Sequences
X Sequence | Description (no termcap mapping)
X ------------+-----------------------------------------------
X ESC [ 8 m | non-display
X ESC [ 1 0 m | select primary font
X ESC [ 1 1 m | select first alternate font (0x00-0x1F)
X ESC [ 1 2 m | select second alternate font (0x80-0xFF)
X ESC [ 3 0 m | black foreground
X ESC [ 3 1 m | red foreground
X ESC [ 3 2 m | green foreground
X ESC [ 3 3 m | brown foreground
X ESC [ 3 4 m | blue foreground
X ESC [ 3 5 m | magenta foreground
X ESC [ 3 6 m | cyan foreground
X ESC [ 3 7 m | white foreground
X ESC [ 3 8 m | enables underline option
X ESC [ 3 9 m | disables underline option
X ESC [ 4 0 m | black background
X ESC [ 4 1 m | red background
X ESC [ 4 2 m | green background
X ESC [ 4 3 m | brown background
X ESC [ 4 4 m | blue background
X ESC [ 4 5 m | magenta background
X ESC [ 4 6 m | cyan background
X ESC [ 4 7 m | white background
X
X
X
X ECU also does it's best to interpret MS-DOS "SGR gaggles" such as
X
X ESC [ 5 ; 3 4 ; 4 7 m
X
X which means "set the terminal to white background with blue blinking
X foreground."
X
X
X 2.6.3 Character Mapping
X
X The MS-DOS ROM signal ruling characters from the following table are
X mapped after the fashion of:
X
X
X .-----+--------.
X | | |
X | +--------+
X | | |
X +-----+ |
X | | |
X `-----+--------'
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 13
X
X
X
X Mapped Characters (see pc_scr.h):
X Hex | Description
X -----+---------------------------
X 0xDA | top left single rule
X 0xBF | top right single rule
X 0xC0 | bottom left single rule
X 0xD9 | bottom right single rule
X 0xC3 | left hand T
X 0xB4 | right hand T
X 0xB3 | vertical rule
X 0xC4 | horizontal rule
X
X
X (Due to momentary laziness on the part of the author, double ruling
X characters will appear as random druk, unless your terminal is smart
X enough to have joined the Church of the True-Blue ROM. One day an X
X version of this program will appear and you can choose to no longer
X accomplish real work, but may spend your days editing 42Kb resource
X files which will give you TAC, Total Anal Control, over all this.)
X
X
X 2.7 Line Editing
X
X
X When you are entering a line of text for an ecu command or in a field on
X a screen, you may edit it in a number of ways at any time prior to
X pressing Enter. Cursor Left moves the cursofr left by one character
X position, nondestructively. Cursor Right moves to the right. Insert
X toggles insert mode. Backspace (your erase key as specified to stty in
X commands, the actual backspace key in screens) deletes the character to
X the left of the cursor. Your line kill key (as specified to stty) in
X command mode or the ^U character in screen mode erases the entire line.
X Esc in command mode cancels the command. Esc in screen mode usually
X cancels the screen or subfunction in a screen. ^L or ^R in interactive
X command mode shows the current state of Insert mode and redisplays the
X edited string.
X
X
X 2.8 Screen Dump
X
X
X When the "cursor 5" key is pressed, the screen contents are dumped to a
X file. By default, this file is named '~/.ecu/screen.dump'. The sdname
X interactive command either displays or changes the current screen dump
X file name, depending upon whether or not a argument is supplied. The
X scrdump procedure command can initiate a dump.
X
X
X 2.8.1 Multiscreen and Non-Multiscreen
X Note that from multiscreens, screen dump produces a dump of the actual
X screen contents, including ECU-generated output. When using a non-
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 14
X
X
X
X multiscreen terminal, screen dump dumps only the shared memory virtual
X screen as received from the host. If standard input is not a serial
X line (xterm o or /dev/null), screen dumps will be of the non-multiscreen
X type.
X
X If, at a multiscreen, you wish a screen dump free of ECU output
X "pollution," use Shift-Tab (BkTab) to redraw the screen, then perform
X the screen dump.
X
X
X 2.8.2 Multiscreen Bug
X There has been a bug in the multiscreen driver for some time wherein a
X MEDIA COPY (screen dump) sequence ("ESC [ 2 i") leaves the "ESC [ 2"
X part "active". When a screen dump (Cursor 5) command is given, I do the
X sacreen dump, then send a "l" to the screen to work around the bug ("ESC
X 2 [ l" unlocks the keyboard, essentially a no-op). If and when it gets
X fixed, you'll see an "l" show up on your screen after a screen dump
X sequence. To fix this, comment out the
X
X #define MULTISCREEN_DUMP_BUG
X
X at the top of ecuscrdump.c.
X
X
X 2.9 Interactive Command History
X
X
X After pressing the Home key, pressing it again invokes the interactive
X command history function. After the second Home key is pressed, the
X last interactive command is redisplayed. Line editing may be performed
X on the command as described in the previous section.
X
X Additionally, using the Cursor Up key accesses less recent commands.
X The Cursor Down key accesses more recent commands. Pressing Enter
X causes the command to be executed. Pressing Esc aborts command entry.
X
X
X 2.10 Dialing Directory
X
X
X ECU provides an on-line editable dialing directory. Remote systems are
X defined as records using alphanumeric identifiers as keys. Other record
X fields include telephone number, baud rate, parity and textual
X description.
X
X Other features include changing to alternate dialing directory and a
X multi-number redial cycle function. Refer below to the description of
X the interactive dial command.
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 15
X
X
X
X 2.11 Online Command Dictionary
X
X
X The ECU help command presents a display of interactive commands. The
X user is then prompted to enter a command name for further, Unix-style
X "usage" information.
X
X
X 2.12 Multiscreen Event Alarm
X
X
X By using the BN (bell notify) interactive command, an audible alert is
X sent to all multiscreens when an ASCII BEL (bell) is received or when a
X file transfer completes. An additional option causes an alert when ANY
X data is received from the line. This makes it simple to do work on
X other multiscreen consoles and be alerted when attention to the
X communications session is required.
X
X For instance, the Berkeley 4.x Unix utility "talk" rings the bell when
X another user wishes an interactive chat mode. BSD "biff" rings the bell
X when incoming mail is received. Scripts or commands at remote sites can
X be configured to ring the bell as in:
X
X make foo bar; bell; make more_stuff; bell;
X
X to call attention to the ECU user when work is being done on other
X multiscreen consoles.
X
X This feature is only available when you are running ECU from a
X multiscreen.
X
X
X 2.13 Built-in Modem Dialer
X
X
X The built-in ECU dialer supports modems which use the Hayes-style AT
X command set or most variants thereof. It is used when HoneyDanBer UUCP
X is not installed or when there is no entry in the /usr/lib/uucp/Devices
X file for the selected outgoing line. (For more information, see the
X later section titled "HoneyDanBer UUCP Interface".)
X
X The built-in dialer uses files in the /usr/lib/ecu directory which
X contains modem initialization information. Modem initialization
X filenames are made from concatenating the tty name with ".mi". For
X instance, tty1a's initialization file is named "tty1a.mi".
X
X Commands for initializing the modem and for dialing may be specified in
X a very flexible manner. Separate init and dial strings for each legal
X baud rate, a single pair of strings for all baud rates or a combination
X may be specified.
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 16
X
X
X
X Sample Modem Initialization Files
X
X #+-----------------------------------------------------------
X # tty1a.mi - Microcom AX/9624c
X #------------------------------------------------------------
X init_>2400:ATS11=47X4S0=0S7=30Q1X1N3 # baud rates > 2400
X init_default:ATS11=47X4S0=0S7=30Q0X0N0 # other baud rates
X dial_default:ATDT
X
X
X #+-----------------------------------------------------------
X # tty2d.mi - USR Courier 2400
X #------------------------------------------------------------
X init_default:ATS11=47 X4 S0=0 S7=32
X dial_default:ATDT
X
X
X 2.14 File Transfer
X
X
X ECU supports numerous file transfer protocols: as of this writing,
X XMODEM, XMODEM/CRC, XMODEM-1K, YMODEM/CRC Batch, ZMODEM/CRC-16,
X ZMODEM/CRC-32, and Kermit are supported. Although a seamless interface
X (there's some yuppie marketing newspeak) is provided to the user,
X transfer is facilitated by executing external programs.
X
X As of this writing SEAlink is not in the best of health (no one has
X complained :-).
X
X Kermit support required you to obtain and patch C-Kermit 4E. The patch
X information is available in the ckermit subdirectory of the release. As
X soon as C-Kermit 5 is stable and released by Columbia, a suitable patch
X will be developed for it. It is quite possible no patching will be
X necessary.
X
X XMODEM, YMODEM and ZMODEM transfers (thanks to modified public domain
X programs by Chuck Forsberg) present dynamic status displays similar to
X the following:
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 17
X
X
X
X .-[ ecusz 2.37 ]-- /tmp -----------------------------------.
X | ZMODEM/CRC32 Data xfer rate ~= 896 chars/sec |
X | File 1 of 1: ckermit-5a-130 |
X | File position: 34053 length: 34053 -rw-r--r-- |
X | Sending 34053 bytes total time ~= 0:40 |
X | tx: hdr ZFIN 0 rx: hdr ZFIN 0 |
X | Comm I/O: rx 175 tx 34393 bytes |
X | Baud rate: 9600 BINARY blklen: 1024 comm mode: NORMAL |
X | Time: started: 17:31:50 this file: 17:31:51 |
X | 17:32:29 elapsed: 00:00:39 00:00:38 |
X | Errors: this file: 0 total: 0 files skipped: 0 |
X | Total file bytes transferred: 34053 |
X | End of file |
X | Remote: CRC32 y duplex y continuous stream y |
X `- Connected to ki4xo - procedure put_ck5a ----------------'
X
X
X
X 2.15 Procedures (Scripts)
X
X
X A powerful, language-style procedure language is incorporated into ECU.
X The language is described in later sections.
X
X
X 2.16 Initial (Startup) Procedure
X
X
X An initial procedure may be be specified to ECU either to initialize an
X interactive session or to execute an entirely unattended or "batch"
X communication session.
X
X
X
X 2.17 Home Directory Files
X
X
X ECU control files reside in the .ecu subdirectory of each user's home
X directory. For example, in home directory /usr/wht:
X
X /usr/wht/.ecu/dir CD interactive command history file
X /usr/wht/.ecu/keys function key mapping
X /usr/wht/.ecu/nonansikeys function key mapping
X /usr/wht/.ecu/log connect, file transfer history
X /usr/wht/.ecu/phone default dialing directory
X /usr/wht/.ecu/colors colors used by ECU
X
X
X The .ecu directory is also searched for ECU procedure files (having the
X '.ep' extension) in the procedure cannot be found in the current working
X directory.
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 18
X
X
X
X 2.18 Lock Files
X
X
X ECU maintains lock files in /usr/spool/uucp in accordance with the
X HoneyDanBer UUCP conventions (ASCII pids as 10-character strings
X followed by a newline). Lock files are created for the lower-case
X device names of a line and checked for in both cases. For example, both
X LCK..tty1a is created when /dev/tty1a OR /dev/tty1A is selected and
X neither LCK..tty1a nor LCK..tty1A are active. See the later section
X titled "HoneyDanBer UUCP Interface".
X
X
X 2.19 Dial-In/Dial-Out Line Support
X
X
X ECU works with the SCO getty to support dialing out on a line enabled
X for login. After use of the line is complete, ECU signals the system to
X restore incoming call status to the line. See the later section titled
X "HoneyDanBer UUCP Interface".
X
X
X 2.20 Tools
X
X
X Commands are provided for conversion of hexadecimal or decimal numbers
X to and from ASCII equivalents. For example, 26(10) == 0x1a == ^Z ==
X SUB. For details, refer to the description of the XA and AX interactive
X commands.
X
X
X 2.21 Shared Memory 'Friend' Interface
X
X
X ECU maintains a copy of the received screen image (80 x 43 maximum) and
X other information in its shared memory segment. Normally, this
X information is used only by the transmitter and receiver process.
X However, ECU supports the concept of a friend process which may access
X the shared memory segment, perform arbitrary auxiliary operations, read
X from and write to the attached communications line and communicate
X resulting information or status to an ECU procedure via a 1024-byte
X "friend" data area in the shared memory segment.
X
X The procedure language supports the friend process concept through
X commands and functions which allow
X
X + passing the ECU shared memory segment id (%shmid) to a called
X program,
X
X + reading a single character or string of characters from screen
X memory,
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 19
X
X
X
X + reading cursor position information and
X
X + reading and writing of characters, short or long integers and
X strings in the 1024-byte "friend" shared memory data area.
X
X The algorithm for obtaining the shared memory segment key is
X
X 0xEC000000L + transmitter process id
X
X Thus a "friend" process may either use a %shmid shared memory key passed
X as an argument or obtain the shared memory key by using:
X
X key_t shmkey = 0xEC000000L | getppid();
X
X
X This facility allows batch and interactive applications to be developed
X with C programs which would be tedious or impractical to implement with
X procedure language alone.
X
X For more information, refer to the shared memory header file ecushm.h,
X the ecufriend subdirectory of the software release and to the
X description of the %shmid, %cury and %curx procedure functions and the
X getf and putf procedure commands.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 20
X
X
X
X 3. Starting the Program
X
X
X
X 3.1 Simple Startup - Initial Setup Menu
X
X
X ECU may be started in a number of ways through use of command line
X switches, but the easiest is to enter
X
X ecu
X
X by itself. In this case, the screen is cleared and the folowing screen
X will be presented.
X
X
X
X
X .--[ ecu 1.96 Copyright 1986,1989, W. Tucker ]-----------------.
X | |
X | Name/phone number to call: ___________________ |
X | |
X | |
X | tty: /dev/tty1a |
X | |
X | duplex: F baud: 2400 parity:N (data bits 8) |
X | Add NL to transmitted CR: N |
X | Add NL to received CR: N |
X | |
X | |
X | TAB:next ^B:prev END:proceed ^D:phone dir ESC:quit ecu |
X `- logical phone directory entry, phone number or empty -------'
X
X
X
X
X
X 3.1.1 Name/Phone Number Field
X
X If a dialing directory has been configured, a literal phone number need
X not be entered. However, on your first invocation, you'll very likely
X have no directory. Therefore, you have three options:
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 21
X
X
X
X 1. Enter a literal telephone number, (e.g. 18005551212).
X Hyphens and open and close parentheses may also
X be entered.
X
X 2. Press ENTER to skip the 'Name/phone' field and enter
X ^D to enter the telephone directory to enter your
X first directory entry.
X
X 3. Press END to enter interactive mode and use the Dial
X interactive command to dial a literal telephone num-
X ber or to enter the dialing directory.
X
X
X
X 3.1.2 Other Fields
X
X The 'tty' field may be used to select an outgoing line other than the
X default /dev/tty1a. Note: only the last two characters of the tty name
X need be entered. The remainder of the tty name is assumed to be
X '/dev/tty'.
X
X The 'duplex' field may be used to select a duplex value other than the
X default 'F' (full).
X
X The 'baud' field may be used to select a baud rate value other than the
X default 2400.
X
X The 'parity' field may be used to select a parity value other than the
X default 'N' (none).
X
X
X The 'Add NL to transmitted CR' and 'Add NL to received CR' fields are
X usually left defaulted to 'N' (no). If you will be communicating with a
X terminal (with a human), you will usually need to set both of these
X fields to 'Y' as well as to select 'H'alf duplex.
X
X
X 3.1.3 Special Characters
X
X Special keyboard characters while filling in the startup screen are:
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 22
X
X
X
X TAB move to next field ... if nothing typed in
X the field, do not disturb contents
X
X ^B back up to previous field
X
X END proceed with session, dialing remote if
X logical directory entry name or literal
X telephone number enetered
X
X ^D enter phone directory
X
X ESC quit ecu without any communications
X
X
X
X 3.2 Command Line Arguments and Switches
X
X
X ECU can be started in a number of ways:
X
X
X ecu [-lxx] [-b<baud>] [-h] [-e|-o] [-t] <tel-number>
X ecu [-lxx] [-b<baud>] [-h] [-e|-o] [-t]
X ecu [-t] [-h] <logical>
X ecu [-lxx] [-b<baud>] [-h] [-e|-o] [-d] [-D] -p <proc> [<arg> ...]
X
X
X
X 3.2.1 Non-Switch Arguments
X
X Only one type of non-switch argument may be used on the command line.
X <tel-number> or <logical> may appear when the -p switch is absent. One
X or more <arg> arguments may appear when the -p switch is used.
X
X
X 3.2.2 <tel-number>
X
X This type of argument has a digit as its initial character and
X represents an actual telephone number to be passed to a modem dialer
X program or Dialers chat script. The string may contain non-numeric
X characters if appropriate for a dialer program, such as dialTBIT. For
X example:
X
X ecu -l/dev/tty2a -b 19200 -e 5551212UC
X
X uses tty2a (assumed to be connected to a Trailblazer modem) and
X establishes a 19200 baud, even parity PEP Compressed connection after
X dialing 5551212.
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 23
X
X
X
X 3.2.3 <logical>
X
X This type of argument has an alphabetic initial character and causes the
X dialing directory entry by that name to be dialed. The line may be
X specified by '-l', but if the dialing directory specifies a line (tty
X field contaions other than 'Any'), the dialing directory entry will
X override it. The '-b', '-e' and '-o' switches are ignored; the values
X specified by the dialing directory entry are used. The '-t' and '-h'
X switches are valid and honored if present.
X
X
X 3.2.4 <arg>
X
X This type of argument is passed to an initial procedure when the -p
X switch is present.
X
X
X ecu -p unixlogin user pwd ansi43
X
X executes unixlogin.ep with arguments 'user' 'pwd' 'ansi43'
X
X For more detail, refer to the description of -p, -d and -D below.
X
X
X 3.2.5 -l
X
X When ECU starts up, it normally chooses a line as described later in the
X section titled "Choosing a Dialout Line". Specifying the -l switch can
X suggest that the program choose a specific line. The argument to the
X switch is the last two charcters of the ttyname; e.g., "-l1a".
X
X On a system with HoneyDanBerr UUCP, to access a device which does not
X appear in the Devices file, it may be necessary to explicitly specify
X the device with -l.
X
X
X 3.2.6 -f
X Normally, ECU starts up in the full duplex mode. If half duplex is
X desired, the -f switch is used.
X
X
X 3.2.7 -e, -o
X
X Normally, ECU starts up with 8 data bits and no parity. If even parity
X is desired, the -e switch is specified. If odd parity is desired, the
X -o switch is specified.
X
X These switches
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 24
X
X
X
X 3.2.8 -p <procname>
X
X The -p switch causes ECU to execute the procedure <procname>
X ("<procname>.ep") immediately. Such a procedure is termed the initial
X procedure. All non-switch arguments after <procname> are passed as
X arguments to the initial procedure (see the descriptions of the integer
X function %argc and the string function %argv).
X
X
X 3.2.9 -d
X
X The -d switch instructs ECU to "die" (terminate with error status) if an
X initial procedure (-p) fails. This switch ensures a batch ECU execution
X will hang up any connection and terminate if a procedure error occurs.
X See also -D below.
X
X Absence of the -d and -D switches causes ecu (upon any completion of the
X initial procedure) to enter the 1) interactive mode if a line was
X successfully attached by the procedure or 2) the setup menu if no line
X was attached.
X
X
X 3.2.10 -D
X
X The -D switch instructs ECU to unconditionally terminate when an initial
X procedure finishes.
X
X
X 3.2.11 -t
X
X The -t switch instructs ECU to map incoming and outgoing carriage
X returns to carriage return/line feed pairs. This is helpful if the
X remote connection will be to a terminal with a human operator. Use of
X the -h switch is probably also necessary.
X
X
X 3.2.12 -A
X
X Normally, ECU reads the terminal type (TERM environment variable) to
X determine whether or not a terminal is "ANSI"-like or not. -A forces
X ECU to treat the terminal as an ANSI terminal, regardless of the
X contents of the $TERM string.
X
X
X 3.2.13 -N
X
X This switch forces ECU to treat the terminal as a non-ANSI terminal. It
X has the opposite effect of -A. You must have a valid function key
X recognition entry for the $TERM type if this switch is used.
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 25
X
X
X
X 3.3 Environment Variables
X
X
X Prior to starting ECU, it is useful, but not necessary, to establish two
X environment variables, ECUPROMPT and ECUHELP.
X
X
X 3.3.1 ECUPROMPT
X
X The ECUPROMPT environment variable determines the prompt printed by ECU
X when the interactive command key ("HOME") is pressed. When you first
X run ECU, try setting it to your name, e. g.,
X
X setenv ECUPROMPT Ralph if you use csh
X
X ECUPROMPT=Ralph if you use sh, ksh, etc.
X export ECUPROMPT
X
X Then, when you see how it used, you may wish to establish a more
X permanent choice in your .login or .profile.
X
X
X 3.3.2 ECUHELP
X
X Ordinarily, ECU looks for interactive command help information in
X "/usr/lib/ecu/ecuhelp.data". The ECUHELP environment may be set to the
X complete pathname of the ecu help file if an alternate file is to be
X used.
X
X The help file is explained later in the section titled "Online Command
X Dictionary".
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 26
X
X
X
X 4. Interactive Mode Commands
X
X
X The following is a partial list of commands available in the interactive
X (non-procedure) mode. It is not necessary to to enter the entire
X command in most cases. The portion of each command which must be
X entered is capitalized in the following section headers.
X
X Refer to the sections titled Interactive Command History and Line
X Editing for more information.
X
X
X 4.1 AX : ascii char to hex/oct/dec
X
X usage: ax [<param>]
X
X
X <param> may be a single ASCII character, a standard ASCII identifier
X (such as ETX), or a two-character control character identifier (such as
X ^C, typed as a caret followed by a C).
X
X If no argument is supplied, a table of control characters is printed
X containing decimal, octal, hex, ASCII identifiers and two-character
X control character identifier.
X
X
X
X 4.2 BAud : set/display line baud rate
X
X usage: baud [<baud-rate>]
X
X
X <baud-rate>, if specified, must be taken from the values 110, 300, 600,
X 1200, 2400, 4800, 9600, 19200 and 38400. On some systems, 19200 and
X 38400 may not be supported. If baud rate 110 is selected, 2 stop bits
X are automatically specified; other baud rates set 1 stop bit. If
X <baud-rate> is not supplied, the current baud rate is displayed.
X
X The setting may be automatically changed as the result of a 'dial'
X command. See also the dial and parity command descriptions.
X
X
X
X 4.3 BN : all console event alarm
X
X usage: bn [ 0 | 1 | 2 ]
X
X
X "bell notify": If no argument is supplied, the current setting is
X displayed. Specifying 0 disables the facility; 1 causes an audible
X alarm to be sounded on all of the XENIX virtual consoles upon receipt of
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 27
X
X
X
X a bell (0x07) character from the remote system; 2 causes an audible
X alarm to be sent to all consoles upon receipt of ANY characters from the
X remote system. A non-zero value also causes an audible alarm to be sent
X to all console upon the successful completion of a 'redial' command
X which must retry more than one redial attempt or upon completion of a
X file transfer operation.
X
X Different alarms are sent depending upon the the type of event causing
X the alarms.
X
X BN is set to 1 when ECU begins executing.
X
X The setting of this command has no effect if ECU is not run from a
X multiscreen.
X
X
X 4.4 BReak : send break to remote
X
X usage: break
X
X
X This command sends a break signal to the remote system.
X
X
X
X 4.5 CD : change current directory
X
X usage: cd [<dir-path>]
X
X
X This command allows you to change the working directory of the ECU
X process. If <dir-path> is supplied, the previous working directory is
X displayed, and <dir-path> is made the new working directory. A history
X of previous directory changes is maintained. Entering the cd command
X shows the numbered history list and allows you to select a new directory
X by entering the number. Other commands allow deletion of directories
X from the list or saving the list to file ~/.ecu/phone. This file is
X automatically read at ECU startup, providing a convenient list of
X directories available for quick selection.
X
X
X
X 4.6 DA : decimal to ascii char
X
X usage: da [<decimal-val>]
X
X
X <decimal-val> is a decimal value between 0 and 0377; the parity (sign)
X bit is stripped and the equivalent ASCII character value is displayed.
X
X If no argument is supplied, a table of control characters is printed
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 28
X
X
X
X containing decimal, octal, hex, ASCII identifiers and two-character
X control character identifier.
X
X
X
X 4.7 Dial : dial remote destination
X
X usage: dial [<dial-param>]
X
X
X <dial-param> may take one of two forms, a telephone number to dial or a
X logical name which can be found in the user phone directory (in file
X ~/.ecu/phone).
X
X If a telephone number is supplied, the phone number is dialed; you must
X first have set the desired baud rate and parity using the baud and
X parity commands.
X
X If a logical name is entered, the phone directory is searched; if the
X entry is found, the baud rate and parity is automatically set. If a
X procedure file can be found in the current directory or the users home
X .ECU subdirectory whose name matches the logical name, then the
X procedure is executed with the argument '!INTERACTIVE'.
X
X If <dial-param> is not supplied, then a screen-oriented self-documenting
X <:-)> directory manager is executed; you may scan the the directory to
X select a number to dial, as well as add, remove and edit entries.
X
X 4.7.1 Alternate Dialing Directory
X
X The default dialing directory is ~/.ecu/phone. You may change to
X another directory by issuing the interactive dial command with no
X arguments to enter the dialing directory menu, selecting 'c'hange dial
X directory, and entering the name of a new directory. The specified
X pathname must either be a fully qualified pathname or a pathname
X relative to the current working directory. Once an alternate directory
X has been selected, it will be used by both the interactive command 'dial
X <logical>' and the dialing directory menu.
X
X See the section below titled "Choosing a Dialout Line" for more
X information on using "Any" in the "tty" field of a directory entry.
X
X
X 4.7.2 Multi-Number Redial Cycle
X
X While in the dialing directory, you may "mark" one or more entries for
X a cyclical redial attempt. When any entry is marked, typing ENTER
X (carriage return or line feed/newline) causes each marked entry to be
X dialed in turn until one of the remote systems is successfully
X connected. When a successful connection occurs, ECU unmarks the
X associated entry, leaving the others marked. Thus, you may mark several
X
X
X
X Public Domain by wht at n4hgf 12/26/90
X
X
X
X
X
X
X
X ECU Technical Description 29
X
X
X
X entries and merely reenter the dialing directory after each connection
X is finished and press ENTER to reenter the redial cycle. If a single
X entry is marked, ECU pauses 15 seconds between each dialing attempt,
X otherwise 5 seconds. Presing 'c' will cause the pause to be prematurely
X terminated and the next attempt to be made. Pressing your interrupt key
X (DEL, ^C or whatever) aborts the cycle. If you interrupt an active
X dialing attempt, you will be prompted as to whether or not you wish to
SHAR_EOF
true || echo 'restore of doc/ecu.man failed'
echo 'End of ecuman3 part 1'
echo 'File doc/ecu.man is continued in part 2'
echo 2 > _shar_seq_.tmp
exit 0
--------------------------------------------------------------------
Warren Tucker, TuckerWare emory!n4hgf!wht or wht at n4hgf.Mt-Park.GA.US
Hacker Extraordinaire d' async PADs, pods, proteins and protocols
exit 0 # Just in case...
--
Kent Landfield INTERNET: kent at 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 at uunet.uu.net.
More information about the Comp.sources.misc
mailing list