home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-14 | 56.9 KB | 1,650 lines |
- Newsgroups: comp.sources.misc
- From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
- Subject: v32i071: ecu - ECU Asynchronous Communications v3.20, Part36/40
- Message-ID: <1992Sep15.153640.20828@sparky.imd.sterling.com>
- X-Md4-Signature: a9f4363a63f03edd062665b870f38a57
- Date: Tue, 15 Sep 1992 15:36:40 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
- Posting-number: Volume 32, Issue 71
- Archive-name: ecu/part36
- Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
- Supersedes: ecu: Volume 21, Issue 53-89
-
- ---- Cut Here and feed the following to sh ----
- #!/bin/sh
- # this is ecu320.36 (part 36 of ecu320)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file doc/_features.txt continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 36; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping doc/_features.txt'
- else
- echo 'x - continuing file doc/_features.txt'
- sed 's/^X//' << 'SHAR_EOF' >> 'doc/_features.txt' &&
- X
- X0x00 nul 0x10 dle
- X0x01 soh 0x11 dc1
- X0x02 stx 0x12 dc2
- X0x03 etx 0x13 dc3
- X0x04 eot 0x14 dc4
- X0x05 enq 0x15 nak
- X0x06 ack 0x16 syn
- X0x07 bel 0x17 etb
- X0x08 bs 0x18 can
- X0x09 ht 0x19 em
- X0x0A nl 0x1A sub
- X0x0B vt 0x1B esc
- X0x0C np 0x1C fs
- X0x0D cr 0x1D gs
- X0x0E so 0x1E rs
- X0x0F si 0x1F us
- X 0x20 sp
- X 0x7F del
- X.DE
- X
- X.*s 2 "Line Editing"
- X
- XWhen you are entering a line of text for an ecu command or in
- Xa field on a screen, you may edit it in a number of ways at any
- Xtime prior to pressing Enter. Cursor Left moves the cursor left
- Xby one character position, nondestructively. Cursor Right moves
- Xto the right. Insert toggles insert mode. Backspace (your
- Xerase key as specified to stty in commands, the actual backspace key
- Xin screens) deletes the character to the left of the cursor.
- XYour line kill key (as specified to stty) in command mode or
- Xthe ^U character in screen mode erases the entire line. Esc
- Xin command mode cancels the command. Esc in screen mode usually
- Xcancels the screen or subfunction in a screen. ^L or ^R in
- Xinteractive command mode shows the current state of Insert mode and
- Xredisplays the edited string.
- X
- X.*s 2 "Screen Dump"
- XWhen the "cursor 5" key is pressed, the screen contents are
- Xdumped to a file. By default, this file is named '~/.ecu/screen.dump'.
- XThe
- X.B sdname
- Xinteractive command either displays or changes the current screen
- Xdump file name, depending upon whether or not an argument
- Xis supplied.
- XThe
- X.B scrdump
- Xprocedure command can initiate a dump.
- X
- XNote that from an SCO multiscreen, screen dump produces a dump of the
- Xactual screen contents (it is obtained from
- Xthe video driver), including ecu-generated output. When
- Xusing a non-multiscreen terminal, screen dump dumps only the
- Xshared memory virtual screen as received from the host.
- X
- XIf, at a multiscreen, you wish a screen dump free of ecu output
- X"pollution," use Shift-Tab (BkTab) to redraw the screen, then
- Xperform the screen dump. If you are not on a multiscreen, then the
- Xscreen dump comes from the (sometimes inexact) screen memory
- Xrepresentation and this step is not necessary.
- X
- X.*s 3 "Multiscreen and Non-Multiscreen"
- XNote that from multiscreens, screen dump produces a dump of the
- Xactual screen contents, including ECU-generated output. When
- Xusing a non-multiscreen terminal, screen dump dumps only the
- Xshared memory virtual screen as received from the host.
- XIf standard input is not a serial line (xterm or /dev/null),
- Xscreen dumps will be of the non-multiscreen type.
- X
- XIf, at a multiscreen, you wish a screen dump free of ECU output
- X"pollution," use Shift-Tab (BkTab) to redraw the screen, then
- Xperform the screen dump.
- X
- X.*s 3 "Multiscreen Bug"
- XThere has been a bug in the multiscreen driver for some time
- Xwherein a MEDIA COPY (screen dump) sequence ("ESC [ 2 i") leaves
- Xthe "ESC [ 2" part "active". When a screen dump (Cursor 5)
- Xcommand is given, I do the screen dump, then send a "l" to the
- Xscreen to work around the bug ("ESC 2 [ l" unlocks the keyboard,
- Xessentially a no-op). If and when it gets fixed, you'll see an
- X"l" show up on your screen after a screen dump sequence. To fix
- Xthis, comment out the
- X.DS I
- X#define MULTISCREEN_DUMP_BUG
- X.DE
- Xat the top of ecuscrdump.c.
- X
- X.*s 2 "Interactive Command History"
- X
- XAfter pressing the Home key, pressing it again invokes the
- Xinteractive command history function. After the second
- XHome key is pressed, the last interactive command is
- Xredisplayed. Line editing may be performed on the command as described
- Xin the previous section.
- X
- XAdditionally, using the Cursor Up key accesses less recent commands.
- XThe Cursor Down key accesses more recent commands. Pressing Enter causes
- Xthe command to be executed. Pressing Esc aborts command entry.
- X
- X.*s 2 "Dialing Directory"
- X
- XECU provides an on-line editable dialing directory. Remote
- Xsystems are defined as records using alphanumeric identifiers
- Xas keys. Other record fields include telephone number, baud
- Xrate, parity and textual description.
- X
- XOther features include changing to alternate dialing directory
- Xand a multi-number redial cycle function. Refer below to the description
- Xof the interactive
- X.B dial
- Xcommand.
- X
- XWhile a long entry in a field may be truncated on the display,
- Xwhen the entry is edited, it's full contents will be dispalyed on the
- Xedit subform.
- X
- XEntering or editing a dialing directory entry is for the most part
- Xstraightforward. A note on the use of the "tty" field is useful, however.
- XWhen prompted for a tty, you may choose
- X.BL
- X.LI
- X"Any" line (deprecated, for compatibility only)
- X.LI
- Xa tty line matching a Devices type
- X.LI
- Xa specific tty line
- X.LE
- X
- XA specific line is chosen by using the base name of the tty
- X(e.g., "tty1a" or "acu0"). On SCO, since ttys are all named
- Xconsistently according to the "/dev/ttyxx" form, you may omit the "tty"
- X(e.g., "1a" or "4g"). This latter feature is for compatibility
- Xwith earlier revisions of ECU. It is good practice to fully
- Xspecify the tty name.
- X
- X"Any" matches any tty line in the /usr/lib/Devices file supporting
- Xthe specified baud rate and whose Devices type begins with the
- Xcharacters (case independent) "ACU". This choice is provided to
- Xbe compatible with earlier versions of ECU (prior to 3.10).
- XUse of this argument is discouraged. It's equivalent in current
- Xpractice is "/ACU", as you can see next.
- X
- XA more general choice for choosing a tty line based on Devices type
- Xis the "Devices type matching" choice, invoked by prefixing the tty
- Xfield with a slash or equals sign.
- X
- X.BL
- X.LI
- X/ prefix searches for a Devices type matching a regular expression (a
- Xla sed or ed)
- X.LI
- X= prefix searches for an exact match on a Devices type
- X.LE
- X
- X.DS L
- XExamples:
- X
- X =ACU matches "ACU", fails on "acu" and "ACUx"
- X /.*tbit.* matches "ACUtbit1", "tbit"
- X.DE
- X
- XA specific tty line may also be specified. This is the only means
- Xof attaching a line not mentioned in the Devices file.
- X
- XNOTE: If the bell rings and you are not allowed to leave a field,
- Xit is because you MUST enter acceptible data before you can leave
- Xa field using other than the ESCape key.
- X
- XThe "debug level" parameter allows you to specify a number between 0 and
- X9 for passing to a UUCP dialer program with the -x switch.
- X
- XThe "DCD watch" parameter allows you to modify the DCD watcher
- Xupon successful connection to a remote. The values allowed are:
- X.DS L
- 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.DE
- XSpecifying 'n' leaves the dcdwatch state unaffected. See the description
- Xof the
- X.B dcdwatch
- Xinteractive command for more information.
- X
- XThe following sample dialing directory screen shows an edit in
- Xprogress.
- X
- X.DS L
- 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.DE
- X
- XYou may use the vi conventions of 'j' for down and 'k' for up.
- XYou may also use the up and down arrow keys if you are on an SCO
- Xmultiscreen or if the function keys have been properly defined
- Xwith funckeymap.
- X
- X.*s 2 "Online Interactive Command Help"
- X
- XThe ECU help command presents a display of interactive commands. The user
- Xis then prompted to enter a command name for further, Unix-style
- X"usage" information.
- X
- X.*s 2 "Multiscreen Event Alarm"
- X
- XOn an SCO machine, by using the
- X.B BN
- X(bell notify) interactive command, an audible alert is sent to all
- Xmultiscreens when an ASCII BEL (bell) is received or when a file
- Xtransfer completes. An additional option causes an alert when ANY
- Xdata is received from the line. This makes it simple to do work on
- Xother multiscreen consoles and be alerted when attention to the
- Xcommunications session is required.
- X
- XFor instance, the Berkeley 4.x Unix utility "talk" rings the bell when
- Xanother user wishes an interactive chat mode. BSD "biff" rings the bell
- Xwhen incoming mail is received. Scripts or commands at remote sites can
- Xbe configured to ring the bell as in:
- X.DS I
- Xmake foo bar; bell; make more_stuff; bell;
- X.DE
- Xto call attention to the ECU user when work is being done
- Xon other multiscreen consoles.
- X
- XThis feature is only available when you are running ECU from a multiscreen.
- X
- X.*s 2 "Built-in Modem Dialer"
- X
- XThe built-in ECU dialer supports modems which use the
- X.B
- XHayes-style AT command set or most variants
- X.R
- X.B thereof .
- XIt is used when HoneyDanBer UUCP is not installed or when there is no
- Xentry in the /usr/lib/uucp/Devices file for the selected outgoing line.
- X(For more information, see the later section titled "HoneyDanBer UUCP
- XInterface".)
- X
- XThe built-in dialer uses files in the ecu library directory which
- Xcontains modem initialization information. Modem initialization
- Xfilenames are made from concatenating the tty name with ".mi". For
- Xinstance, tty1a's initialization file is named "tty1a.mi".
- X
- XCommands for initializing the modem and for dialing may be specified in
- Xa very flexible manner. Separate init and dial strings for each legal
- Xbaud rate, a single pair of strings for all baud rates or a combination
- Xmay be specified.
- X.DF L
- X.hl
- X.ce 1
- XSample Modem Initialization Files
- X
- X#+-----------------------------------------------------------
- X# tty1a.mi - Microcom AX/9624c
- X#------------------------------------------------------------
- Xinit_>2400:ATS11=47X4S0=0S7=30\eQ1\eX1\eN3 # baud rates > 2400
- Xinit_default:ATS11=47X4S0=0S7=30\eQ0\eX0\eN0 # other baud rates
- Xdial_default:ATDT
- X
- X#+-----------------------------------------------------------
- X# tty2d.mi - USR Courier 2400
- X#------------------------------------------------------------
- Xinit_default:ATS11=47 X4 S0=0 S7=32
- Xdial_default:ATDT
- X
- X.DE
- X
- X.*s 2 "File Transfer"
- X
- XECU supports numerous file transfer protocols: as of this writing,
- XXMODEM, XMODEM/CRC, XMODEM-1K, YMODEM/CRC Batch, ZMODEM/CRC-16,
- XZMODEM/CRC-32, C-Kermit and SEAlink are supported. `
- XAlthough a seamless interface
- X(there's some yuppie marketing newspeak) is provided to the user,
- Xtransfer is facilitated by executing external programs.
- X
- XKermit support requires you to obtain C-Kermit version 5A or later.
- XYou may also patch C-Kermit 4E to work with ECU (The
- Xpatch information is available in the ckermit subdirectory of the
- XECU release). C-Kermit 5 is in beta release as of this writing
- Xand supports ECU without modification.
- X
- XXMODEM, YMODEM and ZMODEM transfers (thanks to modified public domain
- Xprograms by Chuck Forsberg) present dynamic status displays similar to
- Xthe following:
- X.DS L
- 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.DE
- X
- XDuring file transfer, data rates are displayed from time to time.
- XWhile the figures may vary significantly during the transfer, bear in mind
- Xthe calculations are for actual data throughput, measured as total DATA
- Xcharacters transferred from the time the file is opened until it is closed.
- XSo, if the data rate appears to be low at the start of the transfer
- Xand increase over time, perhaps it took a significant amount of time for
- Xthe receiver to open it's file or to respond to protocol startup stimuli.
- XIf the data rate appears to be higher at the beginning and become
- Xlower over time, perhaps flow control is being invoked. A sudden
- Xreduction in the "last file" or "transaction" data rate over the
- Xin progress rate reflects the time required to close files, operate
- Xthe protocol or to skip files (in the case of ZMODEM). If any files
- Xare skipped in a session, you may be sure the transaction
- Xrate will be (perhaps much) lower than the per-file rate.
- X
- XOn some systems and driver options, sundry driver statistics are
- Xdisplayed during X/Y/ZMODEM transfers. For instance, in the above
- Xdisplay from a Sun session. the driver's current output and input
- Xqueue depths and input queue space available are displayed along with
- Xthe current status of RTS and CTS. While such gay banter is rightly
- Xrelegated to the "bell and whistle" category, it does provide a rare
- Xinsight into driver operation. The ECU FAS/i driver for 386 systems
- X(after Uwe Doering's FAS driver) provides other information.
- X
- X.DS L
- X | Output queue depth 0 RTS T CTS T |
- X | Input queue depth 10 Input queue avail 490 |
- X.DE
- X
- X
- X.*s 2 "Automatic ZMODEM Receive"
- XECU in the interactive mode (no procedure executing) can interpret a
- XSUB, 'B', '0', '0' receive data sequence as a ZMODEM ZRQINIT frame and
- Xautomatically begin a ZMODEM receive operation. The
- X.B autorz
- Xinteractive and procedure commands control
- Xthis feature. By default, this feature is turned on.
- X
- X.*s 2 "Procedures (Scripts)"
- XA powerful, language-style procedure language is incorporated
- Xinto ECU. The language is described in the companion "Procedure
- XLanguage" manual.
- X
- XProcedures are files of programmatic instructions written in
- Xthe ECU procedure language invoked explicitly by the
- X.B do
- Xinteractive command or automatically by ECU functions described below.
- XProcedures are invoked by
- X.I name ,
- Xand result in execution of the file
- X.I name .ep.
- X
- XThe file is searched for in the current directory. If not found there,
- XECU checks your personal .ecu subdirectory. If not there, the ECU library "ep" subdirectory is searched (e.g.,
- X.I /usr/local/lib/ecu/ep ).
- X
- X.*s 3 "Initial (Startup) Procedure"
- XAn
- X.B
- Xinitial procedure
- X.R
- Xmay be be specified to ECU either to initialize an interactive
- Xsession or to execute an entirely unattended or "batch"
- Xcommunication session. Refer to the section on command switches ("-p").
- X
- X.*s 3 "Dialing Procedure"
- XWhen a named dialing entry is selected for calling, if a procedure
- Xcan be located using the above mentioned search sequence whose name matches
- Xthe name of the directory, then all of the usual ECU built-in dialing
- Xprocedure is bypassed and the procedure is used. For details, refer to
- Xother sections related to dialing.
- X.*s 3 "Other Special Procedures"
- XOther special procedures may be invoked when
- X.BL
- X.LI
- Xecu starts up (_rc.ep)
- X.LI
- Xa connection is established (_connect.ep)
- X.LI
- Xan attempted connection fails (_connfail.ep)
- X.LI
- Xa connection is terminated with the hangup command (_hangup.ep)
- X.LE
- XSee the ECU procedure manual for details.
- X
- X.*s 2 "DCD (Carrier) Watcher"
- XECU can be instructed to monitor DCD (carrier) status on any
- Xtty line whose driver honors dynamic manipulation of the CLOCAL
- Xcontrol bit.
- XECU may be instructed to ignore DCD (the default state).
- XIn such a state, if carrier is lost after a connection has been
- Xmade, ECU is unaware the connection has been lost. An interactive
- X.B stat
- Xcommand will show the connection still active.
- X
- XWhen the DCD watcher is enabled, loss of carrier will cause
- Xthe hangup command processing to automatically be executed
- X(including execution of the special procedure
- X_hangup.ep if any can be found).
- X
- XAn additional mode is available which, in addition to the hangup
- Xprocessing, causes ecu to terminate execution.
- X
- XThe
- X.B dcdwatch
- Xinteractive and procedure commands control this feature.
- XIn addition, each dialing directory entry has a field
- Xspecifying whether or not the DCD watcher status is to be
- Xchanged upon connecting to the remote system and if so,
- Xto what state. Refer to the description of the
- X.B dcdwatch
- Xand
- X.B dial
- Xcommands for details.
- X
- X.*s 2 "Home Directory Files"
- XECU control files reside in the .ecu subdirectory of
- Xeach user's home directory. For example, in home directory /usr/wht:
- X.DS I
- 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.DE
- X
- X* The ecu library directory (normally /usr/local/lib/ecu) is searched for
- Xthe "keys", "colors" and "funckeymap" file if a personal version
- Xcannot be found.
- X
- X% The "colors" file does not apply to systems on which color is not yet
- Xsupported.
- X
- XThe .ecu directory is searched for an ECU procedure file
- X(having the '.ep' extension) if the procedure file cannot be found in
- Xthe current working directory.
- X
- X.*s 2 "Lock Files"
- X
- XECU maintains lock files in the standard directory in accordance with the
- XHoneyDanBer UUCP conventions (ASCII pids as 10-character strings
- Xfollowed by a newline). If porting to a machine with old-style
- Xinteger pids, grep for HONEYDANBER in the sources for hints on
- Xwhere changes are needed.
- X
- XStandard lock directories for versions supported as of this writing:
- X.DS I
- X SCO /usr/spool/uucp
- X ISC /usr/spool/locks
- X SunOS, SVR4 /var/spool/locks
- X.DE
- X
- X.ul 1
- XWorld write access to this directory must be in effect.
- X
- XSee the later section titled "HoneyDanBer UUCP Interface".
- X
- X.*s 2 "Dial-In/Dial-Out Line Support"
- X
- XOn SCO XENIX and UNIX 3.2 systems,
- XECU works with the SCO getty to support dialing out on a line
- Xenabled for login. After use of the line is complete,
- XECU signals the system to restore incoming call status to
- Xthe line.
- XSee the later section titled "HoneyDanBer UUCP Interface".
- X
- XThis facility is not supported in other environments as of this writing.
- XScan the distribution README.* files for any updates.
- X
- X.*s 2 "Tools"
- X
- XCommands are provided for conversion of hexadecimal or decimal numbers
- Xto and from ASCII equivalents. For example, 26(10) == 0x1a == ^Z == SUB.
- XFor details, refer to the description of the
- X.B XA
- Xand
- X.B AX
- Xinteractive commands.
- X
- X.*s 2 "Shared Memory 'Friend' Interface"
- X
- XECU maintains a copy of the received screen image (80 x 43
- Xmaximum) and other
- Xinformation in its shared memory segment. Normally, this
- Xinformation is used only by the transmitter and receiver
- Xprocess. However, ECU supports the concept of a
- X.B friend
- Xprocess which may access the shared memory segment, perform
- Xarbitrary auxiliary operations, read from and write to the
- Xattached communications line and communicate resulting information
- Xor status to an ECU procedure via a 1024-byte "friend"
- Xdata area in the shared memory segment.
- X
- XThe procedure language supports the friend
- Xprocess concept through commands and functions which allow
- X.BL
- X.LI
- Xpassing the ECU shared memory segment id (%shmid) to a called
- Xprogram,
- X.LI
- Xreading a single character or string of characters from
- Xscreen memory,
- X.LI
- Xreading cursor position information and
- X.LI
- Xreading and writing of characters, short or long integers and
- Xstrings in the 1024-byte "friend" shared memory data area.
- X.LE
- X
- XThe algorithm for obtaining the shared memory segment key is
- X.DS L
- X0xEC000000L + transmitter process id
- X.DE
- XThus a "friend" process may either use a %shmid
- X.B
- Xshared memory key
- X.R
- Xpassed as an argument or obtain the
- X.B
- Xshared memory key
- X.R
- Xby using:
- X.DS L
- Xkey_t shmkey = 0xEC000000L | getppid();
- X.DE
- X
- XThis facility allows batch and interactive applications
- Xto be developed with C programs which would be
- Xtedious or impractical to implement with procedure language alone.
- X
- XFor more information, refer to the shared memory header file
- X.B ecushm.h ,
- Xthe
- X.B ecufriend
- Xsubdirectory of the software release
- Xand to the description of the
- X.B %shmid ,
- X.B %cury
- Xand
- X.B %curx
- Xprocedure functions
- Xand the
- X.B getf
- Xand
- X.B putf
- Xprocedure commands.
- SHAR_EOF
- echo 'File doc/_features.txt is complete' &&
- chmod 0644 doc/_features.txt ||
- echo 'restore of doc/_features.txt failed'
- Wc_c="`wc -c < 'doc/_features.txt'`"
- test 38219 -eq "$Wc_c" ||
- echo 'doc/_features.txt: original size 38219, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= doc/_hdb.txt ==============
- if test -f 'doc/_hdb.txt' -a X"$1" != X"-c"; then
- echo 'x - skipping doc/_hdb.txt (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting doc/_hdb.txt (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'doc/_hdb.txt' &&
- X.*s 1 "HoneyDanBer UUCP Interface"
- X
- X.*s 2 "Control Files"
- X
- XThis section describes how ecu uses verious HDB UUCP control
- Xfiles found in the UUCP library directory (e.g., /usr/lib/uucp on
- XSCO and ISC or /etc/uucp on SunOS and SVR4).
- X
- X.*s 3 "Devices"
- X
- XECU reads this file to determine what tty devices are available
- Xfor outgoing calls. The fourth field must contain a baud rate or
- Xrange of baud rates acceptable for the line. The fifth field of
- Xeach entry must contain either the full pathname of an (SCO)
- Xmodem dialer program (with leading slash) or the name of an entry
- Xin the HDB Dialers file (no leading slash). For more
- Xinformation, consult the UUCP documentation for your system and
- Xsee "Dialers" and "Choosing a Dialout Line" below.
- X
- X.*s 3 "Dialers"
- X
- X.B Dialers
- Xentries may be specified in the Devices entry.
- XECU provides Dialers support that is largely compatible
- Xwith most System V HDB uucico programs. Refer to
- Xyour system's UUCP documentation for general
- Xusage instructions. Refer to the procedure command
- X.B expresp
- Xfor a precise list of escape sequences supported by ECU.
- X
- X.*s 3 "Sysfiles"
- X
- XSysfiles support is not yet provided. The Devices and
- XDialers files must have their default names.
- X
- X.*s 3 "Systems"
- X
- XNo use is made of the
- X.B Systems
- Xfile at this time. ECU provides the
- Xequivalent function with its dialing directory.
- X
- X.*s 2 "Choosing a Dialout Line"
- X
- XWhen using the interactive
- X.B dial
- Xcommand, or when dialing from the initial menu,
- Xif a logical or system name is specified, the directory
- Xentry is fetched and examined. If the tty field specifies
- Xa value other than "Any", the specific line requested is
- Xopened, if available, and dialing commences.
- XIf the specified line is not available, the dial attempt
- Xfails.
- X
- XIf "Any" is found in the dialing directory entry tty field, then
- XECU finds an available Devices line which matches the baud rate
- Xspecified in the entry.
- X
- XOther special tty field entries allow regular expression or
- Xliteral matching of Devices types. See the description of the dialing
- Xdirectory for more details.
- X
- XA line is selected only if its class begins with the three
- Xcharacters "ACU." UUCP will only select a line whose Devices
- Xentry class matches the active Systems entry class (usually
- X"ACU"), so usually you may make a modem accessible to ECU, but not
- Xto UUCP, by setting it's class to ACUECU.
- X
- XOn systems employing ecuungetty, if a line being considered for
- Xselectionis found to be a line enabled for login, but
- Xcurrently idle, the ecuungetty interface, described below,
- Xis used to acquire the line for outgoing use.
- X
- XThe DCD watcher (see the interactive and procedure commands
- X.B dcdwatch )
- Xdepends upon the tty driver to return zero
- Xon a read when DCD is low when the termio flag CLOCAL is reset.
- XThe tty driver must ignore DCD if CLOCAL is set.
- XIf your system offers a "modem" and "direct" choice (by choice
- Xof filename), you probably need to use the "modem" choice for
- Xthis to work properly. However, the choice depends upon
- Xthe needs of the underlying driver you are using.
- XFor instance, if you are using FAS in a shared modem application,
- Xyour getty should use the "modem" choice and ECU should
- Xuse the "direct" choice. Some experimentation may be required.
- X
- XOne of the symptoms of an incorrect line choice is ECU hangs,
- Xline errors such as EIO and EBUSY. These problems may
- Xbe caused by other problems, but incorrect line choice is
- Xthe most frequent cause.
- X
- X
- X.*s 2 "SCO Tty Naming"
- X
- XOn SCO,
- XTTY devices must be named in the style of:
- X.DS I
- X/dev/tty#N
- X ^^
- X ||
- X |`------ uppercase letter for modem control
- X | lowercase for non-modem control
- X `--------digit (1-4)
- X.DE
- X
- XIf you are using FAS or other third-party driver, you may
- Xuse ECU with ports not normally named in the /dev/tty#N
- Xstyle in one of two ways under UNIX and one way under XENIX:
- X
- X.DS I
- X1. Under XENIX or UNIX, create a link to the port
- X with a compatible name:
- X
- X ln /dev/ttyF00 /dev/tty1a
- X ln /dev/ttyFM00 /dev/tty1A
- X
- X2. Under UNIX, add additional lines to the
- X /etc/conf/node.d file and rebuild the kernel
- X environment (this is the recommended approach
- X for UNIX):
- X
- Xfas ttyF00 c 48
- Xfas tty1a c 48
- Xfas ttyF01 c 49
- Xfas tty1b c 49
- Xfas ttyFM00 c 208
- Xfas tty1A c 208
- Xfas ttyFM01 c 209
- Xfas tty1B c 209
- X.DE
- X
- XNote the device numbers are examples only. Consult the driver
- Xdocumentation for proper choices.
- X
- XIf you cannot live within this restriction, search for the #define
- XSCO_TTY_NAMING in ecu.h (that depends on SCO's M_SYSV) and disable it.
- X
- X.*s 2 "Ecuungetty (Getty Interface)"
- X
- XThis section applies to the SCO version of the program. It
- Xmay also apply to others in part. Specifically, as of this
- Xwriting, this section does not apply to the SunOS version
- Xdue to the differences in utmp arrangement. In some versions,
- Xthe mechanism may execute and do no harm, yet essentially be a no-op.
- X
- XWhen an idle dialin (enabled) line is chosen for dialout,
- XECU makes use of
- X.B ecuungetty
- X(in the ecu library directory, normally /usr/local/lib/ecu)
- Xto signal the line's getty to release the line (via SIGUSR1).
- X.B Ecuungetty
- Xis again employed to signal the getty to reacquire the
- Xline when outgoing communication is complete (via SIGUSR2).
- X
- XEcuungetty is a privileged program, which must be owned by root
- Xand have the setuid-on-execute bit set. An encrypted id is passed
- Xby ecu to ecuungetty to validate requests and to prevent abuse of
- Xecuungetty by crackers, malcontents and other twentieth-century
- Xphenomena.
- X
- X.*s 2 "SCO Dialer Programs"
- X
- XThe concept of a dialer program (an executable binary
- Xas opposed to a Dialers entry) is an SCO enhancement and
- Xis unlikely to be of benefit to users of other versions (too bad!).
- XECU will support dialer programs under any version, but other
- Xusers of the Devices file (read "your vendor-supplied uucico")
- Xwill most likely barf on non-SCO systems.
- X
- XIf the
- X.B Devices
- Xfile can be found in /usr/lib/uucp,
- Xand a valid entry for the attached line can be found,
- XECU will use the Dialers script or dialer program specified in the
- X.B Devices
- Xentry.
- X
- X.*s 2 "Gendial Dialer Package"
- X
- XSample SCO-style modem dialer program sources may be found
- Xin the gendial/ subdirectory of the distribution.
- XSome of them, particularly dialgHA24 and dialgT2500, are very
- Xrobust and succeed where other programs may fail. They retry
- Xmodem initialization and reset/hangup commands .
- X
- XThe code is divided into one general module and several modem-
- Xand DCE-specific modules. A program is built by combining
- Xthe gendial.o with the appropriate dceFOO.o module to produce
- Xa dialgFOO executable.
- X
- XTo write a dialer for a modem not already in the gendial package,
- Xcopy template.c to dceMYMODEM.c and edit it to contain the
- Xnecessary variable assignments and initialization, dialing and hangup
- Xcode. The existing dce*.c modules provide examples.
- XEdit the gendial/Make.src file to add rule lines for your program.
- X(Do not modify Makefile alone
- Xsince a "Configure" will overwrite Makefile.)
- X
- X.DS L
- XdialgMYMODEM: gendial.o dceMYMODEM.o
- X $(CC) $(LDFLAGS) gendial.o dceMYMODEM.o $(LIBS) -o $@
- X.DE
- X
- XTo be "correct," you should run the Configure procedure
- Xin the main ecu directory to make a new Makefile,
- Xbut this has the unfortunate side effect of rebuilding all
- Xof the Makefiles which are built from Make.src files.
- XIf this happens, the next make will rebuild all of the
- Xobjects.
- X
- XIn this case, it is "OK" to cheat and copy the new Make.src lines to
- XMakefile. A later Configure will not cause loss of the new lines.
- SHAR_EOF
- chmod 0644 doc/_hdb.txt ||
- echo 'restore of doc/_hdb.txt failed'
- Wc_c="`wc -c < 'doc/_hdb.txt'`"
- test 7541 -eq "$Wc_c" ||
- echo 'doc/_hdb.txt: original size 7541, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= doc/_icmd.txt ==============
- if test -f 'doc/_icmd.txt' -a X"$1" != X"-c"; then
- echo 'x - skipping doc/_icmd.txt (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting doc/_icmd.txt (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'doc/_icmd.txt' &&
- X.*s 1 "Interactive Mode Commands"
- X
- XThe following is a partial list of commands available in the
- Xinteractive (non-procedure) mode. It is not necessary to enter
- Xthe entire command in most cases. The portion of each command
- Xwhich must be entered is capitalized in the following section
- Xheaders.
- X
- XRefer to the sections titled Interactive Command History
- Xand Line Editing for more information.
- X
- X.*s 2 "AUTORZ : Automatic ZMODEM Receive"
- XUsage: autorz [off | on | ]
- X
- XECU in the interactive mode (no procedure executing) can interpret a
- XSUB, 'B', '0', '0' receive data sequence as a ZMODEM ZRQINIT frame and
- Xautomatically begin a ZMODEM receive operation. This command controls
- Xor displays this feature. By default, this feature is turned on.
- X
- X.*s 2 "AX : ascii char to hex/oct/dec"
- X.DS L
- Xusage: ax [<param>]
- X.DE
- X
- X<param> may be a single ASCII character, a standard ASCII
- Xidentifier (such as ETX), or a two-character control
- Xcharacter identifier (such as ^C, typed as a caret followed
- Xby a C).
- X
- XIf no argument is supplied, a table of control characters
- Xis printed containing decimal, octal, hex, ASCII identifiers
- Xand two-character control character identifier.
- X
- X
- X.*s 2 "BAud : set/display line baud rate"
- X.DS L
- Xusage: baud [<baud-rate>]
- X.DE
- X
- X<baud-rate>, if specified, must be taken from the values
- X110, 300, 600, 1200, 2400, 4800, 9600, 19200 and 38400. On
- Xsome systems, 19200 and 38400 may not be supported. If a baud
- Xrate less than 300 is selected, 2 stop bits are automatically
- Xspecified; other baud rates set 1 stop bit. If <baud-rate>
- Xis not supplied, the current baud rate is displayed.
- X
- XThe setting may be automatically changed as the result of a 'dial'
- Xcommand. See also the
- X.B dial
- Xand
- X.B parity
- Xcommand descriptions.
- X
- X
- X.*s 2 "BN : all console event alarm"
- X.DS L
- XUsage: bn [ off | on | alert ]
- X bn [ 0 | 1 | 2 ]
- X.DE
- X
- X"bell notify": If no parameter is supplied, the current setting is
- Xdisplayed. Specifying 0 or off disables the facility; 1 or on causes
- Xan audible alarm to be sounded upon receipt of a bell (0x07)
- Xcharacter from the remote system; 2 or alert causes an audible alarm
- Xupon receipt of ANY characters. This command may not be functional
- Xin the version for your system.
- X
- XOn SCO, different alarm styles are sent depending upon the type of
- Xevent causing the alarms. The alarms consist of Morse characters.
- XEven if you do not understand Morse, the patterns of the alarm
- Xtones are distinct enough to be distinguishable.
- X
- XAdditionally on SCO, if you are running ECU from a multiscreen,
- Xthe alarms will be signalled even if you have temporarily
- Xswitched to another screen.
- X
- XBN is set to 1 (on) when ECU begins executing.
- X
- X.*s 2 "BReak : send break to remote"
- X.DS L
- Xusage: break
- X.DE
- X
- XThis command sends a break signal to the remote system.
- X
- X
- X.*s 2 "CD : change current directory"
- X.DS L
- Xusage: cd [<dir-path>]
- X.DE
- X
- XThis command allows you to change the working directory of
- Xthe ECU process. If <dir-path> is supplied, the previous
- Xworking directory is displayed, and <dir-path> is made the
- Xnew working directory. A history of previous directory
- Xchanges is maintained. Entering the
- X.B cd
- Xcommand shows the numbered history list and allows you to select a new
- Xdirectory by entering the number. Other commands allow
- Xdeletion of directories from the list or saving the list to
- Xfile ~/.ecu/dir. This file is automatically read at ECU
- Xstartup, providing a convenient list of directories
- Xavailable for quick selection. If you edit this file by hand,
- Xyou may force ECU to re-read the file using the %read option.
- X
- XThe %xmitcd option transmits "cd "+current_directory+CR to the remote,
- Xa convenience to set the remote current directory to the
- Xsame as your local one.
- X
- XThe %pushd # option pushes the current directory onto the same stack
- Xused by the
- X.B pushd
- Xinteractive command and changes the current directory to the numbered
- Xdirectory specified by #. Use the
- X.B popd
- Xinteractive command to return to the previous directory.
- X
- XOther %options have usage information by entering them with no arguments.
- X.*s 2 "DA : decimal to ascii char"
- X.DS L
- Xusage: da [<decimal-val>]
- X.DE
- X
- X<decimal-val> is a decimal value between 0 and 256; the
- Xparity (sign) bit is stripped and the equivalent ASCII
- Xcharacter value is displayed.
- X
- XIf no argument is supplied, a table of control characters
- Xis printed containing decimal, octal, hex, ASCII identifiers
- Xand two-character control character identifier.
- X
- X.*s 2 "DCDwatch"
- X.DS L
- Xusage: dcdwatch [<dcdwatch-param>]
- X.DE
- X
- XThis command controls the DCD watcher. The optional parameter may be:
- X.DS L
- X y yes - enable DCD watcher
- X n no - disable DCD watcher
- X t terminate - terminate ECU on loss of DCD
- X.DE
- XEntering the command without an argument shows the current status.
- X
- XThe DCD watcher when enabled causes ECU to monitor the DCD line
- X(within the limits imposed by the OS with its CLOCAL=0 functionality).
- XWhen the watcher is on and DCD drops, ecu automatically performs
- Xthe action of the interactive or procedure
- X.B hangup
- Xcommand. If the 't'erminate option is chosen, then after
- Xhangup processing is complete, the ECU program will terminate.
- X
- XThe state of the watcher may be changed by the use of the dial
- Xcommand which uses a directory entry that changes the
- XDCD watcher status.
- X
- XThe DCD watcher depends upon the tty driver to return zero
- Xon a read when DCD is low when the termio flag CLOCAL is reset.
- XThe tty driver must ignore DCD if CLOCAL is set.
- XIf your system offers a "modem" and "direct" choice (by choice
- Xof filename), you probably need to use the "modem" choice for
- Xthis to work properly. However, the choice depends upon
- Xthe needs of the underlying driver you are using.
- XFor instance, if you are using FAS in a shared modem application,
- Xyour getty should use the "modem" choice and ECU should
- Xuse the "direct" choice. Some experimentation may be required.
- X
- X.*s 2 "Dial : dial remote destination"
- X.DS L
- Xusage: dial [<dial-param>]
- X.DE
- X
- X<dial-param> may take one of two forms, a telephone number
- Xto dial (initial digit) or a logical name (initial letter)
- Xwhich can be found in the user
- Xphone directory (in file ~/.ecu/phone).
- X
- XIf a telephone number is supplied, the phone number is
- Xdialed; you must first have set the desired baud rate and
- Xparity using the
- X.B baud
- Xand
- X.B parity
- Xcommands.
- X(If the last character of a telephone number is a dollar sign,
- Xit is removed and is replaced with the contents of the first line
- Xin ~/.ecu/credit. See the description of the dialing directory.)
- X
- XIf a logical name is entered, the phone directory is searched; if
- Xthe entry is found, the baud rate and parity is automatically
- Xset. if a procedure file can be found in the current directory,
- Xthe user's home .ecu subdirectory or the ECU library directory "ep"
- X(normally /usr/local/lib/ecu/ep) whose name matches the logical
- Xname, then the procedure is executed with the argument '!INTERACTIVE'.
- X
- XIf <dial-param> is not supplied, then a screen-oriented
- Xself-documenting <:-)> directory manager is executed; you may
- Xscan the directory to select a number to dial, as well
- Xas add, remove and edit entries.
- X.*s 3 "Alternate Dialing Directory"
- X
- XThe default dialing directory is ~/.ecu/phone. You may change to
- Xanother directory by issuing the interactive
- X.B dial
- Xcommand with no arguments to enter the dialing directory
- Xmenu, selecting 'c'hange dial directory, and entering the name
- Xof a new directory. The specified pathname must either be
- Xa fully qualified pathname or a pathname relative to the
- Xcurrent working directory. Once an alternate directory
- Xhas been selected, it will be used by
- Xboth the interactive command 'dial <logical>' and
- Xthe dialing directory menu.
- X
- XUsing the dial command with a directory entry may change the
- XDCD watcher (dcdwatch) status.
- XSee the section on the
- X.B dcdwatch
- Xcommand for more information.
- X
- XSee the section below titled "Choosing a Dialout Line" for
- Xmore information on using "Any" in the "tty"
- Xfield of a directory entry.
- X
- X.*s 3 "Multi-Number Redial Cycle"
- X
- XWhile in the dialing directory, you may "mark" one or more
- Xentries for a cyclical redial attempt. When any entry is
- Xmarked, typing ENTER (carriage return or line feed/newline)
- Xcauses each marked entry to be dialed in turn until one of
- Xthe remote systems is successfully connected. When a
- Xsuccessful connection occurs, ECU unmarks the
- Xassociated entry, leaving the others marked. Thus, you
- Xmay mark several entries and merely reenter the dialing
- Xdirectory after each connection is finished and press
- XENTER to reenter the redial cycle. If a single entry
- Xis marked, ECU pauses 15 seconds between each dialing attempt,
- Xotherwise 5 seconds. Pressing 'c' will cause the pause to
- Xbe prematurely terminated and the next attempt to be made.
- XPressing your interrupt key (DEL, ^C or whatever) aborts
- Xthe cycle. If you interrupt an active dialing attempt, you
- Xwill be prompted as to whether or not you wish to cycle to the next
- Xentry or abort the cycle.
- X
- XIf no entries are marked for redial, the current, highlighted
- Xdirectory entry is used for dialing.
- X
- XTo unmark a single entry, press 'M' (uppercase M).
- XTo unmark all entries, press 'U'.
- X
- X.*s 3 "Automatic Dialing/Login Procedure"
- X
- XUpon dialing from the menu, if a procedure file can be found in
- Xthe current directory, the user's home .ecu subdirectory or the
- XECU library subdirectory "ep" (normally /usr/local/lib/ecu/ep) whose name
- Xmatches the logical name, then the procedure is executed with the
- Xargument '!MENU'. It is the responsibility of the automatically
- Xexecuted procedure to establish connection with the remote system
- X(by using the procedure
- X.B dial
- Xcommand). An example of an automatic login procedure
- Xcan be found in the distribution subdirectory 'models'
- Xnamed 'sysname.ep'. A companion procedure is 'unixlogin.ep'.
- X
- XFor example,
- X.DS L
- X.--[ dialing directory ]-- /u1/wht/.ecu/phone -- ...
- X| entry name | telephone number | tty | baud P | ...
- X| sysname | 555-1234 | Any | 2400 N | ...
- X.DE
- X.DS L
- X#-----------------------------------------------------------
- X# sysname.ep - procedure to call UNIX-like system 'sysname'
- X#
- X# CONFIDENTIAL - This function should be chmod 0600 because
- X# it contains a password which you probably don't want to be
- X# common knowledge.
- X#
- X# This procedure calls 'unixlogin.ep' to do the hard work.
- X#-----------------------------------------------------------
- X
- X mkvar $s_pwd(20) # local variable preserves password
- X $s_pwd = 'password' # security by disappearing when the
- X # procedure terminates
- X
- X# also, by keeping the password text off the following line,
- X# the password will not be displayed if you abort (interrupt)
- X# the procedure
- X
- X do 'unixlogin' %argv(0) 'username' $s_pwd 'ansi-or-whatever'
- X.DE
- X
- X.*s 2 "DO : perform procedure"
- X.DS L
- Xusage: do <procname> [<arg> ... ]
- X.DE
- X
- XPerform ECU procedure. Ecu searches for <procname>.ep in
- Xthe current directory. If the file is not found, the program
- Xlooks for the file in the ~/.ecu directory and in the ep subdirectory
- Xof the library directory (usually /usr/local/lib/ecu/ep). One or more
- Xarguments may be passed to the procedure. Arguments
- Xare made available in the called procedure by use of the
- X.B %argc
- Xinteger function and
- X.B %argv
- Xstring function.
- X
- XUnlike arguments to the
- X.B do
- Xprocedure command,
- Xarguments to the
- X.B do
- Xinteractive command are not quoted and may not contain
- Xembedded spaces or tabs.
- X
- X
- X.*s 2 "DUplex : set/display duplex"
- X.DS L
- Xusage: duplex [ Full | Half ]
- X.DE
- X
- XThis command specifies whether or not ECU is to locally echo
- Xcharacters typed by you at the keyboard. The overwhelming
- Xmajority of remote systems provide the echo function, in
- Xwhich case full duplex must be used. For the rare occasions
- Xwhen the remote system does not echo your keyboard input,
- Xsetting half duplex will allow you to see what you are
- Xtyping.
- X
- XWhen communicating with another terminal in a "teletype
- Xconversation", setting half duplex is generally required.
- XIn such cases, use of the
- X.B nl ,
- X.B nlin
- X.R
- Xand
- X.B nlout
- Xcommands may also be required.
- X
- XThe default setting for duplex is full.
- X
- X
- X.*s 2 "EXit : drop carrier, exit program"
- X.DS L
- Xusage: exit
- X.DE
- X
- XThis command terminates ECU promptly. If your modem does
- Xnot drop carrier upon loss of Data Terminal Ready (DTR),
- Xthe command will terminate ECU,
- Xbut may leave the communications line off hook.
- XIt is strongly recommended that you configure your
- Xmodem to hang up the phone line when DTR drops. A shorthand
- Xversion of this command exists: '.' is equivalent to
- X.B exit .
- X
- X
- X.*s 2 "FI : send text file to line"
- X.DS L
- Xusage: fi [<filename>] [ | f | e | s]
- X f full speed transmission
- X e echo pacing
- X s single line transmission
- X
- X.DE
- X
- X"file insert": This command causes file characters to be inserted
- Xinto the transmit data stream as though they had been entered at the
- Xkeyboard. No error correction is provided, although XON/XOFF flow
- Xcontrol is obeyed.
- X
- XIf <filename> is not entered on the command line, a prompt for the
- Xfilename is made. Once the filename has been entered and file has
- Xbeen opened, you are asked whether the file should be transmitted at
- Xfull speed, by "echo pacing" or by a single line at a time. You may
- Xalso append an 'f', 'e' or 's' argument to the command line.
- X
- XIf your remote can tolerate it, full speed transmission is the
- Xfastest. Some systems are not capable of receiving large amount of
- Xdata ("streaming data") without pauses. Even with "full" speed
- Xtransmission, some "pacing" (inter-character delay) is introduced to
- Xease loading on the remote system. Pressing the interrupt key (DEL)
- Xstops a full speed transmission.
- X
- XBy specifying echo pacing, it is possible to increase the likelihood
- Xof proper receipt. Echo pacing reads the return data stream to
- Xattempt to keep from overloading the remote. Pressing the interrupt
- Xkey (DEL) stops an echo paced transmission.
- X
- XAs a last resort, if echo pacing is not working for you, (i.e., you
- Xare using the command in an environment where the remote does not
- Xecho your characters), single line at a time transmission is
- Xavailable. With "single" line transmission, you must press the
- Xspace key to initiate sending each line. Pressing the 'ESC' or 's'
- Xkey stops the transfer.
- X
- X.*s 2 "FKEy : function key definition"
- X.DS L
- Xusage: fkey [<keyset_name>]
- X fkey -r
- X.DE
- X
- XThis command allows the mapping of function keys F1-F12,
- XPgUp, PgDn, End and Ins and the cursor up, down, left and
- Xright keys to emit a desired sequence of characters when a
- Xfunction key is pressed. <keyset_name> specifies which key
- Xset in ~/.ecu/keys is to be selected. Sample entry:
- X.DS I
- Xhayes
- X F1:escape:+ + +
- X F2:autoans:A T S 0 = 1 cr
- X F3:dial:A T D T
- Xbbs
- X F1:cancel:^K
- X F2:yes:y cr
- X.DE
- X
- X-r resets the key handler to the same state as when ECU
- Xwas started. See the section above titled "Standard Function Keys".
- X
- XIf a keyset_name matches a logical dial directory name, it
- Xis loaded after a connection is established.
- X
- XThe characters in the mapped string may be any printable character
- Xor one of the following:
- X.DS I
- Xmap -> character map -> character
- X--- ----------- --- ------------
- Xnul 0 000 00 ^@ | dle 16 020 10 ^P
- Xsoh 1 001 01 ^A | dc1 17 021 11 ^Q
- Xstx 2 002 02 ^B | dc2 18 022 12 ^R
- Xetx 3 003 03 ^C | dc3 19 023 13 ^S
- Xeot 4 004 04 ^D | dc4 20 024 14 ^T
- Xenq 5 005 05 ^E | nak 21 025 15 ^U
- Xack 6 006 06 ^F | syn 22 026 16 ^V
- Xbel 7 007 07 ^G | etb 23 027 17 ^W
- Xbs 8 010 08 ^H | can 24 030 18 ^X
- Xht 9 011 09 ^I | em 25 031 19 ^Y
- Xnl 10 012 0a ^J | sub 26 032 1a ^Z
- Xvt 11 013 0b ^K | esc 27 033 1b ^[
- Xff 12 014 0c ^L | fs 28 034 1c ^\e
- Xcr 13 015 0d ^M | gs 29 035 1d ^]
- Xso 14 016 0e ^N | rs 30 036 1e ^^
- Xsi 15 017 0f ^O | us 31 037 1f ^_
- X.DE
- X
- X.*s 2 "FKMap : funckeymap (function key recognition) management"
- X.DS L
- Xusage: fkmap
- X fkmap <keyname>
- X fkmap <keyname> <keylist>
- X fkmap -r
- X fkmap -s <file>
- X.DE
- X
- XThis command manages the mechanism ECU uses to recognize function
- Xkeys when they are entered at the console. Entering the command
- Xwith no arguments displays the current mapping in funckeymap format.
- X
- XIf supplied, the first argument to the command must be the
- Xrecognized name of a function key from the list:
- X.DS L
- X F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
- X Home End PgUp PgDn CUP CUL CU5 CUR CUD
- X.DE
- XThe case of the entered argument is unimportant.
- X
- XIf only one argument is supplied, the mapping for the specified key
- Xis displayed. If more than one argument is supplied, the keyboard
- Xmapping is changed. Arguments 2-n are character code specifiers
- Xin the format used to define a funckeymap entry.
- X
- X.B WARNING :
- XIf found to be syntactically correct, a mapping change
- Xis installed immediately. If incorrect mapping of the HOME
- Xkey is requested, you may lose control of ECU.
- X
- XThe -r form rereads the original funckeymap definition (as
- Xat program invocation), reseting the mapping. The -s switch
- Xsaves the current mapping to <file>.
- X
- X.DS L
- XExamples:
- X
- X fkmap f10 display F10 mapping
- X fkmap Home ^Z map Home to ^Z
- X after this command, type ^Z for Home
- X.DE
- X
- X.*s 2 "HAngup : hang up modem"
- X.DS L
- Xusage: hangup
- X.DE
- X
- XThis causes DTR to be momentarily interrupted,
- Xterminating any outstanding connection.
- XYour DCE (modem) must be able to drop carrier upon loss of DTR.
- X
- X.*s 2 "HElp : invoke help"
- X.DS L
- Xusage: help [<cmd-name>]
- X.DE
- X
- XIssuing this command with no argument displays a list of
- Xcommands followed by a request for a command for further
- Xinformation.
- X
- X.*s 2 "KBDTest : test keyboard mapping"
- X.DS L
- Xusage: kbdtest
- X.DE
- X
- XThis command runs a keyboard test which asks you to press function keys
- X(e.g., F1). For each key pressed, ECU gives you the actual character
- Xsequence generated by the key. It also tells you which function key it
- Xrecognizes (if any). mapping of keyboard generated character sequences
- Xto ECU internal key codes. The command is useful for verifying and
- Xdebugging a "funckeymap" entry. To exit the test at any time, press the
- Xescape key.
- X
- X.*s 2 "LLp : set session log to /dev/lp"
- X.DS L
- Xusage: llp
- X.DE
- X
- XThis command is a
- Xshorthand version of 'log /dev/lp'. /dev/lp must not be
- Xunder the control of a print spooler.
- X
- X
- X.*s 2 "LOFf : turn off session logging"
- X.DS L
- Xusage: loff
- X.DE
- X
- XThis command is shorthand for 'log off'. If session logging
- Xis active, it is turned off.
- X
- X.*s 2 "LOG : session logging control"
- X.DS L
- Xusage: log [-s] [-r] [ | off | filename ]
- X -s "scratch" previous file contents; otherwise append
- X -r "raw" logging; otherwise non-printable characters
- X other than tab and newline are omitted from the log
- X.DE
- X
- XThis command controls session logging; issuing the command
- Xwith no argument causes the status of session logging to be
- Xdisplayed. The special argument 'off' causes active logging
- Xto be terminated. Other argument values cause logging to
- Xstart using the argument as a filename. Issuing a
- X.B log
- Xcommand with a filename when logging is already active causes the
- Xprevious file to be closed and the new file to be opened.
- XSwitches are meaningful only when used in conjunction with a
- Xfilename to start logging.
- X
- X
- X.*s 2 "NL : display CR/LF mapping"
- X.DS L
- Xusage: nl
- X.DE
- X
- XDisplay the current setting of CR/LF mapping. For more
- Xinformation, refer to the
- X.B nlin
- Xand
- X.B nlout
- Xcommand descriptions.
- X
- X
- X.*s 2 "NLIn : set receive CR/LF mapping"
- X.DS L
- Xusage: nlin [<y-n>]
- X.DE
- X
- XThis command controls whether or not a newline (NL/LF)
- Xcharacter is sent to the screen upon receipt of a carriage
- Xreturn (CR) from the remote system. Most remote computers
- Xsupply a NL after CR. When communicating with another
- Xterminal in a "teletype conversation", this is generally not
- Xthe case (see also the
- X.B duplex
- Xcommand).
- X
- XIssuing the command without <y-n> causes the current setting
- Xto be displayed. The format of <y-n> is flexible: 'y' or '1'
- Xenables appending NL to CR, 'n' or '0' causes the
- Xfeature to be disabled.
- X
- X
- X.*s 2 "NLOut : set transmit CR/LF mapping"
- X.DS L
- Xusage: nlout [<y-n>]
- X.DE
- X
- XThis command controls whether or not a newline (NL/LF)
- Xcharacter is sent to the remote system upon transmission of
- Xa carriage return (CR) entered by the keyboard. Most remote
- Xcomputers do not require (indeed "dislike") a NL after CR.
- XWhen communicating with another terminal in a "teletype
- Xconversation", this is generally not the case (see also the
- X.B duplex
- Xcommand).
- X
- XIssuing the command without <y-n> causes the current setting
- Xto be displayed. The format of <y-n> is flexible: 'y' or '1'
- Xenables appending NL to CR, 'n' or '0' causes the
- Xfeature to be disabled.
- X
- X
- X.*s 2 "OA : octal to ascii char"
- X.DS L
- Xusage: oa [<octal-val>]
- X.DE
- X
- X<octal-val> is a octal value between 0 and 0377; the parity
- X(sign) bit is stripped and the equivalent ASCII character
- Xvalue is displayed.
- X
- XIf no argument is supplied, a table of control characters
- Xis printed containing decimal, octal, hex, ASCII identifiers
- Xand two-character control character identifier.
- X
- X
- X.*s 2 "PARity : set/display line parity"
- X.DS L
- Xusage: parity [ None | Even | Odd ]
- X.DE
- X
- XThis command controls the parity of characters transmitted
- Xby the keyboard. Issuing the command with no argument
- Xdisplays the current setting. When the argument is
- Xsupplied, only the first character is required. Even or odd
- Xparity implies seven data bits; no parity implies eight data
- Xbits. Parity of incoming characters is not checked.
- X
- XThe setting may be automatically changed as the result of an
- Xinteractive or procedure
- X.B dial
- Xcommand. See the
- X.B baud
- Xand
- X.B dial
- Xcommand descriptions.
- X
- X
- X.*s 2 "PId : display process ids"
- X.DS L
- Xusage: pid
- X.DE
- X
- XThis command displays the process id of the ECU transmitter
- Xprocess, the ECU receiver process and the process ids of
- XECU's parent and group.
- X
- X.*s 2 "PLog : procedure logging"
- X.DS L
- Xusage: plog [ <filename> | off]
- X.DE
- X
- XThis command enables or disables procedure logging.
- X
- X.*s 2 "POpd : pop to previous directory"
- X.DS L
- Xusage: popd [ | <#> | all]
- X.DE
- X
- XThis command returns to a previous directory after a
- X.B pushd
- Xcommand has been previously executed.
- X
- XIf no argument is supplied, the directory at the immediately previous
- Xlevel is restored.
- X
- XIf a numeric argument is supplied, the directory
- Xat the specified level is restored; the level numbers may be obtained by
- Xissuing a
- X.B pushd
- Xcommand with no arguments.
- X
- XIf the 'all' argument is supplied, it is treated as a numeric argument of 0;
- Xthat is the directory stack is cleared and the directory at level 0 is
- Xrestored.
- X
- XThe directory stack is shared between interactive and procedure
- Xcommands. Neither beginning nor ending a procedure affects the
- Xdirectory stack level.
- X
- X.DS L
- XExamples:
- X popd
- X popd 3
- X popd all
- X.DE
- X
- X.*s 2 "PTrace : control procedure trace"
- X.DS L
- Xusage: ptrace [ on | off | #]
- X on - set trace state to 1
- X off - set trace state to 0
- X # - set trace to numeric value #
- X.DE
- X
- XThis command controls whether or not procedure execution is
- Xto be traced. Trace output is written to
- Xthe screen and varies in its nature depending
- Xupon the command being traced. Specifically,
- Xany change to a string or integer variable
- Xis noted. If tracing is enabled, the output will also be
- Xwritten to the procedure log file (see the
- X.b plog
- Xinteractive and procedure commands).
- X
- XThe majority of procedure tracing features use the current trace
- Xstate as a binary condition. That is, either tracing is done
- Xor not. However, the procedure command
- X.B expresp
- Xemits varying levels of debugging output in a manner similar to
- Xthe uucico -x flag.
- X
- XIssuing the command with no argument shows current status.
- X
- X.*s 2 "PUshd : push to new directory"
- X.DS L
- Xusage: pushd [ | <dir>]
- X.DE
- X
- XThis command either 1) saves the current directory pathname on
- Xa stack and establishes a new current directory or
- X2) displays the current stack and current directory.
- XThe stack size is 10.
- X
- XIf no argument is supplied, the directory stack is displayed.
- X
- XThe directory stack is shared between interactive and procedure
- Xcommands. Neither beginning nor ending a procedure affects the
- Xdirectory stack level.
- X
- X.DS L
- XExamples:
- X pushd
- X pushd /tmp
- X.DE
- X
- X.*s 2 "PWd : print working directory"
- X.DS L
- Xusage: pwd
- X.DE
- X
- XThis command prints the current working directory of the ECU
- Xprocess.
- X
- X
- X.*s 2 "REDial : redial last number"
- X.DS L
- Xusage: redial [<retry-count> [<pause-interval>]]
- X.DE
- X
- XThis command redials a number previously dialed with the 'dial' command.
- XModem status is tested and multiple retries may be made. <retry-count>
- Xspecifies how many retries are to be made. <pause-interval> specifies
- Xhow many seconds the program pauses after a failure to connect. You
- Xmust specify <retry-count> in order to specify <pause-interval>. The
- Xdefault value for <retry-count> is 10, for <pause-interval> is 60.
- X
- XYou should know that in some jurisdictions, it is ILLEGAL to dial the
- Xsame telephone number more than a specified number of times during some
- Xinterval of time. In any case, a <pause-interval> less than 15 seconds
- Xis silently changed to 15 seconds.
- X
- X.*s 2 "REV : ECU revision/make date"
- X.DS L
- Xusage: rev
- X.DE
- X
- XThis command displays ECU's revision, the transmitter process id'
- Xand the date and time ECU was made.
- X
- X.*s 2 "RK : receive via C-Kermit"
- X.DS L
- Xusage: rk
- X.DE
- X
- XThis command invokes C-Kermit to
- Xreceive
- Xfiles. ECU searches the PATH list for 'kermit' or 'ckermit',
- Xexpecting to find Columbia University C-Kermit version 5A(173)
- SHAR_EOF
- true || echo 'restore of doc/_icmd.txt failed'
- fi
- echo 'End of ecu320 part 36'
- echo 'File doc/_icmd.txt is continued in part 37'
- echo 37 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
-