home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume16 / ecu3 / part32 < prev    next >
Encoding:
Internet Message Format  |  1991-01-06  |  37.2 KB

  1. From: wht@n4hgf.uucp (Warren Tucker)
  2. Newsgroups: comp.sources.misc
  3. Subject: v16i056:  ECU async comm package rev 3.0, Part32/35
  4. Message-ID: <1991Jan6.054052.29029@sparky.IMD.Sterling.COM>
  5. Date: 6 Jan 91 05:40:52 GMT
  6. Approved: kent@sparky.imd.sterling.com
  7. X-Checksum-Snefru: 9f27fe2e 96f1d17c 1420c0e5 769c88c7
  8.  
  9. Submitted-by: wht@n4hgf.uucp (Warren Tucker)
  10. Posting-number: Volume 16, Issue 56
  11. Archive-name: ecu3/part32
  12.  
  13. ---- Cut Here and feed the following to sh ----
  14. #!/bin/sh
  15. # This is part 32 of ecu3
  16. if touch 2>&1 | fgrep 'amc' > /dev/null
  17.  then TOUCH=touch
  18.  else TOUCH=true
  19. fi
  20. # ============= doc/_hdb.txt ==============
  21. if test ! -d 'doc'; then
  22.     echo 'x - creating directory doc'
  23.     mkdir 'doc'
  24. fi
  25. echo 'x - extracting doc/_hdb.txt (Text)'
  26. sed 's/^X//' << 'SHAR_EOF' > 'doc/_hdb.txt' &&
  27. X.*s 2 "HoneyDanBer UUCP Interface"
  28. X
  29. X.*s 3 "UUCP Control Files"
  30. X
  31. X.*s 4 "/usr/lib/uucp/Devices"
  32. X
  33. XECU reads this file to determine what tty devices are available
  34. Xfor outgoing calls.  The fifth field of each entry
  35. Xmust contain either the full pathname
  36. Xof a modem dialer program (with leading slash)
  37. Xor the name of an entry in the /usr/lib/uucp/Dialers file.
  38. XSysfiles support is not yet provided.  The Devices file must
  39. Xbe named /usr/lib/uucp/Devices.
  40. XFor more information, see "UUCP Dialers"
  41. Xand "Choosing a Dialout Line" below.
  42. X
  43. X.*s 4 "/usr/lib/uucp/Dialers"
  44. X
  45. X.B Dialers
  46. Xentries may be specified in the Devices entry. 
  47. XSysfiles support is not yet provided.  The Dialers file must
  48. Xbe named /usr/lib/uucp/Dialers.
  49. X
  50. X.*s 4 "/usr/lib/uucp/Sysfiles"
  51. X
  52. XSysfiles support is not yet provided.  The Devices and
  53. XDialers files must have their default names.
  54. X
  55. X.*s 4 "/usr/lib/uucp/Systems"
  56. X
  57. XNo use is made of the
  58. X.B Systems
  59. Xfile at this time.  ECU provides the
  60. Xequivalent function with its dialing directory.
  61. X
  62. X.*s 3 "Choosing a Dialout Line"
  63. X
  64. XTTY devices must be named in the style of:
  65. X.DS I
  66. X/dev/tty#N
  67. X        ^^
  68. X        ||
  69. X        |`------ uppercase letter for modem control
  70. X        |        lowercase for non-modem control
  71. X        `--------digit (1-4)
  72. X.DE
  73. X
  74. XA future version of ECU will address this limitation.
  75. X
  76. XIf you are using FAS or other third-party driver, you may
  77. Xuse ECU with ports not normally named in the /dev/tty#N
  78. Xstyle in one of two ways under UNIX and one way under XENIX:
  79. X
  80. X.DS I
  81. X1.  Under XENIX or UNIX, create a link to the port
  82. X    with a compatible name:
  83. X
  84. X          ln /dev/ttyF00 /dev/tty1a
  85. X          ln /dev/ttyFM00 /dev/tty1A
  86. X
  87. X2.  Under UNIX, add additional lines to the
  88. X    /etc/conf/node.d file and rebuild the kernel
  89. X    environment (this is the recommended approach
  90. X    for UNIX):
  91. X
  92. Xfas ttyF00  c   48
  93. Xfas tty1a   c   48
  94. Xfas ttyF01  c   49
  95. Xfas tty1b   c   49
  96. Xfas ttyFM00 c   208
  97. Xfas tty1A   c   208
  98. Xfas ttyFM01 c   209
  99. Xfas tty1B   c   209
  100. X.DE
  101. X
  102. XWhen using the interactive
  103. X.B dial
  104. Xcommand, or when dialing from the initial menu,
  105. Xif a logical or system name is specified, the directory
  106. Xentry is fetched and examined.  If the tty field specifies
  107. Xa value other than "Any", the specific line requested is
  108. Xopened, if available, and dialing commences. 
  109. XIf the specified line is not available, the dial attempt
  110. Xfails.
  111. X
  112. XIf "Any" is found in the dialing directory entry, then
  113. XECU finds an available Devices line which matches the baud rate
  114. Xspecified in the entry.  It does so by reading the
  115. X.B Dialers
  116. Xfile.
  117. X
  118. XA line is selected only if its class begins with the three
  119. Xcharacters "ACU."  UUCP will only select a line whose Devices
  120. Xentry class matches the active Systems entry class (usually
  121. X"ACU"), so usually you may make a modem accessible to ECU, but not
  122. Xto UUCP, by setting it's class to ACUECU.
  123. X
  124. XIf a line matching the necessary baud rate is found (by
  125. Xsearching /etc/utmp) to be a line enabled for login, but
  126. Xwhich is currently idle, the getty interface, described below,
  127. Xis used to acquire the line for outgoing use.
  128. X
  129. X.*s 3 "Getty Interface"
  130. X
  131. XWhen an idle dialin (enabled) line is chosen for dialout,
  132. XECU makes use of
  133. X.B /usr/lib/ecu/ecuungetty
  134. Xto signal the line's getty to release the line (via SIGUSR1).
  135. X.B Ecuungetty
  136. Xis again employed to signal the getty to reacquire the
  137. Xline when outgoing communication is complete (via SIGUSR2).
  138. X
  139. XEcuungetty is a privileged program, which must be owned by root
  140. Xand have the setuid-on-execute bit set.  A encrypted id is passed
  141. Xby ecu to ecuungetty to validate requests and to prevent abuse of
  142. Xecuungetty by hackers, malcontents and other twentieth-century
  143. Xphenomena.
  144. X
  145. X.*s 3 "UUCP Dialer Programs"
  146. X
  147. XIf the
  148. X.B Devices
  149. Xfile can be found in /usr/lib/uucp,
  150. Xand a valid entry for the attached line can be found,
  151. XECU will use the Dialers script or dialer program specified in the
  152. X.B Devices
  153. Xentry.
  154. X
  155. XSample enhanced modem dialer program sources may be found
  156. Xin the uucp subdirectory of the distribution.
  157. SHAR_EOF
  158. $TOUCH -am 1218190290 'doc/_hdb.txt' &&
  159. chmod 0644 doc/_hdb.txt ||
  160. echo 'restore of doc/_hdb.txt failed'
  161. Wc_c="`wc -c < 'doc/_hdb.txt'`"
  162. test 3940 -eq "$Wc_c" ||
  163.     echo 'doc/_hdb.txt: original size 3940, current size' "$Wc_c"
  164. # ============= doc/_icmd.txt ==============
  165. echo 'x - extracting doc/_icmd.txt (Text)'
  166. sed 's/^X//' << 'SHAR_EOF' > 'doc/_icmd.txt' &&
  167. X.*s 1 "Interactive Mode Commands"
  168. X
  169. XThe following is a partial list of commands available in the
  170. Xinteractive (non-procedure) mode.
  171. XIt is not necessary to
  172. Xto enter the entire command in most cases.  The portion of
  173. Xeach command which must be entered is capitalized in the
  174. Xfollowing section headers.
  175. X
  176. XRefer to the sections titled Interactive Command History
  177. Xand Line Editing for more information.
  178. X
  179. X.*s 2 "AX : ascii char to hex/oct/dec"
  180. X.DS L
  181. Xusage: ax [<param>]
  182. X.DE
  183. X
  184. X<param> may be a single ASCII character, a standard ASCII
  185. Xidentifier (such as ETX), or a two-character control
  186. Xcharacter identifier (such as ^C, typed as a caret followed
  187. Xby a C).
  188. X
  189. XIf no argument is supplied, a table of control characters
  190. Xis printed containing decimal, octal, hex, ASCII identifiers
  191. Xand two-character control character identifier.
  192. X
  193. X
  194. X.*s 2 "BAud : set/display line baud rate"
  195. X.DS L
  196. Xusage: baud [<baud-rate>]
  197. X.DE
  198. X
  199. X<baud-rate>, if specified, must be taken from the values
  200. X110, 300, 600, 1200, 2400, 4800, 9600, 19200 and 38400.  On
  201. Xsome systems, 19200 and 38400 may not be supported.  If baud
  202. Xrate 110 is selected, 2 stop bits are automatically
  203. Xspecified; other baud rates set 1 stop bit.  If <baud-rate>
  204. Xis not supplied, the current baud rate is displayed.
  205. X
  206. XThe setting may be automatically changed as the result of a 'dial'
  207. Xcommand.  See also the
  208. X.B dial
  209. Xand
  210. X.B parity
  211. Xcommand descriptions.
  212. X
  213. X
  214. X.*s 2 "BN : all console event alarm"
  215. X.DS L
  216. Xusage: bn [ 0 | 1 | 2 ]
  217. X.DE
  218. X
  219. X"bell notify":
  220. XIf no argument is supplied, the current setting is
  221. Xdisplayed.  Specifying 0 disables the facility; 1 causes an
  222. Xaudible alarm to be sounded on all of the XENIX virtual
  223. Xconsoles upon receipt of a bell (0x07) character from the
  224. Xremote system; 2 causes an audible alarm to be sent to all
  225. Xconsoles upon receipt of ANY characters from the remote
  226. Xsystem.  A non-zero value also causes an audible alarm to be
  227. Xsent to all console upon the successful completion of a 'redial'
  228. Xcommand which must retry more than one redial
  229. Xattempt or upon completion of a file transfer operation.
  230. X
  231. XDifferent alarms are sent depending upon the the type of
  232. Xevent causing the alarms.
  233. X
  234. XBN is set to 1 when ECU begins executing.
  235. X
  236. XThe setting of this command has no effect if ECU is not run from a
  237. Xmultiscreen.
  238. X
  239. X.*s 2 "BReak : send break to remote"
  240. X.DS L
  241. Xusage: break
  242. X.DE
  243. X
  244. XThis command sends a break signal to the remote system.
  245. X
  246. X
  247. X.*s 2 "CD : change current directory"
  248. X.DS L
  249. Xusage: cd [<dir-path>]
  250. X.DE
  251. X
  252. XThis command allows you to change the working directory of
  253. Xthe ECU process.  If <dir-path> is supplied, the previous
  254. Xworking directory is displayed, and <dir-path> is made the
  255. Xnew working directory.  A history of previous directory
  256. Xchanges is maintained.  Entering the
  257. X.B cd
  258. Xcommand shows the numbered history list and allows you to select a new
  259. Xdirectory by entering the number.  Other commands allow
  260. Xdeletion of directories from the list or saving the list to
  261. Xfile ~/.ecu/phone.  This file is automatically read at ECU
  262. Xstartup, providing a convenient list of directories
  263. Xavailable for quick selection.
  264. X
  265. X
  266. X.*s 2 "DA : decimal to ascii char"
  267. X.DS L
  268. Xusage: da [<decimal-val>]
  269. X.DE
  270. X
  271. X<decimal-val> is a decimal value between 0 and 0377; the
  272. Xparity (sign) bit is stripped and the equivalent ASCII
  273. Xcharacter value is displayed.
  274. X
  275. XIf no argument is supplied, a table of control characters
  276. Xis printed containing decimal, octal, hex, ASCII identifiers
  277. Xand two-character control character identifier.
  278. X
  279. X
  280. X.*s 2 "Dial : dial remote destination"
  281. X.DS L
  282. Xusage: dial [<dial-param>]
  283. X.DE
  284. X
  285. X<dial-param> may take one of two forms, a telephone number
  286. Xto dial or a logical name which can be found in the user
  287. Xphone directory (in file ~/.ecu/phone).
  288. X
  289. XIf a telephone number is supplied, the phone number is
  290. Xdialed; you must first have set the desired baud rate and
  291. Xparity using the
  292. X.B baud
  293. Xand
  294. X.B parity
  295. Xcommands.
  296. X
  297. XIf a logical name is entered, the phone directory is searched;
  298. Xif the entry is found, the baud rate and parity
  299. Xis automatically set.
  300. XIf a procedure file can be found in the current directory
  301. Xor the users home .ECU subdirectory whose name matches
  302. Xthe logical name, then the procedure is executed with
  303. Xthe argument '!INTERACTIVE'.
  304. X
  305. XIf <dial-param> is not supplied, then a screen-oriented
  306. Xself-documenting <:-)> directory manager is executed; you may
  307. Xscan the the directory to select a number to dial, as well
  308. Xas add, remove and edit entries.
  309. X.*s 3 "Alternate Dialing Directory"
  310. X
  311. XThe default dialing directory is ~/.ecu/phone.  You may change to
  312. Xanother directory by issuing the interactive 
  313. X.B dial
  314. Xcommand with no arguments to enter the dialing directory
  315. Xmenu, selecting 'c'hange dial directory, and entering the name
  316. Xof a new directory.  The specified pathname must either be
  317. Xa fully qualified pathname or a pathname relative to the
  318. Xcurrent working directory.  Once an alternate directory
  319. Xhas been selected, it will be used by
  320. Xboth the interactive command 'dial <logical>' and 
  321. Xthe dialing directory menu.
  322. X
  323. XSee the section below titled "Choosing a Dialout Line" for
  324. Xmore information on using "Any" in the "tty"
  325. Xfield of a directory entry.
  326. X
  327. X.*s 3 "Multi-Number Redial Cycle"
  328. X
  329. XWhile in the  dialing directory, you may "mark" one or more
  330. Xentries for a cyclical redial attempt.  When any entry is
  331. Xmarked, typing ENTER (carriage return or line feed/newline)
  332. Xcauses each marked entry to be dialed in turn until one of
  333. Xthe remote systems is successfully connected.  When a
  334. Xsuccessful connection occurs, ECU unmarks the 
  335. Xassociated entry, leaving the others marked.  Thus, you
  336. Xmay mark several entries and merely reenter the dialing
  337. Xdirectory after each connection is finished and press
  338. XENTER to reenter the redial cycle.  If a single entry
  339. Xis marked, ECU pauses 15 seconds between each dialing attempt,
  340. Xotherwise 5 seconds.  Presing 'c' will cause the pause to
  341. Xbe prematurely terminated and the next attempt to be made.
  342. XPressing your interrupt key (DEL, ^C or whatever) aborts
  343. Xthe cycle.  If you interrupt an active dialing attempt, you 
  344. Xwill be prompted as to whether or not you wish to cycle to the next
  345. Xentry or abort the cycle.
  346. X
  347. XIf no entries are marked for redial, the current, highlighted
  348. Xdirectory entry is used for dialing.
  349. X
  350. XTo unmark a single entry, press 'M' (uppercase M).
  351. XTo unmark all entries, press 'U'.
  352. X
  353. X.*s 3 "Automatic Login Procedure"
  354. X
  355. XUpon dialing from the menu,
  356. Xif a procedure file can be found in the current directory
  357. Xor the users home .ECU subdirectory whose name matches
  358. Xthe logical name, then the procedure is executed with
  359. Xthe argument '!MENU'.  It is the responsibility of the
  360. Xautomatically executed procedure to establish connection
  361. Xwith the remote system (by using the procedure
  362. X.B dial
  363. Xcommand).  An example of an automatic login procedure
  364. Xcan be found in the distribution subdirectory 'models'
  365. Xnamed 'sysname.ep'.  A companion procedure is 'unixlogin.ep'.
  366. X
  367. XFor example,
  368. X.DS L
  369. X.--[ dialing directory ]-- /u1/wht/.ecu/phone -- ...
  370. X| entry name | telephone number | tty | baud P | ...
  371. X| sysname    | 555-1234         | Any | 2400 N | ...
  372. X.DE
  373. X.DS L
  374. X#-----------------------------------------------------------
  375. X# sysname.ep - procedure to call UNIX-like system 'sysname'
  376. X#
  377. X# CONFIDENTIAL - This function should be chmod 0600 because
  378. X# it contains a password which you probably don't want to be
  379. X# common knowledge.
  380. X#
  381. X# This procedure calls 'unixlogin.ep' to do the hard work.
  382. X#-----------------------------------------------------------
  383. X
  384. X    mkvar $s_pwd(20)    # local variable preserves password
  385. X    $s_pwd = 'password' # security by disappearing when the
  386. X                        # procedure terminates
  387. X
  388. X#   also, by keeping the password text off the following line,
  389. X#   the password will not be displayed if you abort (interrupt)
  390. X#   the procedure
  391. X
  392. X    do 'unixlogin' %argv(0) 'username' $s_pwd 'ansi-or-whatever'
  393. X.DE
  394. X
  395. X.*s 2 "DO : perform procedure"
  396. X.DS L
  397. Xusage: do <procname> [<arg> ... ]
  398. X.DE
  399. X
  400. XPerform ECU procedure.  Ecu searches for <procname>.ep in
  401. Xthe current directory.  If the file is not found, the program
  402. Xlooks for the file in the ~/.ECU directory.  One or more
  403. Xarguments may be passed to the procedure.  Arguments
  404. Xaare made available in the called procedure by use of the
  405. X.B %argc
  406. Xinteger function and
  407. X.B %argv
  408. Xstring function.
  409. X
  410. XUnlike arguments to the
  411. X.B do
  412. Xprocedure command, 
  413. Xarguments to the
  414. X.B do
  415. Xinteractive command are not quoted and may not contain
  416. Xembedded spaces or tabs.
  417. X
  418. X
  419. X.*s 2 "DUplex : set/display duplex"
  420. X.DS L
  421. Xusage: duplex [ Full | Half ]
  422. X.DE
  423. X
  424. XThis command specifies whether or not ECU is to locally echo
  425. Xcharacters typed by you at the keyboard.  The overwhelming
  426. Xmajority of remote systems provide the echo function, in
  427. Xwhich case full duplex must be used.  For the rare occasions
  428. Xwhen the remote system does not echo your keyboard input,
  429. Xsetting half duplex will allow you to see what you are
  430. Xtyping.
  431. X
  432. XWhen communicating with another terminal in a "teletype
  433. Xconversation", setting half duplex is generally required.
  434. XIn such cases, use of the 
  435. X.B nl ,
  436. X.B nlin
  437. X.R
  438. Xand
  439. X.B nlout
  440. Xcommands may also be required.
  441. X
  442. XThe default setting for duplex is full.
  443. X
  444. X
  445. X.*s 2 "EXit : drop carrier, exit program"
  446. X.DS L
  447. Xusage: exit
  448. X.DE
  449. X
  450. XThis command terminates ECU promptly.  If your modem does
  451. Xnot drop carrier upon loss of Data Terminal Ready (DTR),
  452. Xthe command will terminate ECU,
  453. Xbut may leave the communications line off hook.
  454. XIt is strongly recommended that you configure your
  455. Xmodem to hang up the phone line when DTR drops.  A shorthand
  456. Xversion of this command exists: '.' is equivalent to 
  457. X.B exit .
  458. X
  459. X
  460. X.*s 2 "FI : send text file to line"
  461. X.DS L
  462. Xusage: fi [<filename>]
  463. X.DE
  464. X
  465. X"file insert": This command causes file characters to be inserted
  466. Xinto the transmit data stream as though they had been entered at the
  467. Xkeyboard.  No error correction is provided, although XON/XOFF flow
  468. Xcontrol is obeyed.
  469. X
  470. XIf <filename> is not entered on the command line, a prompt for the
  471. Xfilename is made.  Once the filename has been entered and file has
  472. Xbeen opened, you are asked whether the file should be transmitted at
  473. Xfull speed, by "echo pacing" or by a single line at a time.  You may
  474. Xalso append an 'f', 'e' or 's' argument to the command line.
  475. X
  476. XIf your remote can tolerate it, full speed transmission is the
  477. Xfastest.  Some systems are not capable of receiving large amount of
  478. Xdata ("streaming data") without pauses.  Even with "full" speed
  479. Xtransmission, some "pacing" (inter-character delay) is introduced to
  480. Xease loading on the remote system.  Pressing the interrupt key (DEL)
  481. Xstops a full speed transmission.
  482. X
  483. XBy specifying echo pacing, it is possible to increase the likelihood
  484. Xof proper receipt.  Echo pacing reads the return data stream to
  485. Xattempt to keep from overloading the remote.  Pressing the interrupt
  486. Xkey (DEL) stops an echo paced transmission.
  487. X
  488. XAs a last resort, if echo pacing is not working for you, (i.e., you
  489. Xare using the command in an environment where the remote does not
  490. Xecho your characters), single line at a time transmission is
  491. Xavailable.  With "single" line transmission, you must press the
  492. Xspace key to initiate sending each line.  Pressing the 'ESC' or 's'
  493. Xkey stops the transfer.
  494. X
  495. X.*s 2 "FKey : function key definition"
  496. X.DS L
  497. Xusage: fkey [<keyset_name>]
  498. X.DE
  499. X
  500. XThis command allows the mapping of function keys F1-F12,
  501. XPgUp, PgDn, End and Ins and the cursor up, down, left and
  502. Xright keys to emit a desired sequence of characters when a
  503. Xfunction key is pressed.  <keyset_name> specifies which key
  504. Xset in ~/.ecu/keys is to be selected. Sample entry:
  505. X.DS I
  506. Xhayes
  507. X    F1:escape:+ + +
  508. X    F2:autoans:A T S 0 = 1 cr
  509. X    F3:dial:A T D T
  510. Xbbs
  511. X    F1:cancel:^K
  512. X    F2:yes:y cr
  513. X.DE
  514. X
  515. XIf a keyset_name matches a logical dial directory name, it
  516. Xis loaded when the number is dialed.
  517. X
  518. XThe characters in the mapped string may be any printable character
  519. Xor one of the following:
  520. X.DS I
  521. Xmap -> character       map -> character
  522. X---    -----------     ---    ------------
  523. Xnul    0 000 00 ^@  |  dle    16 020 10 ^P
  524. Xsoh    1 001 01 ^A  |  dc1    17 021 11 ^Q
  525. Xstx    2 002 02 ^B  |  dc2    18 022 12 ^R
  526. Xetx    3 003 03 ^C  |  dc3    19 023 13 ^S
  527. Xeot    4 004 04 ^D  |  dc4    20 024 14 ^T
  528. Xenq    5 005 05 ^E  |  nak    21 025 15 ^U
  529. Xack    6 006 06 ^F  |  syn    22 026 16 ^V
  530. Xbel    7 007 07 ^G  |  etb    23 027 17 ^W
  531. Xbs     8 010 08 ^H  |  can    24 030 18 ^X
  532. Xht     9 011 09 ^I  |  em     25 031 19 ^Y
  533. Xnl    10 012 0a ^J  |  sub    26 032 1a ^Z
  534. Xvt    11 013 0b ^K  |  esc    27 033 1b ^[
  535. Xff    12 014 0c ^L  |  fs     28 034 1c ^\\
  536. Xcr    13 015 0d ^M  |  gs     29 035 1d ^]
  537. Xso    14 016 0e ^N  |  rs     30 036 1e ^^
  538. Xsi    15 017 0f ^O  |  us     31 037 1f ^_
  539. X.DE
  540. X
  541. X.*s 2 "HAngup : hang up modem"
  542. X.DS L
  543. Xusage: hangup
  544. X.DE
  545. X
  546. XThis causes DTR to be momentarily interrupted,
  547. Xterminating any outstanding connection.
  548. XYour DCE (modem) must be able to drop carrier upon loss of DTR.
  549. X
  550. X.*s 2 "HElp : invoke help"
  551. X.DS L
  552. Xusage: help [<cmd-name>]
  553. X.DE
  554. X
  555. XIssuing this command with no argument displays a list of
  556. Xcommands followed by a request for a command for further
  557. Xinformation.
  558. X
  559. X.*s 2 "LLp : set session log to /dev/lp"
  560. X.DS L
  561. Xusage: llp
  562. X.DE
  563. X
  564. XThis command is a
  565. Xshorthand version of 'log /dev/lp'.  /dev/lp must not be
  566. Xunder the control of a print spooler.
  567. X
  568. X.*s 2 "LOFf : turn off session logging"
  569. X.DS L
  570. Xusage: loff
  571. X.DE
  572. X
  573. XThis command is shorthand for 'log off'.  If session logging
  574. Xis active, it is turned off.
  575. X
  576. X.*s 2 "LOG : session logging control"
  577. X.DS L
  578. Xusage: log [-s] [-r] [ | off | filename ]
  579. X    -s "scratch" previous file contents; otherwise append
  580. X    -r "raw" logging; otherwise non-printable characters
  581. X        other than tab and newline are omitted from the log
  582. X.DE
  583. X
  584. XThis command controls session logging; issuing the command
  585. Xwith no argument causes the status of session logging to be
  586. Xdisplayed.  The special argument 'off' causes active logging
  587. Xto be terminated.  Other argument values cause logging to
  588. Xstart using the argument as a filename.  Issuing a 
  589. X.B log
  590. Xcommand with a filename when logging is already active causes the
  591. Xprevious file to be closed and the new file to be opened.
  592. XSwitches are meaningful only when used in conjunction with a
  593. Xfilename to start logging.
  594. X
  595. X
  596. X.*s 2 "NL : display CR/LF mapping"
  597. X.DS L
  598. Xusage: nl
  599. X.DE
  600. X
  601. XDisplay the current setting of CR/LF mapping.  For more
  602. Xinformation, refer to the
  603. X.B nlin
  604. Xand
  605. X.B nlout
  606. Xcommand descriptions.
  607. X
  608. X
  609. X.*s 2 "NLIn : set receive CR/LF mapping"
  610. X.DS L
  611. Xusage: nlin [<y-n>]
  612. X.DE
  613. X
  614. XThis command controls whether or not a newline (NL/LF)
  615. Xcharacter is sent to the screen upon receipt of a carriage
  616. Xreturn (CR) from the remote system.  Most remote computers
  617. Xsupply a NL after CR.  When communicating with another
  618. Xterminal in a "teletype conversation", this is generally not
  619. Xthe case (see also the 
  620. X.B duplex
  621. Xcommand).
  622. X
  623. XIssuing the command without <y-n> causes the current setting
  624. Xto be displayed.  The format of <y-n> is flexible: 'y' or '1'
  625. Xenables appending NL to CR, 'n' or '0' causes the
  626. Xfeature to be disabled.
  627. X
  628. X
  629. X.*s 2 "NLOut : set transmit CR/LF mapping"
  630. X.DS L
  631. Xusage: nlout [<y-n>]
  632. X.DE
  633. X
  634. XThis command controls whether or not a newline (NL/LF)
  635. Xcharacter is sent to the remote system upon transmission of
  636. Xa carriage return (CR) entered by the keyboard.  Most remote
  637. Xcomputers do not require (indeed "dislike") a NL after CR.
  638. XWhen communicating with another terminal in a "teletype
  639. Xconversation", this is generally not the case (see also the
  640. X.B duplex
  641. Xcommand).
  642. X
  643. XIssuing the command without <y-n> causes the current setting
  644. Xto be displayed.  The format of <y-n> is flexible: 'y' or '1'
  645. Xenables appending NL to CR, 'n' or '0' causes the
  646. Xfeature to be disabled.
  647. X
  648. X
  649. X.*s 2 "OA : octal to ascii char"
  650. X.DS L
  651. Xusage: oa [<octal-val>]
  652. X.DE
  653. X
  654. X<octal-val> is a octal value between 0 and 0377; the parity
  655. X(sign) bit is stripped and the equivalent ASCII character
  656. Xvalue is displayed.
  657. X
  658. XIf no argument is supplied, a table of control characters
  659. Xis printed containing decimal, octal, hex, ASCII identifiers
  660. Xand two-character control character identifier.
  661. X
  662. X
  663. X.*s 2 "PARity : set/display line parity"
  664. X.DS L
  665. Xusage: parity [ None | Even | Odd ]
  666. X.DE
  667. X
  668. XThis command controls the parity of characters transmitted
  669. Xby the keyboard.  Issuing the command with no argument
  670. Xdisplays the current setting.  When the argument is
  671. Xsupplied, only the first character is required.  Even or odd
  672. Xparity implies seven data bits; no parity implies eight data
  673. Xbits.  Parity of incoming characters is not checked.
  674. X
  675. XThe setting may be automatically changed as the result of an
  676. Xinteractive or procedure
  677. X.B dial
  678. Xcommand.  See the 
  679. X.B baud
  680. Xand 
  681. X.B dial
  682. Xcommand descriptions.
  683. X
  684. X
  685. X.*s 2 "PId : display process ids"
  686. X.DS L
  687. Xusage: pid
  688. X.DE
  689. X
  690. XThis command displays the process id of the ECU transmitter
  691. Xprocess, the ECU receiver process and the process ids of
  692. XECU's parent and group.
  693. X
  694. X.*s 2 "PLog : procedure logging"
  695. X.DS L
  696. Xusage: plog [ <filename> | off]
  697. X.DE
  698. X
  699. XThis command enables or disbles procedure logging.
  700. X
  701. X.*s 2 "PTrace : control procedure trace"
  702. X.DS L
  703. Xusage: ptrace [ 0 | 1 | on | off]
  704. X.DE
  705. X
  706. XThis command controls whether or not procedure execution is
  707. Xto be traced. Trace output is written to
  708. Xthe screen and varys in its nature depending
  709. Xupon the command being traced.  Specifically,
  710. Xany change to a string or integer variable
  711. Xis noted.  If tracing is enabled, the output will also be
  712. Xwritten to the procedure log file (see the
  713. X.b plog
  714. Xinteractive and procedure commands).
  715. XIssuing the command with no argument shows current status.
  716. X
  717. X.*s 2 "PWd : print working directory"
  718. X.DS L
  719. Xusage: pwd
  720. X.DE
  721. X
  722. XThis command prints the current working directory of the ECU
  723. Xprocess.
  724. X
  725. X
  726. X.*s 2 "REDial : redial last number"
  727. X.DS L
  728. Xusage: redial [<retry-count> [<pause-interval>]]
  729. X.DE
  730. X
  731. XThis command redials a number previously dialed with the 'dial' command.
  732. XModem status is tested and multiple retries may be made.  <retry-count>
  733. Xspecifies how many retries are to be made.  <pause-interval> specifies
  734. Xhow many seconds the program pauses after a failure to connect.  You
  735. Xmust specify <retry-count> in order to specify <pause-interval>.  The
  736. Xdefault value for <retry-count> is 10, for <pause-interval> is 60.
  737. X
  738. XYou should know that in some jurisdictions, it is ILLEGAL to dial the
  739. Xsame telephone number more than a specified number of times during some
  740. Xinterval of time.  In any case, a <pause-interval> less than 15 seconds
  741. Xis silently changed to 15 seconds.
  742. X
  743. X.*s 2 "REV : ECU revision/make date"
  744. X.DS L
  745. Xusage: rev
  746. X.DE
  747. X
  748. XThis command displays ECU's revision, the transmitter process id'
  749. Xand the date and time ECU was made.
  750. X
  751. X.*s 2 "RK : receive via C-Kermit"
  752. X.DS L
  753. Xusage: rk
  754. X.DE
  755. X
  756. XThis command searches the PATH list for 'ckermit' (Columbia
  757. XUniversity C-Kermit) and invokes it to receive files.
  758. X
  759. XThe file ~/.kermrc must be set up to have any desired
  760. Xinitialization paraeters you desire.  Refer to C-Kermit
  761. Xdocumentation for more information.
  762. X
  763. X
  764. X.*s 2 "RS : receive via SEAlink"
  765. X.DS L
  766. Xusage: rs
  767. X.DE
  768. X
  769. XThis command invokes a SEAlink receive protocol.
  770. X
  771. X.*s 2 "RTScts : control RTS/CTS flow control"
  772. X.DS L
  773. Xusage: rtscts [ off| on | no | yes | 0 | 1 | 2 | 3 ]
  774. X.DE
  775. X
  776. XThis command controls the RTS/CTS flow control feature of
  777. Xthe SCO UNIX/XENIX line driver (which may or may not work).
  778. XIf no argument is supplied, the current setting is
  779. Xdisplayed.  Specifying 0 or n disables the facility;
  780. X1 or y causes RTS/CTS flow control to be enabled.
  781. X
  782. XWhat the command does is to manipulate the RTSFLOW and CTSFLOW
  783. Xbits of the termio c_cflag word (see 
  784. X.B termio(S) ).
  785. X
  786. X.DS I
  787. Xargument | RTSFLOW | CTSFLOW
  788. X---------+---------+---------
  789. X  off    |   0     |   0
  790. X  on     |   1     |   1
  791. X  no     |   0     |   0
  792. X  yes    |   1     |   1
  793. X  0      |   0     |   0
  794. X  1      |   1     |   1
  795. X  2      |   1     |   0
  796. X  3      |   0     |   1
  797. X.DE
  798. X
  799. X.*s 2 "RX : receive via XMODEM/CRC"
  800. X.DS L
  801. Xusage: rx
  802. X.DE
  803. X
  804. XThis command invokes ecurz to receive files from the remote
  805. Xsystem using XMODEM/CRC.
  806. X
  807. XAfter entering the command, you are prompted as to whether
  808. Xor not file CR/LF characters are to be converted to
  809. Xnewlines.  If you are transferring text files from a system
  810. Xwhich contain CR/LF line terminators, you must answer yes
  811. Xto this question.  You should answer no when transferring
  812. Xbinary files, such as executables, .arc files and the like.
  813. XFile transfer progress is presented on a visual display.  To
  814. Xabort the transfer, press your interrupt key (usually DEL
  815. Xunless reset with stty(C)).
  816. X
  817. X
  818. X.*s 2 "RY : receive via YMODEM Batch"
  819. X.DS L
  820. Xusage: ry
  821. X.DE
  822. X
  823. XThis command invokes ecurz to receive files from the remote
  824. Xsystem using YMODEM batch with CRC-16 error correction.  The
  825. XYMODEM is "true YMODEM", not XMODEM-1k.  File transfer
  826. Xprogress is presented on a visual display.  To abort the
  827. Xtransfer, press your interrupt key (usually DEL unless reset
  828. Xwith stty(C)).
  829. X
  830. X
  831. X.*s 2 "RZ : receive via ZMODEM/CRC32"
  832. X.DS L
  833. Xusage: rz
  834. X.DE
  835. X
  836. XThis command invokes ecurz to receive files from the remote
  837. Xsystem using ZMODEM/CRC32.  File transfer progress is
  838. Xpresented on a visual display.  To abort the transfer, press
  839. Xyour interrupt key (usually DEL unless reset with stty(C)).
  840. X
  841. X
  842. X.*s 2 "SDNAME : select screen dump file name"
  843. X.DS L
  844. Xusage: sdname [<filename>]
  845. X.DE
  846. X
  847. XWhen the "cursor 5" key is pressed, the screen contents are
  848. Xdumped to a file.  By default, this file is named '~/.ecu/screen.dump'.
  849. XThis command either displays or changes the current screen
  850. Xdump file name, depending upon whether or not a argument
  851. Xis supplied.
  852. X
  853. XThe actions of this command have no effect on the
  854. Xoperation of the
  855. X.b scrdump
  856. Xprocedure command.
  857. X
  858. XSee the section titled "Screen Dump" for more information.
  859. X
  860. X.*s 2 "SK : send via C-Kermit"
  861. X.DS L
  862. Xusage: sk [<file-list>]
  863. X.DE
  864. X
  865. XThis command searches the PATH list for 'ckermit' (Columbia
  866. XUniversity C-Kermit) and invokes it to send files.  The file
  867. X~/.kermrc must be set up to have any desired initialization
  868. Xparaeters you desire.
  869. X
  870. XAfter entering the command, you are prompted as to whether
  871. Xor not file newline characters are to be converted to CR/LF.
  872. XIf you are transferring text files to a system which
  873. Xrequires CR/LF line terminators, you must answer yes to this
  874. Xquestion.  You should answer no when transferring binary
  875. Xfiles, such as executables, .arc files and the like.  You
  876. Xare prompted to enter a list of files to send, which may
  877. Xcontain one or more wildcard specifications.
  878. X
  879. XThe file ~/.kermrc must be set up to have any desired
  880. Xinitialization arguments you desire.  Refer to C-Kermit
  881. Xdocumentation for more information.
  882. X
  883. X
  884. X.*s 2 "SS : send via SEAlink"
  885. X.DS L
  886. Xusage: ss [<file-list>]
  887. X.DE
  888. X
  889. XThis command invokes a SEAlink file transmission protocol.
  890. X.DS L
  891. X
  892. X .--[ Send SEAlink ]-------- dir: /u1/src/ecu ------------------.
  893. X |                                                              |
  894. X |  File(s) to send:                                            |
  895. X |  ___________________________________________________________ |
  896. X |                                                              |
  897. X |    TAB:next  ^B:prev  END:perform transfer  ESC:abort        |
  898. X `-- enter file(s) to send -------------------------------------'
  899. X.DE
  900. X
  901. X.*s 2 "STat : connection status"
  902. X.DS L
  903. Xusage: stat
  904. X.DE
  905. X
  906. XThis command displays statistics about ECU usage.
  907. XExample display:
  908. X.DS L
  909. XDate/time: 06-14-1988 11:40:35 (UTC 15:40)
  910. XTotal chars transmitted: 178
  911. XTotal chars received:    3681
  912. X
  913. XDate/time: 06-14-1988 14:41:24 (UTC 18:41)
  914. XConnected to CompuHost (555-1234) at 14:40:57
  915. XParameters: 2400-N-1 Connect time: 00:01:27
  916. XTotal chars transmitted: 234 (since CONNECT 142)
  917. XTotal chars received:    2278 (since CONNECT 1478)
  918. X.DE
  919. X
  920. X.*s 2 "SX : send via XMODEM/CRC"
  921. X.DS L
  922. Xusage: sx [<file-name>]
  923. X.DE
  924. X
  925. XThis command invokes ecusz to send a file to the remote
  926. Xsystem using XMODEM/CRC.
  927. X
  928. XAfter entering the command, you are prompted as to whether
  929. Xor not file CR/LF characters are to be converted to
  930. Xnewlines.  If you are transferring text files from a system
  931. Xwhich contain CR/LF line terminators, you must answer yes
  932. Xto this question.  You should answer no when transferring
  933. Xbinary files, such as executables, .arc files and the like.
  934. X
  935. XYou are prompted to enter a filename to send.  File transfer
  936. Xprogress is presented on a visual display.  To abort the
  937. Xtransfer, press your interrupt key (usually DEL unless reset
  938. Xwith stty(C)).
  939. X.DS L
  940. X .--[ Send XMODEM/CRC ]----- dir: /u1/src/ecu -----------.
  941. X |                                                       |
  942. X |  File to send:                                        |
  943. X |  ____________________________________________________ |
  944. X |                                                       |
  945. X |  Binary: Y (no NL-CR/LF translation)                  |
  946. X |                                                       |
  947. X |   TAB:next  ^B:prev  END:perform transfer  ESC:abort  |
  948. X `-- enter file(s) to send ------------------------------'
  949. X.DE
  950. X
  951. X.*s 2 "SY : send via YMODEM Batch"
  952. X.DS L
  953. Xusage: sy [<file-list>]
  954. X.DE
  955. X
  956. XThis command invokes ecusz to send file(s) to the remote
  957. Xsystem using YMODEM/CRC.
  958. X
  959. XYou are prompted to enter filename(s) to send, which may
  960. Xconsist of one or more wildcard specifications.  File
  961. Xtransfer progress is presented on a visual display.  To
  962. Xabort the transfer, press your interrupt key (usually DEL
  963. Xunless reset with stty(C)).
  964. X.DS L
  965. X .--[ Send YMODEM/CRC ]----- dir: /u1/src/ecu -----------.
  966. X |                                                       |
  967. X |  File to send:                                        |
  968. X |  ____________________________________________________ |
  969. X |                                                       |
  970. X |  Binary: Y (no NL-CR/LF translation)                  |
  971. X |                                                       |
  972. X |   TAB:next  ^B:prev  END:perform transfer  ESC:abort  |
  973. X `-- enter file(s) to send ------------------------------'
  974. X.DE
  975. X
  976. X.*s 2 "SZ : send via ZMODEM/CRC32"
  977. X.DS L
  978. Xusage: sz [<file-list>]
  979. X.DE
  980. X
  981. XThis command invokes ecusz to send file(s) to the remote
  982. Xsystem using ZMODEM/CRC32.
  983. X
  984. XYou are prompted to enter filename(s) to send, which may
  985. Xconsist of one or more wildcard specifications.  File
  986. Xtransfer progress is presented on a visual display.  To
  987. Xabort the transfer, press your interrupt key (usually DEL
  988. Xunless reset with stty(C)).
  989. X
  990. XNote: if you specify sending only newer files and the remote
  991. Xreceiver does not support the feature, it may skip (reject)
  992. Xall your files.  Retry the transfer specifying 'N' to 'Transfer
  993. Xonly newer files'.
  994. X.DS L
  995. X.--[ Send ZMODEM/CRC32 ]--- dir: /tmp ---------------------------.
  996. X|                                                                |
  997. X|  File(s) to send:                                              |
  998. X|  ckermit-5a-130                                                |
  999. X|                                                                |
  1000. X|  Binary: Y (no NL-CR/LF translation)                           |
  1001. X|  Overwrite destination files: Y                                |
  1002. X|  Send full pathames:  N                                        |
  1003. X|  Transfer only newer files: N                                  |
  1004. X|                                                                |
  1005. X|     TAB:next  ^B:prev  END:perform transfer  ESC:abort         |
  1006. X`-- enter file(s) to send ---------------------------------------'
  1007. X`-- Y: no conversion, N: NLs converted to CR/LF -----------------'
  1008. X`-- Y: overwrite, N: protect destination files ------------------'
  1009. X`-- Y: full pathnames, N: strip directory portion from names ----'
  1010. X`-- Y: send only if source newer than destination, N send all ---'
  1011. X.DE
  1012. X
  1013. X.*s 2 "TIme : time of day"
  1014. X.DS L
  1015. Xusage: time
  1016. X.DE
  1017. X
  1018. XThis command displays the local date and time as well as the
  1019. Xcurrent UTC.
  1020. X
  1021. X.*s 2 "TTy : console tty name"
  1022. X.DS L
  1023. Xusage: tty
  1024. X.DE
  1025. X
  1026. XThis command displays the current console tty name.
  1027. X
  1028. X
  1029. X.*s 2 "XA : hex to ascii char"
  1030. X.DS L
  1031. Xusage: xa [<hex-val>]
  1032. X.DE
  1033. X
  1034. X<hex-val> is a hexadecimal value between 0 and FF; the
  1035. Xparity (sign) bit is stripped and the equivalent ASCII
  1036. Xcharacter value is displayed.
  1037. X
  1038. XIf no argument is supplied, a table of control characters
  1039. Xis printed containing decimal, octal, hex, ASCII identifiers
  1040. Xand two-character control character identifier.
  1041. X
  1042. X
  1043. X.*s 2 "XON : xon/xoff flow control"
  1044. X.DS L
  1045. Xusage: xon [<arg>]
  1046. Xwhere <arg> is on    input and output flow control
  1047. X               off   no flow control
  1048. X               in    input flow control
  1049. X               out   output flow control
  1050. X.DE
  1051. X
  1052. XThis command enables or disables xon/xoff flow control.
  1053. XIf the argument is omitted, the current flow control state is displayed.
  1054. X
  1055. X.*s 2 "! : execute shell"
  1056. X.DS L
  1057. Xusage: !
  1058. X       !<command>
  1059. X.DE
  1060. X
  1061. XThe '!' command is a shell escape.  The environment variable
  1062. XSHELL is read to determine what shell program to execute
  1063. X(e.g., /bin/sh, etc).  If '!' is entered by itself, an
  1064. Xinteractive shell is started; press ^D to exit back to ECU.
  1065. XIf <command> is supplied, it is executed by the shell with
  1066. Xan immediate return to ECU.
  1067. X
  1068. SHAR_EOF
  1069. $TOUCH -am 1226042290 'doc/_icmd.txt' &&
  1070. chmod 0644 doc/_icmd.txt ||
  1071. echo 'restore of doc/_icmd.txt failed'
  1072. Wc_c="`wc -c < 'doc/_icmd.txt'`"
  1073. test 28501 -eq "$Wc_c" ||
  1074.     echo 'doc/_icmd.txt: original size 28501, current size' "$Wc_c"
  1075. # ============= doc/_intro.txt ==============
  1076. echo 'x - extracting doc/_intro.txt (Text)'
  1077. sed 's/^X//' << 'SHAR_EOF' > 'doc/_intro.txt' &&
  1078. X.*s 1 "Introduction"
  1079. X
  1080. XECU (Extended Call Utility) is a personal communications program for
  1081. Xusers of SCO UNIX V.3.2/386 and XENIX V on 80286 and 80386 systems.
  1082. XThis preliminary document describes ECU functionality and implementation
  1083. Xfrom a technical point of view.
  1084. X
  1085. XECU provides the classic terminal communications facility of passing
  1086. Xkeyboard data to a serial line and incoming data to the computer video
  1087. Xdisplay.  In addition, a dialing directory, a function key mapping
  1088. Xfeature, and session logging are available.
  1089. X
  1090. XA very flexible procedure (script) language is also incorporated to
  1091. Xautomate many communications tasks.  Using shell scripts and ECU
  1092. Xprocedures, it is possible to use ECU in an entirely "unattended"
  1093. Xfashion for batch-style communications sessions.
  1094. X
  1095. XECU presents to the host a flexible "ANSI" terminal type, accepting
  1096. Xany valid video control sequences from MS-DOS or SCO documentation
  1097. Xas of late 1990.  It also fares well, though imperfectly, with
  1098. XSun and VT-100 in-band video control sequences.
  1099. XStandards are great: everybody should have one, especially if
  1100. Xthey call it "ANSI."
  1101. XFor more information,
  1102. Xrefer to the section below titled "ANSI Filter."
  1103. X
  1104. XThe program supports almost any local terminal (console) which
  1105. Xcan be described in a termcap database entry.
  1106. XFor more information, refer to "Supported Terminals."
  1107. X
  1108. XECU supports numerous file transfer protocols: as of this writing,
  1109. XXMODEM, XMODEM/CRC, XMODEM-1K, YMODEM/CRC Batch, ZMODEM/CRC-16,
  1110. XZMODEM/CRC-32, Kermit and SEAlink are supported.
  1111. XFor more information, refer to the sections describing the
  1112. Xindividual interactive and procedure file transfer commands.
  1113. X
  1114. XThis document is better than that supplied with
  1115. XECU 2.0, but is still rough in many places.
  1116. XIt attempts to get across to the inquiring mind how ECU
  1117. Xworks.  In places, an understanding of the UNIX programming model, UNIX,
  1118. XXENIX and UUCP constructs and asynchronous communications techniques
  1119. Xis assumed.  In other places, the document goes into tedious detail
  1120. Xabout the simplest of concepts.  A great deal of attention has been
  1121. Xplaced in accurate and robust coding of the program.  Perhaps, time
  1122. Xpermitting, one day I can say the same for this document.
  1123. SHAR_EOF
  1124. $TOUCH -am 1218182790 'doc/_intro.txt' &&
  1125. chmod 0644 doc/_intro.txt ||
  1126. echo 'restore of doc/_intro.txt failed'
  1127. Wc_c="`wc -c < 'doc/_intro.txt'`"
  1128. test 2184 -eq "$Wc_c" ||
  1129.     echo 'doc/_intro.txt: original size 2184, current size' "$Wc_c"
  1130. true || echo 'restore of doc/_p_cmd.txt failed'
  1131. echo End of part 32, continue with part 33
  1132. exit 0
  1133. --------------------------------------------------------------------
  1134. Warren Tucker, TuckerWare emory!n4hgf!wht or wht@n4hgf.Mt-Park.GA.US
  1135. Hacker Extraordinaire  d' async PADs,  pods,  proteins and protocols
  1136.  
  1137. exit 0 # Just in case...
  1138. -- 
  1139. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1140. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1141. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1142. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1143.