home *** CD-ROM | disk | FTP | other *** search
- From: wht@n4hgf (Warren Tucker)
- Newsgroups: comp.sources.misc
- Subject: v16i022: ECU async comm package rev 3.0 manual, Part01/03
- Message-ID: <1991Jan5.062211.3862@sparky.IMD.Sterling.COM>
- Date: 5 Jan 91 06:22:11 GMT
- Approved: kent@sparky.imd.sterling.com
- X-Checksum-Snefru: cd8c975d 81aa3d38 372b91df 3e20f47c
-
- Submitted-by: Warren Tucker <wht@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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.
-