home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-15 | 57.0 KB | 1,862 lines |
- Newsgroups: comp.sources.misc
- From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
- Subject: v32i077: ecuman - Manual for ECU comm package rev 3.20, Part01/05
- Message-ID: <csm-v32i077=ecuman.115248@sparky.IMD.Sterling.COM>
- X-Md4-Signature: 9f20ead356f27ef5dd07e2074315e013
- Date: Tue, 15 Sep 1992 16:54:20 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
- Posting-number: Volume 32, Issue 77
- Archive-name: ecuman/part01
- Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
- Supersedes: ecuman: Volume 21, Issue 90-93
-
- This is the documentation for ECU 3.20.
-
- ---- Cut Here and feed the following to sh ----
- #!/bin/sh
- # This is ecuman320, a shell archive (shar 3.461)
- # made 09/10/1992 19:51 UTC by wht@n4hgf.Mt-Park.GA.US
- # Source directory /u1/src/ecu
- #
- # existing files will NOT be overwritten unless -c is specified
- #
- # 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
- # ------ ---------- ------------------------------------------
- # 126187 -rw-r--r-- doc/ecu.man
- # 117987 -rw-r--r-- doc/proc.man
- #
- 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
- if test -f 'doc/ecu.man' -a X"$1" != X"-c"; then
- echo 'x - skipping doc/ecu.man (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting doc/ecu.man (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'doc/ecu.man' &&
- X
- X
- X
- X
- X
- X
- X
- X ECU
- X
- X (Extended Call Utility)
- X
- X
- X
- X
- X
- X
- X Research and Engineering
- X Asynchronous Communications Package
- X for SCO UNIX 3.2 and XENIX System V,
- X ISC 386/ix 2.2 (or later),
- X SunOS 4.1, ISC System V Release 4
- X and ESIX System V Release 4
- X
- X
- X
- X
- X
- X
- X Warren H. Tucker, III <wht@n4hgf.Mt-Park.GA.US>
- X
- X
- X
- X Technical Description
- X Revision 3.20
- X 9/7/92
- X
- X
- X
- X
- X
- X
- X NOTE: Many sections of the manual are likely to be inaccurate or
- X obsolete at any given time until the writer get lots of free time. Much
- X of it was written when the program was supported only on SCO XENIX and
- X UNIX. Usually, I took the extra time to throw -something- in the manual
- X and online help. I did not always go back and indicate which features
- X are not supported by a later` port.
- X
- X Many of the features of ECU were written under extreme time pressure.
- X While the program code is usually reliable, the manual is a joke from
- X many points of view, organization, consistency, content -- you name it.
- X You'll see comma splices, incomplete sentences or even incorrect
- X information. You may find the correct information in a README or in
- X RELEASENOTES, or in another part of the manual. Of course, there is the
- X code! If you find information that seems incorrect, PLEASE mail a
- X report to the author.
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 2
- X
- X
- X
- X 1. Introduction
- X
- X
- X ECU (Extended Call Utility) is a personal and research communications
- X program originally written for users of SCO UNIX V.3.2/386 and XENIX V
- X on 80286 and 80386 systems. Support for other systems has been added
- X and further porting is possible with "minor" effort to other systems
- X based on or similar to UNIX System V. This preliminary document
- X describes ECU functionality and implementation from a technical point of
- X view and provides at least rudimentary documentation for its features
- X and commands.
- 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. In addition to augmenting
- X interactive tasks, by using shell scripts and ECU procedures, ECU can
- X perform batch-style communications sessions in an entirely "unattended"
- X fashion. Because of limitations of my nroff program, the procedure
- X language is described in a separate document.
- 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 Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 3
- 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 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 4
- 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 The BackTab (shift Tab) key is permanently mapped to a screen redisplay
- X 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 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 5
- 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 console terminal in use. This includes support for
- X the MS-DOS "save cursor" and "restore cursor" sequences. More
- X information may be found later in "Supported Terminals."
- 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
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 6
- X
- X
- X
- X 3. Features
- X
- X 3.1 Supported Terminals
- X
- X
- X ECU supports many terminals with geometries between 20 and 43 lines,
- X inclusive. The column width must be 80. The termcap entry for a
- X console (user tty rather than the line) MUST contain a valid entry for
- X the database entries listed below.
- 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 100 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 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 it's primary mode of operation (keyboard
- X send-receive). Unlike curses, ECU makes no attempt to emulate missing
- X terminal functionality. Failure to provide valid entries will result in
- X strange behavior with no warning.
- X
- X Note that the formal termcap description of "kl" and "kr" state these
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 7
- X
- X
- X
- X are sequences generated by the terminal keyboard, but ECU expects that
- X these sequences also cause the desired effects 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 On SCO, termcap terminal contrtol is used. Other versions use terminfo.
- X A future SCO version of ECU may use terminfo instead of termcap.
- X Problems with terminfo prevent its use at the present time. In
- X addition, early versions of XENIX do not support terminfo.
- X
- X On SCO multiscreens, SCO "extensions" to "ANSI" are supported as
- X described below in "Multiscreen Local Terminals."
- X
- X
- X 3.2 Host Video Control Sequences
- X
- X
- X
- X 3.2.1 All Local Consoles (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
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 8
- 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
- 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 3.2.2 Multiscreen Local Terminals
- X
- X In addition to the above, if you are operating from an SCO color
- X multiscreen, additional (SCO and MS-DOS/ANSI.SYS) sequences are
- X supported (see screen(HW)):
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 9
- 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 3.2.3 Character Mapping
- X
- X Most versions of ECU running on an AT style machine attempt to use the
- X ruling characters in the video display adapter's ROM per:
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 10
- 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 On non-AT machines (or in such environments as X11), the PC ROM single
- X ruling characters from the following table are mapped after the fashion
- X of:
- X
- X .-----+--------.
- X | | |
- X | +--------+
- X | | |
- X +-----+ |
- X | | |
- X `-----+--------'
- X
- X
- X (Due to laziness on the part of the author, double ruling characters
- X will appear as random druk, unless your terminal has joined the Church
- X of the True-Blue ROM. One day an X version of this program may appear
- X and you can choose to no longer accomplish real work, but may spend your
- X days editing 42Kb resource files which will give you TAC, Total Anal
- X Control, over all this.)
- X
- X
- X 3.3 Function Key Mapping (Recognition)
- X
- X
- X (This section reflects the changes in keyboard management made in
- X version 3.20.)
- X
- X ECU recognizes 23 function keys as having special significance to its
- X operation. They are:
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 11
- X
- X
- X
- X Name Description
- X -------- ------------
- X F1 F1
- X F2 F2
- X F3 F3
- X F4 F4
- X F5 F5
- X F6 F6
- X F7 F7
- X F8 F8
- X F9 F9
- X F10 F10
- X F11 F11
- X F12 F12
- X Home Home
- X End End
- X PgUp Page up
- X PgDn Page down
- X CUU Up arrow
- X CUD Down arrow
- X CUL Left arrow
- X CUR Right arrow
- X CU5 "Cursor 5"
- X Ins Insert
- X BkTab Back Tab
- X
- X
- X ECU matches a function key sequence to an internal function key
- X representation by testing all keystroke sequences against an internal
- X table loaded at the beginning of execution from the file
- X ~/.ecu/funckeymap. A default funckeymap file placed in the ECU library
- X directory (normally /usr/local/lib/ecu) by the software installation
- X process. If there is no funckeys in the user's home directory, the
- X default file is used.
- X
- X NOTE that supported terminals MUST employ function keys which generate
- X sequences less than 32 characters in length.
- X
- X X11 xterms and X terminals usually require special attention with
- X VT100.Translations overrides. Sometimes an xmodmap must also be
- X employed. Experimentation is the best teacher, but the supplied
- X funckeymap file and various READMEs offer some hints. In particular,
- X README.KEYBRD contains information that is kept current.
- X
- X Several predefined entries are supplied with the program distribution in
- X models/funckeymap. If you have a terminal or console with a keyboard
- X not already in this file, you must construct one using the terminal's
- X reference manual or by direct discovery (typing the key and empricially
- X noting its generated sequence). The program kbdtest3 (the source is
- X provided in the distribution) can assist you in building funckeymap
- X entries. certain keys are pressed. kbdtest.c is a more primitive
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 12
- X
- X
- X
- X version of the same program.
- X
- X Normally, the TERM environment variable is used to determine the
- X funckeymap entry to be used. Sometimes, the TERM variable is not
- X adequate for identifying your keyboard arrangement. For instance,
- X suppose you use an xterm on the console at times and an X terminal at
- X other times. The choice of function keys and the character sequences
- X they emit are not likely to match. Rather than make herculean efforts
- X with xmodmap and translations, you can define two different funckeymap
- X entries, say "xterm-sco" and "xterm-ncd". The environment variable
- X ECUFUNCKEY, if found, overrides the TERM variable for funckeymap
- X keyboard management only. TERM is always used for identifying the
- X display. Thus, you can set TERM to "xterm" and ECUFUNCKEY to "xterm-
- X sco" OR "xterm-ncd". Also, the -F command line switch may be used
- X (which overrides $ECUFUNCKEY).
- X
- X The format of an file entry is shown below. Lines beginning with '#'
- X are comments.
- X
- X
- X #+------------------------------
- X # SCO
- X #-------------------------------
- X ansi
- X ansi43
- X sco
- 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 13
- X
- 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 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 keyboard (such as "F16" for End on the Wyse
- X 60). The third field is a description of the character sequence
- X generated by the keyboard when the chosen key is pressed; it is a string
- X of one or more tokens separated by spaces or tabs.
- X
- X In addition, function key sequences may not exceed 31 characters in
- X length.
- 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 3.4 Function Key Actions
- X
- X
- X This section deals with how ECU behaves once a function key has been
- X recognized as having been entered at the keyboard.
- X
- X
- X 3.4.1 Standard Function Keys
- X
- X All function keys with the exception of the Home, BkTab (shift TAB), and
- X keypad unshifted 5 key can be programmed to transmit preselected
- X character sequences when the key is pressed.
- X
- X The default values for these sequences is shown below.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 14
- X
- X
- X
- X Identifier Description Default 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 <-- intercepted (not an input key)
- 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" <-- intercepted (not an input key)
- X Ins Insert ESC [ L
- X
- X
- X This results in the following interactive "fkey" command display:
- X
- X F1 SCO F1 F2 SCO F2 Home ecu cmd PgUp SCO PgUp
- X F3 SCO F3 F4 SCO F4 End SCO End PgDn SCO PgDn
- X F5 SCO F5 F6 SCO F6 Ins local shell CUR5 screen dump
- X F7 SCO F7 F8 SCO F8 BkTab redisplay
- X F9 SCO F9 F10 SCO F10 CUR^ SCO CUU CUR> SCO CUR
- X F11 SCO F11 F12 SCO F12 CUR< SCO CUL CURv SCO CUD
- X
- X
- X You may override the default setting by using the interactive or
- X procedure command "fkey" to specify a new keyset definition from
- X ~/.ecu/keys.
- X
- X Function keyset definitions are appended one after another to
- X ~/.ecu/keys. The keyset name appears on a line by itself and the
- X choices making up a set appear on subsequent lines of a special format.
- X
- X A keyset is loaded explicitly using "fkey" and implicitly when
- X connecting to a remote system and a keyset name matches the dialing
- X directory entry name.
- X
- X Consider the example:
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 15
- X
- X
- 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 The key definition lines are made up of three fields. In addition,
- X there must be a blank or a space in the first column of the line. The
- X first field is the ECU key identifier from the table above. The second
- X field is a 12-character max string to display when the display option of
- X the fkey command is used. The last field is a character sequence to be
- X transmitted when the key is pressed.
- X
- X The resulting fkey display for the stratus example looks similar to:
- 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 Pressing F1, causes the three characters ESC, 'O' and 'q' to be
- X transmitted.
- X
- X
- X 3.4.2 SCO ALT-[a-z] Function Keys
- X
- X If you are on an SCO machine and you have installed the custom ECU
- X mapkey file (as described in the release directory in mapkeys/README),
- X then ALT-a through ALT-z causes the "silent" execution of procedures
- X 'alt_a.ep' for ALT-a, 'alt_b.ep' for ALT-b, etc. The models
- X subdirectory contains an example alt_h.ep which will home the cursor
- X when ALT-h is pressed. This facility allows the execution of 26
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 16
- X
- X
- X
- X procedures without ECU itself changing the video display at all. Any
- X changes to the display (short of procedure errors) will result solely
- X from the action of the invoked procedure. If the procedure matching the
- X ALT-[a-z] key pressed cannot be found, a short error message is printed
- X and the terminal bell is rung. (Using back tab may be used to refresh
- X the display in this event.)
- X
- X NOTE: ECU 3.10 CHANGES TO THE SINGLE KEY PROCEDURE FUNCTIONALITY MAKE IT
- X NECESSARY FOR YOU TO REVIEW mapkeys/README IF YOU HAVE USED THIS FEATURE
- X IN PREVIOUS REVISIONS.
- 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 NUL may not appear in a function key definition
- X
- X 0x00 nul 0x10 dle
- X 0x01 soh 0x11 dc1
- X 0x02 stx 0x12 dc2
- X 0x03 etx 0x13 dc3
- X 0x04 eot 0x14 dc4
- X 0x05 enq 0x15 nak
- X 0x06 ack 0x16 syn
- X 0x07 bel 0x17 etb
- X 0x08 bs 0x18 can
- X 0x09 ht 0x19 em
- X 0x0A nl 0x1A sub
- X 0x0B vt 0x1B esc
- X 0x0C np 0x1C fs
- X 0x0D cr 0x1D gs
- X 0x0E so 0x1E rs
- X 0x0F si 0x1F us
- X 0x20 sp
- X 0x7F del
- X
- X
- X
- X 3.5 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 cursor 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 17
- X
- X
- X
- X edited string.
- X
- X
- X 3.6 Screen Dump
- 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 an argument is supplied. The
- X scrdump procedure command can initiate a dump.
- X
- X Note that from an SCO multiscreen, screen dump produces a dump of the
- X actual screen contents (it is obtained from the video driver), including
- X ecu-generated output. When using a non-multiscreen terminal, screen
- X dump dumps only the shared memory virtual screen as received from the
- X host.
- 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. If you are not on a multiscreen, then the screen dump
- X comes from the (sometimes inexact) screen memory representation and this
- X step is not necessary.
- X
- X
- X 3.6.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 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 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 3.6.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 screen 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 18
- X
- X
- X
- X 3.7 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 3.8 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 While a long entry in a field may be truncated on the display, when the
- X entry is edited, it's full contents will be dispalyed on the edit
- X subform.
- X
- X Entering or editing a dialing directory entry is for the most part
- X straightforward. A note on the use of the "tty" field is useful,
- X however. When prompted for a tty, you may choose
- X
- X + "Any" line (deprecated, for compatibility only)
- X
- X + a tty line matching a Devices type
- X
- X + a specific tty line
- X
- X A specific line is chosen by using the base name of the tty (e.g.,
- X "tty1a" or "acu0"). On SCO, since ttys are all named consistently
- X according to the "/dev/ttyxx" form, you may omit the "tty" (e.g., "1a"
- X or "4g"). This latter feature is for compatibility with earlier
- X revisions of ECU. It is good practice to fully specify the tty name.
- X
- X "Any" matches any tty line in the /usr/lib/Devices file supporting the
- X specified baud rate and whose Devices type begins with the characters
- X (case independent) "ACU". This choice is provided to be compatible with
- X earlier versions of ECU (prior to 3.10). Use of this argument is
- X discouraged. It's equivalent in current practice is "/ACU", as you can
- X see next.
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 19
- X
- X
- X
- X A more general choice for choosing a tty line based on Devices type is
- X the "Devices type matching" choice, invoked by prefixing the tty field
- X with a slash or equals sign.
- X
- X
- X + / prefix searches for a Devices type matching a regular expression
- X (a la sed or ed)
- X
- X + = prefix searches for an exact match on a Devices type
- X
- X
- X Examples:
- X
- X =ACU matches "ACU", fails on "acu" and "ACUx"
- X /.*tbit.* matches "ACUtbit1", "tbit"
- X
- X
- X A specific tty line may also be specified. This is the only means of
- X attaching a line not mentioned in the Devices file.
- X
- X NOTE: If the bell rings and you are not allowed to leave a field, it is
- X because you MUST enter acceptible data before you can leave a field
- X using other than the ESCape key.
- X
- X The "debug level" parameter allows you to specify a number between 0 and
- X 9 for passing to a UUCP dialer program with the -x switch.
- X
- X The "DCD watch" parameter allows you to modify the DCD watcher upon
- X successful connection to a remote. The values allowed are:
- X
- X 1 enable DCD watcher
- X 0 disable DCD watcher
- X t terminate ECU on loss of DCD
- X n no change of dcdwatch state
- X
- X Specifying 'n' leaves the dcdwatch state unaffected. See the
- X description of the dcdwatch interactive command for more information.
- X
- X The following sample dialing directory screen shows an edit in progress.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 20
- X
- X
- X
- X .--[ dialing directory ]-- /u1/wht/.ecu/phone --------- modified ---.
- X | entry name | telephone number | tty | baud P | description |
- X | ...... | ........ |Any | 2400 N | ............... |
- X | li.--[ entry: new ]--------------------------------------------. |
- X | ..| | |
- X | ..| telephone number 1(800)555-1212 | |
- X | ..| device =ACUtbit |..|
- X | ..| baud rate 19200 |..|
- X | ..| parity N | |
- X | ..| description don't call this_________________________ |..|
- X | ..| debug level 0 (dialer -x value 0-9) | |
- X | ..| DCD watch n | |
- X | ..| Enter description |..|
- X | ..| ESC: abort End: finish ^U: erase ^B: back TAB: fwd | |
- X | ..`------------------------------------------------------------' |
- X | ..... | .......... |2b | 9600 N | ...................|
- X | sco19 | 1(408)426-9525p |2b | 9600 N | SCO Tech Services |
- X | sco24 | 1(408)426-9495 |2b | 2400 N | SCO Tech Services |
- X +-------------------------------------------------------------------+
- X |down up edit add remove save find change dial dir ENTER:dial quit |
- X |redial: mark unMark Unmark all wait between dial |
- X `-------------------------------------------------------------------'
- X
- X
- X You may use the vi conventions of 'j' for down and 'k' for up. You may
- X also use the up and down arrow keys if you are on an SCO multiscreen or
- X if the function keys have been properly defined with funckeymap.
- X
- X
- X 3.9 Online Interactive Command Help
- 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 3.10 Multiscreen Event Alarm
- X
- X
- X On an SCO machine, by using the BN (bell notify) interactive command, an
- X audible alert is sent to all multiscreens when an ASCII BEL (bell) is
- X received or when a file transfer completes. An additional option causes
- X an alert when ANY data is received from the line. This makes it simple
- X to do work on other multiscreen consoles and be alerted when attention
- X to the 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
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 21
- X
- X
- 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 3.11 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 ecu library 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 Sample Modem Initialization Files
- X
- X #+-----------------------------------------------------------
- X # tty1a.mi - Microcom AX/9624c
- X #------------------------------------------------------------
- X init_>2400:ATS11=47X4S0=0S7=30\Q1\X1\N3 # baud rates > 2400
- X init_default:ATS11=47X4S0=0S7=30\Q0\X0\N0 # other baud rates
- X dial_default:ATDT
- 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
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 22
- X
- X
- X
- X 3.12 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, C-Kermit and SEAlink are supported. ` Although a
- X seamless interface (there's some yuppie marketing newspeak) is provided
- X to the user, transfer is facilitated by executing external programs.
- X
- X Kermit support requires you to obtain C-Kermit version 5A or later. You
- X may also patch C-Kermit 4E to work with ECU (The patch information is
- X available in the ckermit subdirectory of the ECU release). C-Kermit 5
- X is in beta release as of this writing and supports ECU without
- X modification.
- 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 .-[ ecusz 3.20 ]-- /tmp -------------------------------.
- X | ZMODEM/CRC32 data rate ~= 900 ch/sec (94%) T |
- X | File 1 of 1 : /t/ecu320cpio.Z |
- X | File position: 617472 length: 915263 -rw-r--r-- |
- X | Total transaction 915263 bytes (xfer time ~= 17:29) |
- X | tx: D32 ZCRCG 1024 rx: HEX ZACK 605184 |
- X | Comm I/O: rx 917 tx 650041 bytes |
- X | Baud rate: 9600 BINARY blklen: 1024 comm mode: RAW |
- X | Time: started: 13:39:34 this file: 13:39:35 window: |
- X | 13:51:34 elapsed: 00:12:00 00:11:59 +12288 |
- X | Errors: this file: 2 total: 2 files skipped: 0 |
- X | |
- X | This file 67%, transaction 67% complete |
- X | Remote: CRC32 y duplex y continuous stream y |
- X `- Connected to tridom --------------------------------'
- X
- X
- X During file transfer, data rates are displayed from time to time. While
- X the figures may vary significantly during the transfer, bear in mind the
- X calculations are for actual data throughput, measured as total DATA
- X characters transferred from the time the file is opened until it is
- X closed. So, if the data rate appears to be low at the start of the
- X transfer and increase over time, perhaps it took a significant amount of
- X time for the receiver to open it's file or to respond to protocol
- X startup stimuli. If the data rate appears to be higher at the beginning
- X and become lower over time, perhaps flow control is being invoked. A
- X sudden reduction in the "last file" or "transaction" data rate over the
- X in progress rate reflects the time required to close files, operate the
- X protocol or to skip files (in the case of ZMODEM). If any files are
- X skipped in a session, you may be sure the transaction rate will be
- X (perhaps much) lower than the per-file rate.
- X
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 23
- X
- X
- X
- X On some systems and driver options, sundry driver statistics are
- X displayed during X/Y/ZMODEM transfers. For instance, in the above
- X display from a Sun session. the driver's current output and input queue
- X depths and input queue space available are displayed along with the
- X current status of RTS and CTS. While such gay banter is rightly
- X relegated to the "bell and whistle" category, it does provide a rare
- X insight into driver operation. The ECU FAS/i driver for 386 systems
- X (after Uwe Doering's FAS driver) provides other information.
- X
- X
- X | Output queue depth 0 RTS T CTS T |
- X | Input queue depth 10 Input queue avail 490 |
- X
- X
- X
- X
- X 3.13 Automatic ZMODEM Receive
- X
- X ECU in the interactive mode (no procedure executing) can interpret a
- X SUB, 'B', '0', '0' receive data sequence as a ZMODEM ZRQINIT frame and
- X automatically begin a ZMODEM receive operation. The autorz interactive
- X and procedure commands control this feature. By default, this feature
- X is turned on.
- X
- X
- X 3.14 Procedures (Scripts)
- X
- X A powerful, language-style procedure language is incorporated into ECU.
- X The language is described in the companion "Procedure Language" manual.
- X
- X Procedures are files of programmatic instructions written in the ECU
- X procedure language invoked explicitly by the do interactive command or
- X automatically by ECU functions described below. Procedures are invoked
- X by name, and result in execution of the file name.ep.
- X
- X The file is searched for in the current directory. If not found there,
- X ECU checks your personal .ecu subdirectory. If not there, the ECU
- X library "ep" subdirectory is searched (e.g., /usr/local/lib/ecu/ep).
- X
- X
- X 3.14.1 Initial (Startup) Procedure
- 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. Refer to the section on command switches ("-p").
- X
- X
- X 3.14.2 Dialing Procedure
- X When a named dialing entry is selected for calling, if a procedure can
- X be located using the above mentioned search sequence whose name matches
- X the name of the directory, then all of the usual ECU built-in dialing
- X procedure is bypassed and the procedure is used. For details, refer to
- X
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 24
- X
- X
- X
- X other sections related to dialing.
- X
- X 3.14.3 Other Special Procedures
- X Other special procedures may be invoked when
- X
- X + ecu starts up (_rc.ep)
- X
- X + a connection is established (_connect.ep)
- X
- X + an attempted connection fails (_connfail.ep)
- X
- X + a connection is terminated with the hangup command (_hangup.ep)
- X See the ECU procedure manual for details.
- X
- X
- X 3.15 DCD (Carrier) Watcher
- X
- X ECU can be instructed to monitor DCD (carrier) status on any tty line
- X whose driver honors dynamic manipulation of the CLOCAL control bit. ECU
- X may be instructed to ignore DCD (the default state). In such a state,
- X if carrier is lost after a connection has been made, ECU is unaware the
- X connection has been lost. An interactive stat command will show the
- X connection still active.
- X
- X When the DCD watcher is enabled, loss of carrier will cause the hangup
- X command processing to automatically be executed (including execution of
- X the special procedure _hangup.ep if any can be found).
- X
- X An additional mode is available which, in addition to the hangup
- X processing, causes ecu to terminate execution.
- X
- X The dcdwatch interactive and procedure commands control this feature.
- X In addition, each dialing directory entry has a field specifying whether
- X or not the DCD watcher status is to be changed upon connecting to the
- X remote system and if so, to what state. Refer to the description of the
- X dcdwatch and dial commands for details.
- X
- X
- X 3.16 Home Directory Files
- 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/funckeymap 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 25
- X
- X
- X
- X * The ecu library directory (normally /usr/local/lib/ecu) is searched
- X for the "keys", "colors" and "funckeymap" file if a personal version
- X cannot be found.
- X
- X % The "colors" file does not apply to systems on which color is not yet
- X supported.
- X
- X The .ecu directory is searched for an ECU procedure file (having the
- X '.ep' extension) if the procedure file cannot be found in the current
- X working directory.
- X
- X
- X 3.17 Lock Files
- X
- X
- X ECU maintains lock files in the standard directory in accordance with
- X the HoneyDanBer UUCP conventions (ASCII pids as 10-character strings
- X followed by a newline). If porting to a machine with old-style integer
- X pids, grep for HONEYDANBER in the sources for hints on where changes are
- X needed.
- X
- X Standard lock directories for versions supported as of this writing:
- X
- X SCO /usr/spool/uucp
- X ISC /usr/spool/locks
- X SunOS, SVR4 /var/spool/locks
- X
- X
- X World write access to this directory must be in effect.
- X
- X See the later section titled "HoneyDanBer UUCP Interface".
- X
- X
- X 3.18 Dial-In/Dial-Out Line Support
- X
- X
- X On SCO XENIX and UNIX 3.2 systems, ECU works with the SCO getty to
- X support dialing out on a line enabled for login. After use of the line
- X is complete, ECU signals the system to restore incoming call status to
- X the line. See the later section titled "HoneyDanBer UUCP Interface".
- X
- X This facility is not supported in other environments as of this writing.
- X Scan the distribution README.* files for any updates.
- X
- X
- X 3.19 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 26
- X
- X
- X
- X commands.
- X
- X
- X 3.20 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 + 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 Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 27
- X
- X
- X
- X 4. Starting the Program
- X
- X
- X
- X 4.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 following
- X screen, called the setup screen, will be presented.
- X
- X .--[ ecu 3.20-386u wht@n4hgf ]---------------------------------.
- X | |
- X | Destination ________________________________________ |
- X | |
- X | |
- X | |
- X | tty: /dev/tty2b |
- X | |
- X | duplex: F baud: 9600 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 Several choices may be made by navigating the setup screen. When you
- X position to a field, helpful text is displayed on the bottom line of the
- X form.
- X
- X It is important to note that you may not exit this screen into ECU
- X operation without opening a communications line.
- X
- X The initial (default) values for some of the fields may be modified by
- X command line switches or by the special procedure "_rc.ep". Also,
- X entering a dialing directory entry name in the 'Destination' field and
- X pressing Return will override the defaults with the values in the
- X directory entry. See the sections related to dialing and the section in
- X the Procedure Language manual titled "_rc.ep".
- X
- X
- X 4.1.1 Destination
- 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
- X
- X
- X Public Domain by wht@n4hgf 9/7/92
- X
- X
- X
- X
- X
- X
- X
- X ECU Technical Description 28
- X
- X
- X
- X have no directory. Therefore, you have three options:
- 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 'Destination' 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 to communicate
- X directly with the attached DCE (modem).
- SHAR_EOF
- true || echo 'restore of doc/ecu.man failed'
- fi
- echo 'End of ecuman320 part 1'
- echo 'File doc/ecu.man is continued in part 2'
- echo 2 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
-