home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume21 / ecuman / part04 < prev    next >
Text File  |  1991-08-09  |  38KB  |  1,258 lines

  1. Newsgroups: comp.sources.misc
  2. From: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  3. Subject:  REPOST: v21i093:  Manual for ECU comm package rev 3.10, Part04/04
  4. Message-ID: <1991Aug9.181341.28699@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 6506d7e7b41fd27749461f647c7ceae9
  6. Date: Fri, 9 Aug 1991 18:13:41 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
  10. Posting-number: Volume 21, Issue 93
  11. Archive-name: ecuman/part04
  12. Environment: SCO, XENIX, ISC
  13. Supersedes: ecuman3: Volume 16, Issue 22-24
  14.  
  15. ---- Cut Here and feed the following to sh ----
  16. #!/bin/sh
  17. # this is ecuman310.04 (part 4 of ecuman310)
  18. # do not concatenate these parts, unpack them in order with /bin/sh
  19. # file doc/ecu.man continued
  20. #
  21. if touch 2>&1 | fgrep 'amc' > /dev/null
  22.  then TOUCH=touch
  23.  else TOUCH=true
  24. fi
  25. if test ! -r _shar_seq_.tmp; then
  26.     echo 'Please unpack part 1 first!'
  27.     exit 1
  28. fi
  29. (read Scheck
  30.  if test "$Scheck" != 4; then
  31.     echo Please unpack part "$Scheck" next!
  32.     exit 1
  33.  else
  34.     exit 0
  35.  fi
  36. ) < _shar_seq_.tmp || exit 1
  37. if test ! -f _shar_wnt_.tmp; then
  38.     echo 'x - still skipping doc/ecu.man'
  39. else
  40. echo 'x - continuing file doc/ecu.man'
  41. sed 's/^X//' << 'SHAR_EOF' >> 'doc/ecu.man' &&
  42. X    format 'hh:mm:ss' for the integer parameter    int0, a    number of seconds.
  43. X
  44. X
  45. X    Example:
  46. X
  47. X    echo %etime(62)
  48. X    00:01:02
  49. X
  50. X
  51. X
  52. X    5.6.16  %filepart
  53. X
  54. X    usage: %filepart(str0)
  55. X
  56. X    This function returns the filename portion of the pathname supplied    in
  57. X    str0.  See also %basename and %dirpart.
  58. X
  59. X
  60. X    Examples:
  61. X
  62. X    %filepart('/u1/src/src/foo.c') = "foo.c"
  63. X    %filepart('foo.c') = "foo.c"
  64. X
  65. X
  66. X
  67. X    5.6.17  %fmodestr
  68. X
  69. X    usage: %fmodestr(int0)
  70. X
  71. X    This function returns a string representation of the familiar file mode
  72. X    string given the file mode integer int0.
  73. X
  74. X
  75. X    Example:
  76. X
  77. X    echo %fmodestr(0100755)
  78. X    -rwxr-xr-x
  79. X
  80. X    echo %fmodestr(%fmode('/usr/lib'))
  81. X    drwxr-xr-x
  82. X
  83. X
  84. X
  85. X    5.6.18  %itos
  86. X
  87. X    usage: %itos(int0[,format])
  88. X
  89. X
  90. X
  91. X    Public Domain by wht@n4hgf                 7/25/91
  92. X
  93. X
  94. X
  95. X
  96. X
  97. X
  98. X
  99. X    ECU    Technical Description                      94
  100. X
  101. X
  102. X
  103. X    This function converts integer int0    to a string, optionally    controlling
  104. X    the    format of the conversion.
  105. X
  106. X    If the format parameter is missing,    the conversion is to a minimum
  107. X    number of decimal characters necessary to hold the result.
  108. X
  109. X    If the format parameter is present,    it must    of consist of a    non-null
  110. X    string made    of one or both optional    parts:
  111. X
  112. X    decimal    number of digits to be part of result string
  113. X    (a leading zero    indicates leading zeroes are to
  114. X    appear in the string; no leading zero pads with
  115. X    leading    spaces
  116. X
  117. X    a lower    case letter from the following list:
  118. X        d -    decimal    conversion
  119. X        x -    hexadecimal conversion
  120. X        o -    octal conversion
  121. X
  122. X    Example:
  123. X
  124. X    %itos(33)        '33'
  125. X    %itos(33,d)        '33'
  126. X    %itos(33,x)        '21'
  127. X    %itos(33,5d)        '    33'
  128. X    %itos(33,010d)        '0000000033'
  129. X    %itos(33,10d)        '         33'
  130. X    %itos(33,x)        '21'
  131. X    %itos(33,04x)        '0021'
  132. X    %itos(33,4x)        '  21'
  133. X    %itos(33,o)        '41'
  134. X    %itos(33,4o)        '     41'
  135. X
  136. X
  137. X
  138. X    5.6.19  %left
  139. X
  140. X    usage: %left(str0,int0)
  141. X
  142. X    This function returns the leftmost int0 characters of str0.     If the
  143. X    length of the string is less than int0, the    entire str0 is returned.
  144. X
  145. X    Example:
  146. X
  147. X    if $s0 == 'abcdefg'
  148. X    %left($s0,3) returns 'abc'
  149. X
  150. X
  151. X
  152. X
  153. X
  154. X
  155. X
  156. X
  157. X    Public Domain by wht@n4hgf                 7/25/91
  158. X
  159. X
  160. X
  161. X
  162. X
  163. X
  164. X
  165. X    ECU    Technical Description                      95
  166. X
  167. X
  168. X
  169. X    5.6.20  %line
  170. X
  171. X    usage: %line
  172. X
  173. X    This function returns the name of the attached communications line in
  174. X    the    form "/dev/ttyxx".  If no line is currently attached, the function
  175. X    returns null.
  176. X
  177. X
  178. X    5.6.21  %logname
  179. X
  180. X    usage: %logname
  181. X
  182. X    This function returns the login name of the    user executing ECU.  Note:
  183. X    the    name returned is the name supplied to a    login prompt, not any
  184. X    current su(C) username that    may be in effect.
  185. X
  186. X
  187. X    5.6.22  %mid
  188. X
  189. X    usage: %mid(str0,int0[,int1])
  190. X
  191. X    This function returns the middle portion of    a string str0 beginning    with
  192. X    the    character at position int0 and for a length of int1 characters.     If
  193. X    int0 is greater than or equal to the length    of stro, a null    string is
  194. X    returned.  If the optional argument    int1 is    not supplied, or if the
  195. X    length of the string is less than int1, the    entire str0 is returned.
  196. X
  197. X    Example:
  198. X
  199. X    if $s0 == '0123456789abc'
  200. X    %mid($s0,3,4)  returns '3456'
  201. X    %mid($s0,3)    returns '3456789abc'
  202. X    %mid($s0,10,2) returns 'ab'
  203. X    %mid($s0,10,5) returns 'abc'
  204. X
  205. X
  206. X
  207. X    5.6.23  %month
  208. X
  209. X    usage: %month
  210. X
  211. X    This function returns the current month as a three character
  212. X    abbreviation: 'Jan', 'Feb',    'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
  213. X    'Sep', 'Oct', 'Nov', 'Dec'.
  214. X
  215. X
  216. X    5.6.24  %rdesc
  217. X
  218. X    usage: %rdesc
  219. X
  220. X
  221. X
  222. X
  223. X    Public Domain by wht@n4hgf                 7/25/91
  224. X
  225. X
  226. X
  227. X
  228. X
  229. X
  230. X
  231. X    ECU    Technical Description                      96
  232. X
  233. X
  234. X
  235. X    This function returns the description portion of the dialing directory
  236. X    entry for the currently connected remote.  If no connection    exists,    the
  237. X    function returns null.
  238. X
  239. X
  240. X    5.6.25  %right
  241. X
  242. X    usage: %right(str0,int0)
  243. X
  244. X    This function returns the rightmost    int0 characters    of str0.  If the
  245. X    length of the string is less than int0, the    entire str0 is returned.
  246. X
  247. X    Example:
  248. X
  249. X    if $s0 == 'abcdefg'
  250. X    %right($s0,3) returns 'efg'
  251. X
  252. X
  253. X
  254. X    5.6.26  %rname
  255. X
  256. X    usage: %rname
  257. X
  258. X    This function returns the logical name portion of the dialing directory
  259. X    entry for the currently connected remote.  If the remote was dialed
  260. X    directly, as in dial 5551212, the returned value is    the phone number.
  261. X    If no connection exists, the function returns null.
  262. X
  263. X    The    value returned by this command may be overridden by use    of the rname
  264. X    procedure command.
  265. X
  266. X
  267. X    5.6.27  %rtelno
  268. X    usage: %rtelno
  269. X
  270. X    This function returns the telephone    number portion of the dialing
  271. X    directory entry for    the currently connected    remote.     If no connection
  272. X    exists, the    function returns null.
  273. X
  274. X
  275. X    5.6.28  %time
  276. X
  277. X    usage: %time
  278. X
  279. X    This function returns the current time in the form 'hh:mm' in the local
  280. X    time zone (daylight    time if    it applies).
  281. X
  282. X
  283. X    5.6.29  %times
  284. X
  285. X    usage: %times
  286. X
  287. X
  288. X
  289. X    Public Domain by wht@n4hgf                 7/25/91
  290. X
  291. X
  292. X
  293. X
  294. X
  295. X
  296. X
  297. X    ECU    Technical Description                      97
  298. X
  299. X
  300. X
  301. X    This function returns the current time in the form 'hh:mm:ss' in the
  302. X    local time zone (daylight time if it applies).
  303. X
  304. X
  305. X    5.6.30  %timez
  306. X
  307. X    usage: %timez
  308. X
  309. X    This function returns the current time in the form 'hh:mm' in the UTC
  310. X    (Z)    time zone.
  311. X
  312. X
  313. X    5.6.31  %timezs
  314. X
  315. X    usage: %timezs
  316. X
  317. X    This function returns the current time in the form 'hh:mm:ss' in the UTC
  318. X    (Z)    time zone.
  319. X
  320. X
  321. X    5.6.32  %tty
  322. X
  323. X    usage: %tty
  324. X
  325. X    This function returns the console tty name in the form "/dev/ttynn".
  326. X
  327. X
  328. X
  329. X    5.7     Special Procedures
  330. X
  331. X
  332. X    ECU    provides for special "hook" procedures to be executed at certain
  333. X    times.  Their use is encouraged, but you must take precautions not to
  334. X    excecute any unreasoable commands in them, for the are rather "raw"
  335. X    hooks and it is easily possible to confuse ECU by performing illogical
  336. X    operations in them.    Judicious use can, however, be quite productive.
  337. X
  338. X    They are searched for in the same manner as    any other procedure, so    you
  339. X    can    have a customised version of them in a working directory and a
  340. X    default in your ~/.ecu subdirectory.  No error is reported if they are
  341. X    not    found.
  342. X
  343. X
  344. X    5.7.1  _rc.ep
  345. X
  346. X    Afer ECU is    initialized, but before    it presents the    setup screen or
  347. X    executes a -p initial procedure, procedure '_rc' is    executed with no
  348. X    arguments.    (It is named in    the tradition of /etc/rc, .mailrc, etc..)
  349. X    This procedure can be used to customize the    ecu environment    prior to
  350. X    beginning the usual    operation.  This is not    a place    to do any dialing or
  351. X    long-lived operations, nor is it possible to bypass    the setup screen:
  352. X
  353. X
  354. X
  355. X    Public Domain by wht@n4hgf                 7/25/91
  356. X
  357. X
  358. X
  359. X
  360. X
  361. X
  362. X
  363. X    ECU    Technical Description                      98
  364. X
  365. X
  366. X
  367. X    for    this, use the -p initial procedure.
  368. X
  369. X    The    %getenv() function may be useful in here (Am I running on an xterm?
  370. X    Do I want to change    the default ECUPROMPT?).
  371. X
  372. X    If _rc.ep returns a    non-zero status    or fails (due to syntax    or other
  373. X    error), ecu    terminates immediately.
  374. X
  375. X
  376. X    5.7.2  _connect.ep
  377. X
  378. X    This procedure is executed after every connection success after the
  379. X    CONNECT message ("result code") is printed.     It is passed one argument,
  380. X    the    "result    code" string generated by the dialer function (e.g.,
  381. X    "CONNECT 19200").
  382. X
  383. X    You    may use    %rname and other functions and features    to customize this
  384. X    function based on the particular system just reached.  Note    that integer
  385. X    variable $i0 and string variable $s0 set zero prior    to executing the
  386. X    function.  This function may modify    the behavior of    coorperating dialer
  387. X    functions by setting the value of numbered string or integer variables.
  388. X    In particular, the dialer function will inherit the    values of $i0 and
  389. X    $s0    when this special function terminates.    Be careful of what you do in
  390. X    here since MANY ecu    procedure commands affect $i0 and $s0 as a side
  391. X    effect of their operation.    Even if    you know what you do in    _connect.ep
  392. X    does not modify $i0    or $s0,    use of the preservation    technique shown    in
  393. X    the    example    below may save you headaches if    you add    to the function    in
  394. X    the    future (long after you have forgotten this pedantic admonition).
  395. X
  396. X    If this procedure fails (abnormal procedure    termination or non-zero
  397. X    return code), ECU hangs up on the line and proceeds    as if the connection
  398. X    failed.
  399. X
  400. X
  401. X
  402. X
  403. X
  404. X
  405. X
  406. X
  407. X
  408. X
  409. X
  410. X
  411. X
  412. X
  413. X
  414. X
  415. X
  416. X
  417. X
  418. X
  419. X
  420. X
  421. X    Public Domain by wht@n4hgf                 7/25/91
  422. X
  423. X
  424. X
  425. X
  426. X
  427. X
  428. X
  429. X    ECU    Technical Description                      99
  430. X
  431. X
  432. X
  433. X    Example:
  434. X    #+------------------------------------------------------------------
  435. X    #  _connect.ep - post-CONNECT special "hook" procedure
  436. X    #-------------------------------------------------------------------
  437. X    #+:EDITS:
  438. X    #:07-13-1991-14:47-wht@n4hgf-creation
  439. X
  440. X      $iv0_save    = $i0  # it is a VERY good idea    to save    the dialer
  441. X      $sv0_save    = $s0  # function return status
  442. X               # since gobs of functions and commands modify $i0
  443. X               # and/or    $s0 as a side effect of    their operation
  444. X
  445. X      $s30 = '_connect '+%rname+' ('+%argv(1)+')'
  446. X      echo $s30           # this still will also live to be visible by
  447. X               # the dialer function
  448. X
  449. X      ifi %baud    > 2400
  450. X      {
  451. X     xon    off    # turn XON/XOFF off first, then ...
  452. X     rtscts    on     # turn on RTS/CTS
  453. X      }
  454. X      else
  455. X      {
  456. X     rtscts    off    # turn off RTS/CTS, then    ...
  457. X     xon    on     # turn XON/XOFF on
  458. X      }
  459. X
  460. X      $i0 = $iv0_save  # restore dialer    return status
  461. X      $s0 = $sv0_save
  462. X
  463. X
  464. X
  465. X    5.7.3  _connfail.ep
  466. X
  467. X    This procedure is executed after every connection failure after the
  468. X    failure message ("result code") is printed.     It is passed two arguments,
  469. X    the    logical    system name (the dial directory    entry name or the phone
  470. X    number) and    the "result code" string generated by the dialer function
  471. X    (e.g., "BUSY").  The function is called after $i0 has been set to 1    and
  472. X    $s0    has been set to    the result code.  This function    may modify the
  473. X    behavior of    coorperating dialer functions by setting the value of
  474. X    numbered string or integer variables.  In particular, the dialer
  475. X    function will inherit the values of    $i0 and    $s0 when this special
  476. X    function terminates.  Be careful of    what you do in here since MANY ecu
  477. X    procedure commands affect $i0 and/or $s0 as    a side effect of their
  478. X    operation.    See _connect.ep    above for further screams and moans.
  479. X
  480. X    ]If    you get    very involved with using this procedure, you'll    sooner or
  481. X    later run into some    undocumented $so values.  You'll have to take a    look
  482. X    at ecuDCE.c    and hdbintf.c for an authoritative reference, but perhaps
  483. X    you    can get    along by knowing that result codes with    an exclamation point
  484. X
  485. X
  486. X
  487. X    Public Domain by wht@n4hgf                 7/25/91
  488. X
  489. X
  490. X
  491. X
  492. X
  493. X
  494. X
  495. X    ECU    Technical Description                     100
  496. X
  497. X
  498. X
  499. X    as their first character are generated by ECU.
  500. X
  501. X    ECU    ignores    any failure (abnormal procedure    termination or non-zero
  502. X    return code) resulting from    the execution of this procedure.
  503. X
  504. X
  505. X    5.7.4  _hangup.ep
  506. X
  507. X    This procedure is executed after every connection termination.  It is
  508. X    passed one argument, a string representation of the    number of seconds
  509. X    you    were connected.     You may use %rname and    other functions    and features
  510. X    to customize this function based on    the particular system just reached.
  511. X    ECU    ignores    any error returned by the procedure.  ECU ignores any
  512. X    failure (abnormal procedure    termination or non-zero    return code)
  513. X    resulting from the execution of this procedure.
  514. X
  515. X
  516. X    5.8     HoneyDanBer UUCP Interface
  517. X
  518. X
  519. X
  520. X    5.8.1  UUCP    Control    Files
  521. X
  522. X
  523. X    5.8.1.1  /usr/lib/uucp/Devices
  524. X
  525. X    ECU    reads this file    to determine what tty devices are available for
  526. X    outgoing calls.  The fifth field of    each entry must    contain    either the
  527. X    full pathname of a modem dialer program (with leading slash) or the    name
  528. X    of an entry    in the /usr/lib/uucp/Dialers file.  Sysfiles support is    not
  529. X    yet    provided.  The Devices file must be named /usr/lib/uucp/Devices.
  530. X    For    more information, see "UUCP Dialers" and "Choosing a Dialout Line"
  531. X    below.
  532. X
  533. X
  534. X    5.8.1.2  /usr/lib/uucp/Dialers
  535. X
  536. X    Dialers entries may    be specified in    the Devices entry. Sysfiles support
  537. X    is not yet provided.  The Dialers file must    be named
  538. X    /usr/lib/uucp/Dialers.
  539. X
  540. X
  541. X    5.8.1.3  /usr/lib/uucp/Sysfiles
  542. X
  543. X    Sysfiles support is    not yet    provided.  The Devices and Dialers files
  544. X    must have their default names.
  545. X
  546. X
  547. X    5.8.1.4  /usr/lib/uucp/Systems
  548. X
  549. X    No use is made of the Systems file at this time.  ECU provides the
  550. X
  551. X
  552. X
  553. X    Public Domain by wht@n4hgf                 7/25/91
  554. X
  555. X
  556. X
  557. X
  558. X
  559. X
  560. X
  561. X    ECU    Technical Description                     101
  562. X
  563. X
  564. X
  565. X    equivalent function    with its dialing directory.
  566. X
  567. X
  568. X    5.8.2  Choosing a Dialout Line
  569. X
  570. X    TTY    devices    must be    named in the style of:
  571. X
  572. X     /dev/tty#N
  573. X         ^^
  574. X         ||
  575. X         |`------ uppercase letter for modem control
  576. X         |      lowercase for    non-modem control
  577. X         `--------digit    (1-4)
  578. X
  579. X
  580. X    A future version of    ECU will address this limitation.
  581. X
  582. X    If you are using FAS or other third-party driver, you may use ECU with
  583. X    ports not normally named in    the /dev/tty#N style in    one of two ways
  584. X    under UNIX and one way under XENIX:
  585. X
  586. X
  587. X     1.  Under XENIX or UNIX, create a link    to the port
  588. X         with a compatible name:
  589. X
  590. X           ln /dev/ttyF00 /dev/tty1a
  591. X           ln /dev/ttyFM00 /dev/tty1A
  592. X
  593. X     2.  Under UNIX, add additional    lines to the
  594. X         /etc/conf/node.d file and rebuild the kernel
  595. X         environment (this is the recommended approach
  596. X         for UNIX):
  597. X
  598. X     fas ttyF00  c     48
  599. X     fas tty1a   c     48
  600. X     fas ttyF01  c     49
  601. X     fas tty1b   c     49
  602. X     fas ttyFM00 c     208
  603. X     fas tty1A   c     208
  604. X     fas ttyFM01 c     209
  605. X     fas tty1B   c     209
  606. X
  607. X
  608. X    When using the interactive dial command, or    when dialing from the
  609. X    initial menu, if a logical or system name is specified, the    directory
  610. X    entry is fetched and examined.  If the tty field specifies a value other
  611. X    than "Any",    the specific line requested is opened, if available, and
  612. X    dialing commences. If the specified    line is    not available, the dial
  613. X    attempt fails.
  614. X
  615. X    If "Any" is    found in the dialing directory entry, then ECU finds an
  616. X
  617. X
  618. X
  619. X    Public Domain by wht@n4hgf                 7/25/91
  620. X
  621. X
  622. X
  623. X
  624. X
  625. X
  626. X
  627. X    ECU    Technical Description                     102
  628. X
  629. X
  630. X
  631. X    available Devices line which matches the baud rate specified in the
  632. X    entry.  It does so by reading the Dialers file.
  633. X
  634. X    A line is selected only if its class begins    with the three characters
  635. X    "ACU."  UUCP will only select a line whose Devices entry class matches
  636. X    the    active Systems entry class (usually "ACU"), so usually you may make
  637. X    a modem accessible to ECU, but not to UUCP,    by setting it's    class to
  638. X    ACUECU.
  639. X
  640. X    If a line matching the necessary baud rate is found    (by searching
  641. X    /etc/utmp) to be a line enabled for    login, but which is currently idle,
  642. X    the    getty interface, described below, is used to acquire the line for
  643. X    outgoing use.
  644. X
  645. X
  646. X    5.8.3  Getty Interface
  647. X
  648. X    When an idle dialin    (enabled) line is chosen for dialout, ECU makes    use
  649. X    of /usr/lib/ecu/ecuungetty to signal the line's getty to release the
  650. X    line (via SIGUSR1).     Ecuungetty is again employed to signal    the getty to
  651. X    reacquire the line when outgoing communication is complete (via
  652. X    SIGUSR2).
  653. X
  654. X    Ecuungetty is a privileged program,    which must be owned by root and    have
  655. X    the    setuid-on-execute bit set.  A encrypted    id is passed by    ecu to
  656. X    ecuungetty to validate requests and    to prevent abuse of ecuungetty by
  657. X    hackers, malcontents and other twentieth-century phenomena.
  658. X
  659. X
  660. X    5.8.4  UUCP    Dialer Programs
  661. X
  662. X    If the Devices file    can be found in    /usr/lib/uucp, and a valid entry for
  663. X    the    attached line can be found, ECU    will use the Dialers script or
  664. X    dialer program specified in    the Devices entry.
  665. X
  666. X    Sample enhanced modem dialer program sources may be    found in the uucp
  667. X    subdirectory of the    distribution.
  668. X
  669. X
  670. X
  671. X
  672. X
  673. X
  674. X
  675. X
  676. X
  677. X
  678. X
  679. X
  680. X
  681. X
  682. X
  683. X
  684. X
  685. X    Public Domain by wht@n4hgf                 7/25/91
  686. X
  687. X
  688. X
  689. X
  690. X
  691. X
  692. X
  693. X
  694. X
  695. X
  696. X
  697. X                    CONTENTS
  698. X
  699. X
  700. X    1.    Introduction.......................................    2
  701. X
  702. X    2.    Basic Organization.................................    3
  703. X    2.1   Transmitter Process (XMTR)...................    3
  704. X          2.1.1   Keyboard Interface...................    3
  705. X          2.1.2   ECU Command Assembly.................    3
  706. X          2.1.3   Function Key Mapping.................    4
  707. X          2.1.4   Auxiliary    Operation Control..........    4
  708. X    2.2   Receiver Process (RCVR)......................    5
  709. X          2.2.1   ANSI Filter..........................    5
  710. X          2.2.2   Session Logging......................    5
  711. X    2.3   Supported    Terminals..........................    5
  712. X    2.4   Function Key Recognition.....................    7
  713. X    2.5   Function Key Mapping.........................    9
  714. X    2.6   Host Video Control Sequences.................   11
  715. X          2.6.1   All Local    Terminals..................   11
  716. X          2.6.2   Multiscreen Local    Terminals..........   12
  717. X          2.6.3   Character    Mapping....................   13
  718. X    2.7   Line Editing.................................   14
  719. X    2.8   Screen Dump..................................   14
  720. X          2.8.1   Multiscreen and Non-Multiscreen......   14
  721. X          2.8.2   Multiscreen Bug......................   15
  722. X    2.9   Interactive Command History..................   15
  723. X    2.10  Dialing Directory............................   15
  724. X    2.11  Online Command Dictionary....................   17
  725. X    2.12  Multiscreen Event    Alarm......................   17
  726. X    2.13  Built-in Modem Dialer........................   18
  727. X    2.14  File Transfer................................   18
  728. X    2.15  Procedures (Scripts).........................   19
  729. X          2.15.1  Initial (Startup)    Procedure..........   20
  730. X          2.15.2  Dialing Procedure....................   20
  731. X    2.16  Home Directory Files.........................   20
  732. X    2.17  Lock Files...................................   20
  733. X    2.18  Dial-In/Dial-Out Line Support................   21
  734. X    2.19  Tools........................................   21
  735. X    2.20  Shared Memory 'Friend' Interface.............   21
  736. X
  737. X    3.    Starting the Program...............................   23
  738. X    3.1   Simple Startup - Initial Setup Menu..........   23
  739. X          3.1.1   Name/Phone Number    Field..............   23
  740. X          3.1.2   Other Fields.........................   24
  741. X          3.1.3   Special Characters...................   24
  742. X    3.2   Command Line Arguments and Switches..........   25
  743. X          3.2.1   Non-Switch Arguments.................   25
  744. X          3.2.2   <tel-number>.........................   25
  745. X          3.2.3   <logical>............................   26
  746. X          3.2.4   <arg>................................   26
  747. X          3.2.5   -l...................................   26
  748. X
  749. X
  750. X
  751. X                   - i -
  752. X
  753. X
  754. X
  755. X
  756. X
  757. X
  758. X
  759. X
  760. X
  761. X
  762. X
  763. X          3.2.6   -f...................................   26
  764. X          3.2.7   -e, -o...............................   26
  765. X          3.2.8   -p <procname>........................   27
  766. X          3.2.9   -d...................................   27
  767. X          3.2.10  -D...................................   27
  768. X          3.2.11  -t...................................   27
  769. X          3.2.12  -A...................................   27
  770. X          3.2.13  -N...................................   27
  771. X    3.3   Environment Variables........................   28
  772. X          3.3.1   ECUPROMPT............................   28
  773. X          3.3.2   ECUHELP..............................   28
  774. X
  775. X    4.    Interactive Mode Commands..........................   29
  776. X    4.1   AX : ascii char to hex/oct/dec...............   29
  777. X    4.2   BAud : set/display line baud rate............   29
  778. X    4.3   BN : all console event alarm.................   29
  779. X    4.4   BReak : send break to remote.................   30
  780. X    4.5   CD : change current directory................   30
  781. X    4.6   DA : decimal to ascii char...................   31
  782. X    4.7   Dial : dial remote destination...............   31
  783. X          4.7.1   Alternate    Dialing    Directory..........   31
  784. X          4.7.2   Multi-Number Redial Cycle............   32
  785. X          4.7.3   Automatic    Dialing/Login
  786. X              Procedure............................   32
  787. X    4.8   DO : perform procedure.......................   33
  788. X    4.9   DUplex : set/display duplex..................   33
  789. X    4.10  EXit : drop carrier, exit    program............   34
  790. X    4.11  FI : send    text file to line..................   34
  791. X    4.12  FKey : function key definition...............   35
  792. X    4.13  HAngup : hang up modem.......................   36
  793. X    4.14  HElp : invoke help...........................   36
  794. X    4.15  LLp : set    session    log to /dev/lp.............   36
  795. X    4.16  LOFf : turn off session logging..............   36
  796. X    4.17  LOG : session logging control................   36
  797. X    4.18  NL : display CR/LF mapping...................   37
  798. X    4.19  NLIn : set receive CR/LF mapping.............   37
  799. X    4.20  NLOut : set transmit CR/LF mapping...........   37
  800. X    4.21  OA : octal to ascii char.....................   38
  801. X    4.22  PARity : set/display line    parity.............   38
  802. X    4.23  PId : display process ids....................   38
  803. X    4.24  PLog : procedure logging.....................   38
  804. X    4.25  POpd : pop to previous directory.............   39
  805. X    4.26  PTrace : control procedure trace.............   39
  806. X    4.27  PUshd : push to new directory................   39
  807. X    4.28  PWd : print working directory................   40
  808. X    4.29  REDial : redial last number..................   40
  809. X    4.30  REV : ECU    revision/make date.................   40
  810. X    4.31  RK : receive via C-Kermit....................   41
  811. X    4.32  RS : receive via SEAlink.....................   41
  812. X    4.33  RTScts : control RTS/CTS flow control........   41
  813. X    4.34  RX : receive via XMODEM/CRC..................   42
  814. X
  815. X
  816. X
  817. X                   - ii -
  818. X
  819. X
  820. X
  821. X
  822. X
  823. X
  824. X
  825. X
  826. X
  827. X
  828. X
  829. X    4.35  RY : receive via YMODEM Batch................   42
  830. X    4.36  RZ : receive via ZMODEM/CRC32................   42
  831. X    4.37  SDNAME : select screen dump file name........   43
  832. X    4.38  SK : send    via C-Kermit.......................   43
  833. X    4.39  SS : send    via SEAlink........................   43
  834. X    4.40  STat : connection    status.....................   44
  835. X    4.41  SX : send    via XMODEM/CRC.....................   44
  836. X    4.42  SY : send    via YMODEM Batch...................   45
  837. X    4.43  SZ : send    via ZMODEM/CRC32...................   45
  838. X    4.44  TIme : time of day...........................   46
  839. X    4.45  TTy : console tty    name.......................   46
  840. X    4.46  XA : hex to ascii    char.......................   46
  841. X    4.47  XON : xon/xoff flow control..................   47
  842. X    4.48  !    : execute shell............................   47
  843. X
  844. X    5.    Procedures.........................................   48
  845. X    5.1   Procedures...................................   48
  846. X    5.2   Line Syntax (Labels, Commands and
  847. X          Comments)....................................   48
  848. X    5.3   Arguments....................................   49
  849. X          5.3.1   Switches.............................   49
  850. X          5.3.2   Alphabetic Tokens....................   49
  851. X          5.3.3   Integers.............................   49
  852. X              5.3.3.1    Constants   49
  853. X              5.3.3.2    Variables   50
  854. X              5.3.3.3    Functions   50
  855. X              5.3.3.4    Expressions   50
  856. X              5.3.3.5    Relational Operators   51
  857. X          5.3.4   Strings..............................   51
  858. X              5.3.4.1    Constants   51
  859. X              5.3.4.2    Variables   51
  860. X              5.3.4.3    Functions   52
  861. X              5.3.4.4    Expressions   52
  862. X              5.3.4.5    Relational Operators   52
  863. X    5.4   Commands.....................................   52
  864. X          5.4.1   baud.................................   52
  865. X          5.4.2   break................................   53
  866. X          5.4.3   cd...................................   53
  867. X          5.4.4   clrx.................................   54
  868. X          5.4.5   cls..................................   54
  869. X          5.4.6   color................................   54
  870. X          5.4.7   continue.............................   54
  871. X          5.4.8   cursor...............................   55
  872. X          5.4.9   delline..............................   56
  873. X          5.4.10  dial.................................   56
  874. X          5.4.11  do...................................   57
  875. X          5.4.12  duplex...............................   57
  876. X          5.4.13  echo.................................   58
  877. X          5.4.14  eeol.................................   58
  878. X          5.4.15  else.................................   58
  879. X          5.4.16  exit.................................   60
  880. X
  881. X
  882. X
  883. X                  -    iii -
  884. X
  885. X
  886. X
  887. X
  888. X
  889. X
  890. X
  891. X
  892. X
  893. X
  894. X
  895. X          5.4.17  expresp..............................   61
  896. X          5.4.18  fchmod...............................   62
  897. X          5.4.19  fclose...............................   62
  898. X          5.4.20  fdel.................................   62
  899. X          5.4.21  fgetc................................   63
  900. X          5.4.22  fgets................................   63
  901. X          5.4.23  fkey.................................   64
  902. X          5.4.24  flush................................   64
  903. X          5.4.25  fopen................................   64
  904. X          5.4.26  fputc................................   65
  905. X          5.4.27  fputs................................   65
  906. X          5.4.28  fseek................................   66
  907. X          5.4.29  getf.................................   66
  908. X          5.4.30  gosub................................   66
  909. X          5.4.31  gosubb...............................   67
  910. X          5.4.32  goto.................................   67
  911. X          5.4.33  gotob................................   68
  912. X          5.4.34  hangup...............................   68
  913. X          5.4.35  hexdump..............................   68
  914. X          5.4.36  home.................................   69
  915. X          5.4.37  icolor...............................   69
  916. X          5.4.38  ifi..................................   69
  917. X          5.4.39  ifs..................................   70
  918. X          5.4.40  lbreak...............................   70
  919. X          5.4.41  lgets................................   70
  920. X          5.4.42  insline..............................   71
  921. X          5.4.43  logevent.............................   71
  922. X          5.4.44  lookfor..............................   71
  923. X          5.4.45  mkvar................................   72
  924. X              5.4.45.1    Variable Names     72
  925. X              5.4.45.2    Variable Life and
  926. X                Scope    72
  927. X              5.4.45.3    String Variable    Size   73
  928. X          5.4.46  nap..................................   73
  929. X          5.4.47  nice.................................   73
  930. X          5.4.48  parity...............................   74
  931. X          5.4.49  pclose...............................   74
  932. X          5.4.50  plog.................................   74
  933. X          5.4.51  popd.................................   75
  934. X          5.4.52  popen................................   75
  935. X          5.4.53  prompt...............................   76
  936. X          5.4.54  ptrace...............................   76
  937. X          5.4.55  pushd................................   77
  938. X          5.4.56  putf.................................   77
  939. X          5.4.57  return...............................   77
  940. X          5.4.58  rk...................................   78
  941. X          5.4.59  rlog.................................   78
  942. X          5.4.60  rname................................   79
  943. X          5.4.61  rs...................................   79
  944. X          5.4.62  rtscts...............................   79
  945. X    5.5   Integer Functions............................   80
  946. X
  947. X
  948. X
  949. X                   - iv -
  950. X
  951. X
  952. X
  953. X
  954. X
  955. X
  956. X
  957. X
  958. X
  959. X
  960. X
  961. X          5.5.1   %argc................................   80
  962. X          5.5.2   %baud................................   80
  963. X          5.5.3   %colors..............................   80
  964. X          5.5.4   %cols................................   81
  965. X          5.5.5   %conn................................   81
  966. X          5.5.6   %curx................................   82
  967. X          5.5.7   %cury................................   82
  968. X          5.5.8   %csec................................   82
  969. X          5.5.9   %ctoi................................   82
  970. X          5.5.10  %esecs...............................   82
  971. X          5.5.11  %fatime..............................   82
  972. X          5.5.12  %fmode...............................   83
  973. X          5.5.13  %fmtime..............................   83
  974. X          5.5.14  %fmode...............................   83
  975. X          5.5.15  %ftell...............................   84
  976. X          5.5.16  %instr...............................   84
  977. X          5.5.17  %ischr...............................   84
  978. X          5.5.18  %isdir...............................   85
  979. X          5.5.19  %isreg...............................   85
  980. X          5.5.20  %len.................................   86
  981. X          5.5.21  %lgetc...............................   86
  982. X          5.5.22  %lines...............................   86
  983. X          5.5.23  %nice................................   86
  984. X          5.5.24  %pid.................................   86
  985. X          5.5.25  %match...............................   87
  986. X          5.5.26  %mhack...............................   87
  987. X          5.5.27  %rchr................................   88
  988. X          5.5.28  %rchrc...............................   88
  989. X          5.5.29  %rinstr..............................   88
  990. X          5.5.30  %shmid...............................   88
  991. X          5.5.31  %stoi................................   89
  992. X          5.5.32  %uid.................................   89
  993. X          5.5.33  %xchr................................   89
  994. X          5.5.34  %xchrc...............................   89
  995. X    5.6   String Functions.............................   89
  996. X          5.6.1   %argv................................   89
  997. X          5.6.2   %basename............................   90
  998. X          5.6.3   %cgetc...............................   91
  999. X          5.6.4   %cgets...............................   91
  1000. X          5.6.5   %chr.................................   91
  1001. X          5.6.6   %date................................   91
  1002. X          5.6.7   %datez...............................   91
  1003. X          5.6.8   %day.................................   91
  1004. X          5.6.9   %dayz................................   92
  1005. X          5.6.10  %dir.................................   92
  1006. X          5.6.11  %dirpart.............................   92
  1007. X          5.6.12  %edate...............................   92
  1008. X          5.6.13  %envvar..............................   93
  1009. X          5.6.14  %errstr..............................   93
  1010. X          5.6.15  %etime...............................   94
  1011. X          5.6.16  %filepart............................   94
  1012. X
  1013. X
  1014. X
  1015. X                   - v -
  1016. X
  1017. X
  1018. X
  1019. X
  1020. X
  1021. X
  1022. X
  1023. X
  1024. X
  1025. X
  1026. X
  1027. X          5.6.17  %fmodestr............................   94
  1028. X          5.6.18  %itos................................   94
  1029. X          5.6.19  %left................................   95
  1030. X          5.6.20  %line................................   96
  1031. X          5.6.21  %logname.............................   96
  1032. X          5.6.22  %mid.................................   96
  1033. X          5.6.23  %month...............................   96
  1034. X          5.6.24  %rdesc...............................   96
  1035. X          5.6.25  %right...............................   97
  1036. X          5.6.26  %rname...............................   97
  1037. X          5.6.27  %rtelno..............................   97
  1038. X          5.6.28  %time................................   97
  1039. X          5.6.29  %times...............................   97
  1040. X          5.6.30  %timez...............................   98
  1041. X          5.6.31  %timezs..............................   98
  1042. X          5.6.32  %tty.................................   98
  1043. X    5.7   Special Procedures...........................   98
  1044. X          5.7.1   _rc.ep...............................   98
  1045. X          5.7.2   _connect.ep..........................   99
  1046. X          5.7.3   _connfail.ep.........................  100
  1047. X          5.7.4   _hangup.ep...........................  101
  1048. X    5.8   HoneyDanBer UUCP Interface...................  101
  1049. X          5.8.1   UUCP Control Files...................  101
  1050. X              5.8.1.1    /usr/lib/uucp/Devices  101
  1051. X              5.8.1.2    /usr/lib/uucp/Dialers  101
  1052. X              5.8.1.3    /usr/lib/uucp/Sysfiles    101
  1053. X              5.8.1.4    /usr/lib/uucp/Systems  101
  1054. X          5.8.2   Choosing a Dialout Line..............  102
  1055. X          5.8.3   Getty Interface......................  103
  1056. X          5.8.4   UUCP Dialer Programs.................  103
  1057. X
  1058. X
  1059. X
  1060. X
  1061. X
  1062. X
  1063. X
  1064. X
  1065. X
  1066. X
  1067. X
  1068. X
  1069. X
  1070. X
  1071. X
  1072. X
  1073. X
  1074. X
  1075. X
  1076. X
  1077. X
  1078. X
  1079. X
  1080. X
  1081. X                   - vi -
  1082. X
  1083. X
  1084. X
  1085. X
  1086. SHAR_EOF
  1087. echo 'File doc/ecu.man is complete' &&
  1088. $TOUCH -am 0725045191 'doc/ecu.man' &&
  1089. chmod 0644 doc/ecu.man ||
  1090. echo 'restore of doc/ecu.man failed'
  1091. Wc_c="`wc -c < 'doc/ecu.man'`"
  1092. test 184389 -eq "$Wc_c" ||
  1093.     echo 'doc/ecu.man: original size 184389, current size' "$Wc_c"
  1094. rm -f _shar_wnt_.tmp
  1095. fi
  1096. # ============= doc/exits.man ==============
  1097. if test -f 'doc/exits.man' -a X"$1" != X"-c"; then
  1098.     echo 'x - skipping doc/exits.man (File already exists)'
  1099.     rm -f _shar_wnt_.tmp
  1100. else
  1101. > _shar_wnt_.tmp
  1102. echo 'x - extracting doc/exits.man (Text)'
  1103. sed 's/^X//' << 'SHAR_EOF' > 'doc/exits.man' &&
  1104. X
  1105. X
  1106. X
  1107. X                  - 1 -
  1108. X
  1109. X
  1110. X
  1111. X                    ECU    3.10
  1112. X
  1113. X                (Extended Call Utility)
  1114. X
  1115. X
  1116. X
  1117. X
  1118. X
  1119. X
  1120. X              Professional and Engineering
  1121. X              Asynchronous Communications Package
  1122. X              for UNIX and XENIX System V
  1123. X
  1124. X
  1125. X
  1126. X
  1127. X
  1128. X
  1129. X
  1130. X
  1131. X
  1132. X
  1133. X
  1134. X
  1135. X        Warren H. Tucker, III <wht@n4hgf.Mt-Park.GA.US>
  1136. X
  1137. X
  1138. X
  1139. X
  1140. X
  1141. X
  1142. X                   Exit    Codes
  1143. X                 Revision 3.10
  1144. X                    7/25/91
  1145. X
  1146. X
  1147. X
  1148. X
  1149. X
  1150. X
  1151. X
  1152. X
  1153. X
  1154. X
  1155. X
  1156. X
  1157. X
  1158. X
  1159. X
  1160. X
  1161. X
  1162. X
  1163. X
  1164. X
  1165. X    Public Domain by wht@n4hgf                 7/25/91
  1166. X
  1167. X
  1168. X
  1169. X
  1170. X
  1171. X
  1172. X
  1173. X    ECU    Exit Codes                           1
  1174. X
  1175. X
  1176. X
  1177. X    1.    Exit Codes
  1178. X
  1179. X
  1180. X    When ECU exits (terminates execution), it uses a code from the following
  1181. X    table:
  1182. X
  1183. X    OK             0    no error
  1184. X    SIG1         1    SIGHUP (signal 1)
  1185. X    SIGN         64   signal 64    - see below
  1186. X    LINE_READ_ERROR     129  could not    read from attached line
  1187. X    XMTR_WRITE_ERROR     130  could not    write to attached line
  1188. X    XMTR_LOGIC_ERROR     131  software logic error
  1189. X    BSD4_IOCTL         132  not currently used
  1190. X    SHM_ABL         133  not currently used
  1191. X    SHM_RTL         134  not currently used
  1192. X    NO_FORK_FOR_RCVR     135  could not    fork receiver process
  1193. X    TTYIN_READ_ERROR     136  could not    read from console
  1194. X    LINE_OPEN_ERROR     137  could not    attach (open) requested    line
  1195. X    PWENT_ERROR         138  error in /etc/passwd processing
  1196. X    USAGE         139  command line syntax error
  1197. X    CONFIG_ERROR     140  missing or erroroenous configuration file
  1198. X    INIT_PROC_ERROR     192  initial procedure    terminated in error
  1199. X    USER1         193  exit procedure command called with 1
  1200. X    USERN         223  exit procedure command called with 31
  1201. X
  1202. X
  1203. X    The    logical    names 'SIG1' and 'SIGN'    refer to a range of error codes
  1204. X    signifying ecu termination due to a    signal.     A larger range    (64) is
  1205. X    reserved than is necessary to handle reasonable expansion of SIG values
  1206. X    in the OS. Not all signals will be reported    in this    manner.    ECU will
  1207. X    never report status    9 (signal 9, SIGKILL), for instance.
  1208. X
  1209. X    The    logical    names 'USER1' and 'USERN' refer    to a range of error exits
  1210. X    codes reserved for use by the 'exit' procedure command.  See the
  1211. X    description    of this    command    for more information.
  1212. X
  1213. X    For    ecu friend code, formal    C #define identifiers for exit codes may be
  1214. X    found in ecuhangup.h and consist of    the above logical names    prefixed
  1215. X    with 'HANGUP_'.
  1216. X
  1217. X
  1218. X
  1219. X
  1220. X
  1221. X
  1222. X
  1223. X
  1224. X
  1225. X
  1226. X
  1227. X
  1228. X
  1229. X
  1230. X
  1231. X    Public Domain by wht@n4hgf                 7/25/91
  1232. X
  1233. X
  1234. X
  1235. X
  1236. SHAR_EOF
  1237. $TOUCH -am 0725045191 'doc/exits.man' &&
  1238. chmod 0644 doc/exits.man ||
  1239. echo 'restore of doc/exits.man failed'
  1240. Wc_c="`wc -c < 'doc/exits.man'`"
  1241. test 2201 -eq "$Wc_c" ||
  1242.     echo 'doc/exits.man: original size 2201, current size' "$Wc_c"
  1243. rm -f _shar_wnt_.tmp
  1244. fi
  1245. rm -f _shar_seq_.tmp
  1246. echo You have unpacked the last part
  1247. exit 0
  1248. --------------------------------------------------------------------
  1249. Warren Tucker, TuckerWare emory!n4hgf!wht or wht@n4hgf.Mt-Park.GA.US
  1250. Hacker Extraordinaire  d' async PADs,  pods,  proteins and protocols
  1251.  
  1252. exit 0 # Just in case...
  1253. -- 
  1254. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  1255. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  1256. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  1257. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  1258.