home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume12 / ecuman2.80 / part03 < prev    next >
Encoding:
Text File  |  1990-05-11  |  43.4 KB  |  1,853 lines

  1. Newsgroups: comp.sources.misc
  2. subject: v12i085: ECU 2.80 manual part 03/03
  3. from: wht%n4hgf@gatech.edu (Warren Tucker)
  4. Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  5.  
  6. Posting-number: Volume 12, Issue 85
  7. Submitted-by: wht%n4hgf@gatech.edu (Warren Tucker)
  8. Archive-name: ecuman2.80/part03
  9.  
  10. ---- Cut Here and unpack ----
  11. #!/bin/sh
  12. # this is ecuman280.03 (part 3 of ecuman280)
  13. # do not concatenate these parts, unpack them in order with /bin/sh
  14. # file doc/ecu.man continued
  15. #
  16. if touch 2>&1 | fgrep '[-amc]' > /dev/null
  17.  then TOUCH=touch
  18.  else TOUCH=true
  19. fi
  20. if test ! -r @shar_seq_.tmp; then
  21.     echo "Please unpack part 1 first!"
  22.     exit 1
  23. fi
  24. (read Scheck
  25.  if test "$Scheck" != 3; then
  26.     echo "Please unpack part $Scheck next!"
  27.     exit 1
  28.  else
  29.     exit 0
  30.  fi
  31. ) < @shar_seq_.tmp || exit 1
  32. echo "x - Continuing file doc/ecu.man"
  33. sed 's/^X//' << 'SHAR_EOF' >> doc/ecu.man &&
  34. X    opposed  to     reverse  video    mode.  The color command forces    normal video
  35. X    mode.
  36. X
  37. X
  38. X    6.2.70  vidrev
  39. X    usage: vidrev
  40. X
  41. X    This command causes    later screen output to appear  in  the    reverse,  as
  42. X    opposed  to     normal     video    mode.  The color command forces    normal video
  43. X    mode.
  44. X
  45. X
  46. X    6.2.71  whilei
  47. X
  48. X
  49. X
  50. X
  51. X
  52. X
  53. X    Public Domain by wht@n4hgf          5/7/90
  54. X
  55. X
  56. X
  57. X
  58. X
  59. X
  60. X
  61. X    ECU    Technical Description                      63
  62. X
  63. X
  64. X
  65. X    usage: whilei <int>    <rel-op> <int> <statement>
  66. X       whilei <int>    <rel-op> <int>
  67. X           <statement>
  68. X       whilei <int>    <rel-op> <int>
  69. X       {
  70. X           any kind    or number of statements
  71. X       }
  72. X
  73. X
  74. X    This command executes a loop one or    more statements    based on a  test  of
  75. X    two    integer    quantities.  See the description of the    break, else, whilei,
  76. X    and    whiles commmands for examples of how the command is used.
  77. X
  78. X
  79. X    6.2.72  whiles
  80. X
  81. X    usage: whiles <str>    <rel-op> <str> <statement>
  82. X       whiles <int>    <rel-op> <int>
  83. X           <statement>
  84. X       whiles <int>    <rel-op> <int>
  85. X       {
  86. X           any kind    or number of statements
  87. X       }
  88. X
  89. X
  90. X    This command executes a loop of one    or more    statements based on  a    test
  91. X    of    two  string values.  See the description of the    break, continue, and
  92. X    else commmands and many other  examples  throughout     the  document,     for
  93. X    examples of    how the    command    is used.
  94. X
  95. X
  96. X
  97. X    6.3     Integer Functions
  98. X
  99. X
  100. X
  101. X    6.3.1  %argc
  102. X
  103. X    This function returns the number of     arguments  passes  to    the  current
  104. X    procedure.
  105. X
  106. X
  107. X
  108. X
  109. X    6.3.2  %baud
  110. X
  111. X    This function returns the baud rate    of the communications line.   If  no
  112. X    line  is  currently    attached, the baud rate    returned is the    value of the
  113. X    last line attached.     If no line has    been  attached    during    the  current
  114. X    session, the default baud rate is returned.
  115. X
  116. X
  117. X
  118. X
  119. X    Public Domain by wht@n4hgf          5/7/90
  120. X
  121. X
  122. X
  123. X
  124. X
  125. X
  126. X
  127. X    ECU    Technical Description                      64
  128. X
  129. X
  130. X
  131. X    6.3.3  %colors
  132. X
  133. X    This function  returns  the     state    of  the     normal     and  reverse  video
  134. X    foreground and background colors in    the 32-bit value:
  135. X
  136. X     00000000001111111111222222222233
  137. X     01234567890123456789012345678901
  138. X     0000|--|0000|--|0000|--|0000|--|
  139. X          fg      bk      fg      bk
  140. X           reverse        normal
  141. X
  142. X
  143. X    The    color values are obtained from the following lists:
  144. X
  145. X    Alphabetic Order
  146. X    black         0
  147. X    blue         1
  148. X    brown         6
  149. X    cyan         3
  150. X    gray         8
  151. X    green         2
  152. X    hi_white    15
  153. X    lt_blue         9
  154. X    lt_cyan        11
  155. X    lt_green    10
  156. X    lt_magenta  13
  157. X    lt_red        12
  158. X    magenta         5
  159. X    red         4
  160. X    white         7
  161. X    yellow        14
  162. X
  163. X
  164. X
  165. X
  166. X
  167. X
  168. X
  169. X
  170. X
  171. X
  172. X
  173. X
  174. X
  175. X
  176. X
  177. X
  178. X
  179. X
  180. X
  181. X
  182. X
  183. X
  184. X
  185. X    Public Domain by wht@n4hgf          5/7/90
  186. X
  187. X
  188. X
  189. X
  190. X
  191. X
  192. X
  193. X    ECU    Technical Description                      65
  194. X
  195. X
  196. X
  197. X    Numeric    Order
  198. X    black         0
  199. X    blue         1
  200. X    green         2
  201. X    cyan         3
  202. X    red         4
  203. X    magenta         5
  204. X    brown         6
  205. X    white         7
  206. X    gray         8
  207. X    lt_blue         9
  208. X    lt_green    10
  209. X    lt_cyan        11
  210. X    lt_red        12
  211. X    lt_magenta  13
  212. X    yellow        14
  213. X    hi_white    15
  214. X
  215. X
  216. X
  217. X    6.3.4  %conn
  218. X
  219. X    This function returns the  communications  line  file  descriptor  if  a
  220. X    connection     is  in     progress,  else  0.   NOTE:   if  carrier  is    lost
  221. X    abnormally,    %conn will return non-zero incorrectly.
  222. X
  223. X
  224. X    6.3.5  %curx
  225. X
  226. X    This function returns the display cursor column position last set by the
  227. X    remote system.  This value does not    reflect    the actual hardware cursor.
  228. X
  229. X
  230. X    6.3.6  %cury
  231. X
  232. X    This function returns the display cursor row position last    set  by     the
  233. X    remote system.  This value does not    reflect    the actual hardware cursor.
  234. X
  235. X
  236. X    6.3.7  %csec
  237. X
  238. X    This function returns the number of    seconds    ECU has    been connected to  a
  239. X    remote system.  If ECU is not connected, zero is returned.
  240. X
  241. X
  242. X    6.3.8  %ctoi
  243. X
  244. X    usage: %ctoi(str0)
  245. X
  246. X    This function returns the integer value of the first character in string
  247. X    str0.  If str0 is non-empty, the return value will be between 0 and    255,
  248. X
  249. X
  250. X
  251. X    Public Domain by wht@n4hgf          5/7/90
  252. X
  253. X
  254. X
  255. X
  256. X
  257. X
  258. X
  259. X    ECU    Technical Description                      66
  260. X
  261. X
  262. X
  263. X    inclusive.    if str0    is empty, then -1 is returned.
  264. X
  265. X
  266. X    6.3.9  %fatime
  267. X
  268. X    usage: %fatime(int0)
  269. X       %fatime(str0)
  270. X
  271. X
  272. X    This function returns the time of last access of the file referenced  by
  273. X    the    argument.  If the argument is an integer, the file referenced is the
  274. X    file opened    by that    number with the    fopen command.    If the argument    is a
  275. X    string, it is the literal filename.
  276. X
  277. X    If int0 does not refer to an open file, the    procedure terminates with an
  278. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  279. X
  280. X    The    return value is    the number of seconds since January 1, 1970 at    0000
  281. X    UTC.   The    %edate    string    function  may be used to convert the integer
  282. X    value to a string representation of    the date and time expressed relative
  283. X    to the current time    zone.
  284. X
  285. X
  286. X    6.3.10  %fmode
  287. X
  288. X    usage: %fmode(int0)
  289. X       %fmode(str0)
  290. X
  291. X
  292. X    This function returns the file mode    value ("rwxrwx---" ==  077)  of     the
  293. X    file  referenced  by  the  argument.  If the argument is an    integer, the
  294. X    file referenced is the  file  opened  by  that  number  with  the  fopen
  295. X    command.  If the argument is a string, it is the literal filename.
  296. X
  297. X    If int0 does not refer to an open file, the    procedure terminates with an
  298. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  299. X
  300. X
  301. X    6.3.11  %fmtime
  302. X
  303. X    usage: %fmtime(int0)
  304. X       %fmtime(str0)
  305. X
  306. X
  307. X    This function returns the time of last modified of the  file  referenced
  308. X    by    the argument.  If the argument is an integer, the file referenced is
  309. X    the    file opened by that number with    the fopen command.  If the  argument
  310. X    is a string, it is the literal filename.
  311. X
  312. X    If int0 does not refer to an open file, the    procedure terminates with an
  313. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  314. X
  315. X
  316. X
  317. X    Public Domain by wht@n4hgf          5/7/90
  318. X
  319. X
  320. X
  321. X
  322. X
  323. X
  324. X
  325. X    ECU    Technical Description                      67
  326. X
  327. X
  328. X
  329. X    The    return value is    the number of seconds since January 1, 1970 at    0000
  330. X    UTC.   The    %edate    string    function  may be used to convert the integer
  331. X    value to a string representation of    the date and time expressed relative
  332. X    to the current time    zone.
  333. X
  334. X
  335. X    6.3.12  %fmode
  336. X
  337. X    usage: %fmode(int0)
  338. X       %fmode(str0)
  339. X
  340. X
  341. X    This function returns the size of the file referenced by  the  argument.
  342. X    If the argument is an integer, the file referenced is the file opened by
  343. X    that number    with the fopen command.     If the    argument is a string, it  is
  344. X    the    literal    filename.
  345. X
  346. X    If int0 does not refer to an open file, the    procedure terminates with an
  347. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  348. X
  349. X
  350. X    6.3.13  %ftell
  351. X
  352. X    usage: ftell(int0)
  353. X
  354. X    This function returns the current file position of the the    file  opened
  355. X    by int0 with the fopen command.
  356. X
  357. X    If int0 does not refer to an open file, the    procedure terminates with an
  358. X    error.
  359. X
  360. X
  361. X    6.3.14  %instr
  362. X
  363. X    usage: %instr(str0,str1)
  364. X
  365. X    This function returns the leftmost column  position     withing  str0    that
  366. X    str1  is found (zero relative).  If    str1 cannot be found in    string str0,
  367. X    -1 is returned.  However, if str1 is null and str0 is not, zero will  be
  368. X    returned (i.e., the    null string matches at the left).
  369. X
  370. X    The    comparison is made without regard to case.
  371. X
  372. X
  373. X
  374. X
  375. X
  376. X
  377. X
  378. X
  379. X
  380. X
  381. X
  382. X
  383. X    Public Domain by wht@n4hgf          5/7/90
  384. X
  385. X
  386. X
  387. X
  388. X
  389. X
  390. X
  391. X    ECU    Technical Description                      68
  392. X
  393. X
  394. X
  395. X     Examples:
  396. X
  397. X             00000000001111111
  398. X             01234567890123456
  399. X     Assume    $s0='abcdefghijklmnabc'
  400. X        $s1='abc'
  401. X        $s2='gHi'
  402. X        $s3='cat'
  403. X
  404. X        %instr($s0,$s1)           returns 0
  405. X        %instr($s0,$s2)           returns 6
  406. X        %instr($s0,$s3)           returns -1
  407. X        %instr($s0,'bcd')      returns 2
  408. X        %instr($s0,'bad')      returns -1
  409. X
  410. X
  411. X
  412. X    6.3.15  %ischr
  413. X
  414. X    usage: %ischr(int0)
  415. X       %ischr(str0)
  416. X
  417. X
  418. X    This function returns 1 if the file    referenced  by    the  argument  is  a
  419. X    character special file, else 0.  If    the argument is    an integer, the    file
  420. X    referenced is the file opened by that number with the fopen    command.  If
  421. X    the    argument is a string, it is the    literal    filename.
  422. X
  423. X    If int0 does not refer to an open file, the    procedure terminates with an
  424. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  425. X
  426. X    Examples:
  427. X
  428. X
  429. X     %ischr('/dev/tty')    returns 1
  430. X     %ischr('/usr/bin')    returns 0
  431. X     %ischr('/xenix')      returns 0
  432. X
  433. X
  434. X
  435. X    6.3.16  %isdir
  436. X
  437. X    usage: %isdir(int0)
  438. X       %isdir(str0)
  439. X
  440. X
  441. X    This function returns 1 if the file    referenced  by    the  argument  is  a
  442. X    directory  file,  else  0.     If  the  argument  is    an integer, the    file
  443. X    referenced is the file opened by that number with the fopen    command.  If
  444. X    the    argument is a string, it is the    literal    filename.
  445. X
  446. X
  447. X
  448. X
  449. X    Public Domain by wht@n4hgf          5/7/90
  450. X
  451. X
  452. X
  453. X
  454. X
  455. X
  456. X
  457. X    ECU    Technical Description                      69
  458. X
  459. X
  460. X
  461. X    If int0 does not refer to an open file, the    procedure terminates with an
  462. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  463. X
  464. X    Examples:
  465. X
  466. X
  467. X     %isdir('/dev/tty')    returns 0
  468. X     %isdir('/usr/bin')    returns 1
  469. X     %isdir('/xenix')      returns 0
  470. X
  471. X
  472. X
  473. X    6.3.17  %isreg
  474. X
  475. X    usage: %isreg(int0)
  476. X       %isreg(str0)
  477. X
  478. X
  479. X    This function returns 1 if the file    referenced  by    the  argument  is  a
  480. X    regular  file,  else  0.   If  the    argument  is  an  integer,  the    file
  481. X    referenced is the file opened by that number with the fopen    command.  If
  482. X    the    argument is a string, it is the    literal    filename.
  483. X
  484. X    If int0 does not refer to an open file, the    procedure terminates with an
  485. X    error.  If the file    specified by str0 does not exist, -1 is    returned.
  486. X
  487. X    Examples:
  488. X
  489. X
  490. X     %isreg('/dev/tty')    returns 0
  491. X     %isreg('/usr/bin')    returns 0
  492. X     %isreg('/xenix')      returns 1
  493. X
  494. X
  495. X
  496. X    6.3.18  %len
  497. X
  498. X    usage: %len(str0)
  499. X
  500. X    This function returns the length of    str0.
  501. X
  502. X     Example:
  503. X
  504. X     set str0='abcdef',i0=%len(str0),i1=%len('1234')
  505. X     str00 = 'abcdef'
  506. X     int00 = 6
  507. X     int01 = 4
  508. X
  509. X
  510. X
  511. X
  512. X
  513. X
  514. X
  515. X    Public Domain by wht@n4hgf          5/7/90
  516. X
  517. X
  518. X
  519. X
  520. X
  521. X
  522. X
  523. X    ECU    Technical Description                      70
  524. X
  525. X
  526. X
  527. X    6.3.19  %lgetc
  528. X
  529. X    Returns a character    read from the line.
  530. X
  531. X
  532. X    6.3.20  %pid
  533. X
  534. X    This function returns the process id (pid) of ECU.
  535. X
  536. X
  537. X    6.3.21  %match
  538. X
  539. X    usage: %match(str0,str1)
  540. X
  541. X    This function  searches  string  str0  for    a  match  with    the  regular
  542. X    expression in str1 (for information    on regular expressions,    refer to the
  543. X    ed(C) manual pages).  The function returns the index into str0 where the
  544. X    match  is found or -1 if no    match can be found.  The matching process is
  545. X    case sensitive.
  546. X
  547. X    The    variable $i0 receives the length of the    matching string    in str0    if a
  548. X    match is found.  For this reason, it is not    advisable that $i0 otherwise
  549. X    be involved    in the operation.  Specifically    to be avoided is:
  550. X
  551. X     set $i0=%instr(...)
  552. X
  553. X    Examples:
  554. X
  555. X        00000000001111111
  556. X        01234567890123456
  557. X    Assume $s0='abcdefghijklmnabc'
  558. X       $s1='abc'
  559. X       $s2='n.*'
  560. X
  561. X       %match($s0,$s1)      returns 0   $i0=3
  562. X       %match($s0,$s2)      returns 16  $i0=4
  563. X       %match($s0,$s3)      returns -1  $i0 unchanged
  564. X       %match($s0,'de..h')      returns 3   $i0=5
  565. X       %match($s0,'de..H')      returns -1  $i0 unchanged
  566. X
  567. X
  568. X
  569. X    6.3.22  %mhack
  570. X
  571. X    usage: %mhack
  572. X
  573. X    This  function  ("Millisecond  time     HACK")     returns   the     number      of
  574. X    milliseconds  since     ecu  was  started.  It    isn't a    very useful value by
  575. X    itself, but    differences between the    values returned    by two calls to     the
  576. X    function  may  be  used  to    determine the time between two events to the
  577. X    maximum accuracy the operating system can deliver.
  578. X
  579. X
  580. X
  581. X    Public Domain by wht@n4hgf          5/7/90
  582. X
  583. X
  584. X
  585. X
  586. X
  587. X
  588. X
  589. X    ECU    Technical Description                      71
  590. X
  591. X
  592. X
  593. X    Examples:
  594. X    $i10 = %mhack
  595. X    send 'test'
  596. X    lookfor    -e 0x0A    100
  597. X    ifi $i0    == 0 echo 'no response in 10 seconds'
  598. X    else echo 'response time '+%itos(%mhack    - $i10)+' msec'
  599. X
  600. X
  601. X
  602. X    6.3.23  %rchr
  603. X
  604. X    This function returns the number of    characters received by ECU since the
  605. X    program starrted.
  606. X
  607. X
  608. X    6.3.24  %rchrc
  609. X
  610. X    This function returns the number of    characters received  by     ECU  during
  611. X    the    current    connection.
  612. X
  613. X
  614. X    6.3.25  %shmid
  615. X
  616. X    This function returns the integer  shared  memory  segment    id  for     the
  617. X    current  ECU  process.   It     may  be  used    to pass    the id to a "friend"
  618. X    process so that it may access the shared memory  segment  (described  in
  619. X    header  file  ecushm.h).   For more    details, refer to an earlier section
  620. X    entitled "Shared Memory 'Friend' Interface."
  621. X
  622. X
  623. X    Example:
  624. X
  625. X     system    'ecufriend '+%itos(%shmid)
  626. X
  627. X
  628. X
  629. X    6.3.26  %stoi
  630. X
  631. X    usage: %stoi(str0)
  632. X
  633. X    This function converts the contents    of str0    to an  integer    and  returns
  634. X    the    value.
  635. X
  636. X
  637. X    6.3.27  %xchr
  638. X
  639. X    This function returns the number of    characters transmitted by ECU  since
  640. X    the    program    starrted.
  641. X
  642. X
  643. X
  644. X
  645. X
  646. X
  647. X    Public Domain by wht@n4hgf          5/7/90
  648. X
  649. X
  650. X
  651. X
  652. X
  653. X
  654. X
  655. X    ECU    Technical Description                      72
  656. X
  657. X
  658. X
  659. X    6.3.28  %xchrc
  660. X
  661. X    This function returns the number of    characters transmitted by ECU during
  662. X    the    current    connection.
  663. X
  664. X
  665. X
  666. X
  667. X    6.4     String    Functions
  668. X
  669. X
  670. X
  671. X    6.4.1  %argv
  672. X
  673. X    usage: %argv(int0)
  674. X
  675. X    This function returns the string value of  an  argument  passed  to     the
  676. X    procedure  by the 'do' command.  Argument 0    is the name of the procedure
  677. X    itself.  The integer function %argc    may be used to determine the  number
  678. X    of    arguments  passed  to  the procedure.  Specifying an argument number
  679. X    greater than the number of arguments passed    returns    a  null     string     (if
  680. X    procedure tracing is enabled with the 'ptrace' comand, a warning will be
  681. X    displayed in this case).
  682. X
  683. X     Example:
  684. X         invocation    from shell:
  685. X         ecu -p test Quick Brown Fox
  686. X
  687. X         invocation    from interactive command line:
  688. X         do    test Quick Brown Fox
  689. X
  690. X         invocation    from procedure:
  691. X         do    'test' 'Quick' 'Brown' 'Fox'
  692. X
  693. X         results in:
  694. X         %argv(0) =    'test'
  695. X         %argv(1) =    'Quick'
  696. X         %argv(2) =    'Brown'
  697. X         %argv(3) =    'Fox'
  698. X         %argv(4) =    ''
  699. X
  700. X
  701. X    NOTE: the interactive dial command,    the dialing directory menu  and     the
  702. X    initial  setup  menu  all  can  automatically  execute a procedure which
  703. X    matches a dialed logical telephone number.    There two  arguments  passed
  704. X    to    these  procedures,  %argv(0)  being  the  procedure  name as always.
  705. X    %argv(1) is    set according to the following table:
  706. X
  707. X
  708. X
  709. X
  710. X
  711. X
  712. X
  713. X    Public Domain by wht@n4hgf          5/7/90
  714. X
  715. X
  716. X
  717. X
  718. X
  719. X
  720. X
  721. X    ECU    Technical Description                      73
  722. X
  723. X
  724. X
  725. X      invoker           %argv(1)
  726. X     -------------------  -------------
  727. X     initial setup menu   !INITIAL
  728. X     interactive dial     !INTERACTIVE
  729. X     dialing menu          !MENU
  730. X
  731. X    Thus it is possible    for the    invoked    procedure to determine that  it     has
  732. X    been  automatically     executed  by  testing    %argv(1)  for an exclamation
  733. X    point, or possibly the entire argument.
  734. X
  735. X
  736. X    6.4.2  %cgetc
  737. X
  738. X    usage: %cgetc
  739. X
  740. X    This  function reads one character from the    console    keyboard and returns
  741. X    it.     The character is not echoed.
  742. X
  743. X
  744. X    6.4.3  %cgets
  745. X
  746. X    usage: %cgets
  747. X
  748. X    This function reads    a string from the console keyboard and    returns     it.
  749. X    Each  character is echoed as it is typed and the user's normal erase and
  750. X    kill character is available    to edit    the  input  before  terminating     the
  751. X    read with ENTER.
  752. X
  753. X
  754. X    6.4.4  %chr
  755. X
  756. X    usage: %chr(int0)
  757. X
  758. X    This function returns the character    value whose ASCII value    is  supplied
  759. X    in int0.
  760. X
  761. X
  762. X    Example:
  763. X
  764. X    set $s0    = %chr(4)  places a ^D (EOT) character into $s0
  765. X
  766. X
  767. X
  768. X    6.4.5  %date
  769. X
  770. X    usage: %date
  771. X
  772. X    This function returns the current date in the form 'mm-dd-yyyy'  in     the
  773. X    local time zone (daylight time if it applies).
  774. X
  775. X
  776. X
  777. X
  778. X
  779. X    Public Domain by wht@n4hgf          5/7/90
  780. X
  781. X
  782. X
  783. X
  784. X
  785. X
  786. X
  787. X    ECU    Technical Description                      74
  788. X
  789. X
  790. X
  791. X    6.4.6  %datez
  792. X
  793. X    usage: %datez
  794. X
  795. X    This function returns the current date in the form 'mm-dd-yyyy'  in     the
  796. X    UTC    (Z) time zone.
  797. X
  798. X
  799. X    6.4.7  %day
  800. X
  801. X    usage: %day
  802. X
  803. X    This function returns the current day of the week as a  three  character
  804. X    abbreviation:  'Sun',  'Mon',  'Tue',  'Wed', 'Thu', 'Fri',    'Sat' in the
  805. X    local time zone (daylight time if it applies).
  806. X
  807. X
  808. X    6.4.8  %dayz
  809. X
  810. X    usage: %dayz
  811. X
  812. X    This function returns the current day of the week as a  three  character
  813. X    abbreviation: 'Sun', 'Mon',    'Tue', 'Wed', 'Thu', 'Fri', 'Sat' in the UTC
  814. X    (Z)    time zone.
  815. X
  816. X
  817. X    6.4.9  %dir
  818. X
  819. X    usage: %dir
  820. X
  821. X    This  function  returns  the  full    pathname  of  the  current   working
  822. X    directory.
  823. X
  824. X
  825. X    6.4.10  %edate
  826. X
  827. X    usage: %edate(int0)
  828. X
  829. X    The    value in int0 is expected to be    a number of seconds since January 1,
  830. X    1970  00:00     UTC (Universal    Coordinated Time) as returned by the integer
  831. X    functions %fatime and %fmtime.  This function converts the value into  a
  832. X    string  representing  the  equivalent local    time in    the form 'mm-dd-yyyy
  833. X    hh:mm:ss'.
  834. X
  835. X
  836. X
  837. X
  838. X
  839. X
  840. X
  841. X
  842. X
  843. X
  844. X
  845. X    Public Domain by wht@n4hgf          5/7/90
  846. X
  847. X
  848. X
  849. X
  850. X
  851. X
  852. X
  853. X    ECU    Technical Description                      75
  854. X
  855. X
  856. X
  857. X    Example:
  858. X
  859. X    set    $i0=%fmtime('/xenix')
  860. X    $i00 = 601178971 (0x23d5435b,04365241533)
  861. X
  862. X    set    $s0=%edate($i0)
  863. X    $s00 = '01-18-1989 21:09:31'
  864. X
  865. X
  866. X
  867. X    6.4.11  %envvar
  868. X
  869. X    usage: %envvar()
  870. X
  871. X    This function returns the string value of an environment variable.
  872. X
  873. X
  874. X    Example:
  875. X
  876. X    set $s0=%envvar('HOME')    might set $s0 '/usr/user'
  877. X
  878. X    Typical Environment    Variables:
  879. X
  880. X    HOME          pathname of home directory
  881. X    EDITOR          user's preferred editor
  882. X    PATH          program execution    searchlist
  883. X    TERM          terminal type
  884. X    SHELL          user's preferred shell
  885. X    MAIL          user's mail box file
  886. X    ECUPROMPT     ECU interactive command prompt
  887. X              at beginning of execution
  888. X
  889. X
  890. X
  891. X    6.4.12  %errstr
  892. X
  893. X    usage: %errstr(int0)
  894. X
  895. X    This function returns the system error message, given int0 as  an  errno
  896. X    as returned    by a file-related command.  fopen.
  897. X
  898. X
  899. X    Example:
  900. X
  901. X    echo %errstr(1)
  902. X    Not owner
  903. X
  904. X
  905. X
  906. X
  907. X
  908. X
  909. X
  910. X
  911. X    Public Domain by wht@n4hgf          5/7/90
  912. X
  913. X
  914. X
  915. X
  916. X
  917. X
  918. X
  919. X    ECU    Technical Description                      76
  920. X
  921. X
  922. X
  923. X    6.4.13  %etime
  924. X
  925. X    usage: %etime(int0)
  926. X
  927. X    This function returns a string representation of  elapsed  time  in     the
  928. X    format 'hh:mm:ss' for the integer parameter    int0, a    number of seconds.
  929. X
  930. X
  931. X    Example:
  932. X
  933. X    echo %etime(62)
  934. X    00:01:02
  935. X
  936. X
  937. X
  938. X    6.4.14  %fmodestr
  939. X
  940. X    usage: %fmodestr(int0)
  941. X
  942. X    This function returns a string representation of the familiar file    mode
  943. X    string given the file mode integer int0.
  944. X
  945. X
  946. X    Example:
  947. X
  948. X    echo %fmodestr(0100755)
  949. X    -rwxr-xr-x
  950. X
  951. X    echo %fmodestr(%fmode('/usr/lib'))
  952. X    drwxr-xr-x
  953. X
  954. X
  955. X
  956. X    6.4.15  %itos
  957. X
  958. X    usage: %itos(int0[,format])
  959. X
  960. X    This function converts integer int0    to a string, optionally     controlling
  961. X    the    format of the conversion.
  962. X
  963. X    If the format parameter is missing,     the  conversion  is  to  a  minimum
  964. X    number of decimal characters necessary to hold the result.
  965. X
  966. X    If the format parameter is present,    it must    of  consist  of     a  non-null
  967. X    string made    of one or both optional    parts:
  968. X
  969. X
  970. X
  971. X
  972. X
  973. X
  974. X
  975. X
  976. X
  977. X    Public Domain by wht@n4hgf          5/7/90
  978. X
  979. X
  980. X
  981. X
  982. X
  983. X
  984. X
  985. X    ECU    Technical Description                      77
  986. X
  987. X
  988. X
  989. X    decimal    number of digits to be part of result string
  990. X    (a leading zero    indicates leading zeroes are to
  991. X    appear in the string; no leading zero pads with
  992. X    leading    spaces
  993. X
  994. X    a lower    case letter from the following list:
  995. X        d -    decimal    conversion
  996. X        x -    hexadecimal conversion
  997. X        o -    octal conversion
  998. X
  999. X    Example:
  1000. X
  1001. X    %itos(33)        '33'
  1002. X    %itos(33,d)        '33'
  1003. X    %itos(33,x)        '21'
  1004. X    %itos(33,5d)        '    33'
  1005. X    %itos(33,010d)        '0000000033'
  1006. X    %itos(33,10d)        '         33'
  1007. X    %itos(33,x)        '21'
  1008. X    %itos(33,04x)        '0021'
  1009. X    %itos(33,4x)        '  21'
  1010. X    %itos(33,o)        '41'
  1011. X    %itos(33,4o)        '     41'
  1012. X
  1013. X
  1014. X
  1015. X    6.4.16  %left
  1016. X
  1017. X    usage: %left(str0,int0)
  1018. X
  1019. X    This function returns the leftmost int0  characters     of  str0.   If     the
  1020. X    length of the string is less than int0, the    entire str0 is returned.
  1021. X
  1022. X    Example:
  1023. X
  1024. X    if $s0 == 'abcdefg'
  1025. X    %left($s0,3) returns 'abc'
  1026. X
  1027. X
  1028. X
  1029. X    6.4.17  %line
  1030. X
  1031. X    usage: %line
  1032. X
  1033. X    This function returns the name of the attached  communications  line  in
  1034. X    the     form  "/dev/ttyxx".  If no line is currently attached,    the function
  1035. X    returns null.
  1036. X
  1037. X
  1038. X
  1039. X
  1040. X
  1041. X
  1042. X
  1043. X    Public Domain by wht@n4hgf          5/7/90
  1044. X
  1045. X
  1046. X
  1047. X
  1048. X
  1049. X
  1050. X
  1051. X    ECU    Technical Description                      78
  1052. X
  1053. X
  1054. X
  1055. X    6.4.18  %logname
  1056. X
  1057. X    usage: %logname
  1058. X
  1059. X    This function returns the login name of the    user executing    ECU.   Note:
  1060. X    the     name  returned     is  the  name    supplied  to a login prompt, not any
  1061. X    current su(C) username that    may be in effect.
  1062. X
  1063. X
  1064. X    6.4.19  %mid
  1065. X
  1066. X    usage: %mid(str0,int0[,int1])
  1067. X
  1068. X    This function returns the middle portion of    a string str0 beginning    with
  1069. X    the     character at position int0 and    for a length of    int1 characters.  If
  1070. X    int0 is greater than or equal to the length    of stro, a  null  string  is
  1071. X    returned.    If  the     optional  argument  int1 is not supplied, or if the
  1072. X    length of the string is less than int1, the    entire str0 is returned.
  1073. X
  1074. X    Example:
  1075. X
  1076. X    if $s0 == '0123456789abc'
  1077. X    %mid($s0,3,4)  returns '3456'
  1078. X    %mid($s0,3)    returns '3456789abc'
  1079. X    %mid($s0,10,2) returns 'ab'
  1080. X    %mid($s0,10,5) returns 'abc'
  1081. X
  1082. X
  1083. X
  1084. X    6.4.20  %month
  1085. X
  1086. X    usage: %month
  1087. X
  1088. X    This  function  returns  the  current  month  as   a   three   character
  1089. X    abbreviation:  'Jan',  'Feb',  'Mar', 'Apr', 'May',    'Jun', 'Jul', 'Aug',
  1090. X    'Sep', 'Oct', 'Nov', 'Dec'.
  1091. X
  1092. X
  1093. X    6.4.21  %rdesc
  1094. X
  1095. X    usage: %rdesc
  1096. X
  1097. X    This function returns the description portion of the  dialing  directory
  1098. X    entry  for the currently connected remote.    If no connection exists, the
  1099. X    function returns null.
  1100. X
  1101. X
  1102. X    6.4.22  %right
  1103. X
  1104. X    usage: %right(str0,int0)
  1105. X
  1106. X
  1107. X
  1108. X
  1109. X    Public Domain by wht@n4hgf          5/7/90
  1110. X
  1111. X
  1112. X
  1113. X
  1114. X
  1115. X
  1116. X
  1117. X    ECU    Technical Description                      79
  1118. X
  1119. X
  1120. X
  1121. X    This function returns the rightmost    int0 characters     of  str0.   If     the
  1122. X    length of the string is less than int0, the    entire str0 is returned.
  1123. X
  1124. X    Example:
  1125. X
  1126. X    if $s0 == 'abcdefg'
  1127. X    %right($s0,3) returns 'efg'
  1128. X
  1129. X
  1130. X
  1131. X    6.4.23  %rname
  1132. X
  1133. X    usage: %rname
  1134. X
  1135. X    This function returns the logical name portion of the dialing  directory
  1136. X    entry  for    the  currently    connected  remote.  If the remote was dialed
  1137. X    directly, as in dial 5551212, the returned value is     the  phone  number.
  1138. X    If no connection exists, the function returns null.
  1139. X
  1140. X    The    value returned by this command may be overridden by use    of the rname
  1141. X    procedure command.
  1142. X
  1143. X
  1144. X    6.4.24  %rtelno
  1145. X    usage: %rtelno
  1146. X
  1147. X    This function returns  the    telephone  number  portion  of    the  dialing
  1148. X    directory  entry  for  the currently connected remote.  If no connection
  1149. X    exists, the    function returns null.
  1150. X
  1151. X
  1152. X    6.4.25  %time
  1153. X
  1154. X    usage: %time
  1155. X
  1156. X    This function returns the current time in the form 'hh:mm' in the  local
  1157. X    time zone (daylight    time if    it applies).
  1158. X
  1159. X
  1160. X    6.4.26  %times
  1161. X
  1162. X    usage: %times
  1163. X
  1164. X    This function returns the current time in the  form     'hh:mm:ss'  in     the
  1165. X    local time zone (daylight time if it applies).
  1166. X
  1167. X
  1168. X    6.4.27  %timez
  1169. X
  1170. X    usage: %timez
  1171. X
  1172. X
  1173. X
  1174. X
  1175. X    Public Domain by wht@n4hgf          5/7/90
  1176. X
  1177. X
  1178. X
  1179. X
  1180. X
  1181. X
  1182. X
  1183. X    ECU    Technical Description                      80
  1184. X
  1185. X
  1186. X
  1187. X    This function returns the current time in the form 'hh:mm'    in  the     UTC
  1188. X    (Z)    time zone.
  1189. X
  1190. X
  1191. X    6.4.28  %timezs
  1192. X
  1193. X    usage: %timezs
  1194. X
  1195. X    This function returns the current time in the form 'hh:mm:ss' in the UTC
  1196. X    (Z)    time zone.
  1197. X
  1198. X
  1199. X    6.4.29  %tty
  1200. X
  1201. X    usage: %tty
  1202. X
  1203. X    This function returns the console tty name in the form "/dev/ttynn".
  1204. X
  1205. X
  1206. X
  1207. X
  1208. X    6.5     HoneyDanBer UUCP Interface
  1209. X
  1210. X
  1211. X
  1212. X    6.5.1  UUCP    Control    Files
  1213. X
  1214. X
  1215. X    6.5.1.1  /usr/lib/uucp/Devices
  1216. X
  1217. X    ECU    reads this file    to determine what  tty    devices     are  available     for
  1218. X    outgoing  calls.   The fifth field of each entry must contain either the
  1219. X    full pathname of a modem dialer program (with leading slash) or the    name
  1220. X    of    an entry in the    /usr/lib/uucp/Dialers file.  Sysfiles support is not
  1221. X    yet    provided.  The Devices file  must  be  named  /usr/lib/uucp/Devices.
  1222. X    For     more  information, see    "UUCP Dialers" and "Choosing a Dialout Line"
  1223. X    below.
  1224. X
  1225. X
  1226. X    6.5.1.2  /usr/lib/uucp/Dialers
  1227. X
  1228. X    Dialers entries may    be specified in    the Devices entry. Sysfiles  support
  1229. X    is      not     yet   provided.    The      Dialers   file   must      be   named
  1230. X    /usr/lib/uucp/Dialers.
  1231. X
  1232. X
  1233. X    6.5.1.3  /usr/lib/uucp/Sysfiles
  1234. X
  1235. X    Sysfiles support is    not yet    provided.  The    Devices     and  Dialers  files
  1236. X    must have their default names.
  1237. X
  1238. X
  1239. X
  1240. X
  1241. X    Public Domain by wht@n4hgf          5/7/90
  1242. X
  1243. X
  1244. X
  1245. X
  1246. X
  1247. X
  1248. X
  1249. X    ECU    Technical Description                      81
  1250. X
  1251. X
  1252. X
  1253. X    6.5.1.4  /usr/lib/uucp/Systems
  1254. X
  1255. X    No use is made of the Systems file    at  this  time.      ECU  provides     the
  1256. X    equivalent function    with its dialing directory.
  1257. X
  1258. X
  1259. X    6.5.2  Choosing a Dialout Line
  1260. X
  1261. X    When using the interactive    dial  command,    or  when  dialing  from     the
  1262. X    initial  menu,  if    a logical or system name is specified, the directory
  1263. X    entry is fetched and examined.  If the tty field specifies a value other
  1264. X    than  "Any",  the  specific     line requested    is opened, if available, and
  1265. X    dialing commences. If the specified    line  is  not  available,  the    dial
  1266. X    attemptfails.
  1267. X
  1268. X    If "Any" is    found in the dialing directory    entry,    then  ECU  finds  an
  1269. X    avaialable    line which matches the baud rate specified in the entry.  It
  1270. X    does so by reading the Dialers file.
  1271. X
  1272. X    If a line matching the  necessary  baud  rate  is  found  (by  searching
  1273. X    /etc/utmp)    to be a    line enabled for login,    but which is currently idle,
  1274. X    the    getty interface, described below, is used to acquire  the  line     for
  1275. X    outgoing use.
  1276. X
  1277. X
  1278. X    6.5.3  Getty Interface
  1279. X
  1280. X    When an idle dialin    (enabled) line is chosen for dialout, ECU makes     use
  1281. X    of    /usr/lib/ecu/ecuungetty     to  signal  the line's    getty to release the
  1282. X    line (via SIGUSR1).     Ecuungetty is again employed to signal    the getty to
  1283. X    reacquire    the  line  when     outgoing  communication  is  complete    (via
  1284. X    SIGUSR2).
  1285. X
  1286. X    Ecuungetty is a privileged program,    which must be owned by root and    have
  1287. X    the     setuid-on-execute  bit     set.    A  encrypted  id is passed by ecu to
  1288. X    ecuungetty to validate requests and    to prevent abuse  of  ecuungetty  by
  1289. X    hackers, malcontents and other twentieth-century phenomena.
  1290. X
  1291. X
  1292. X    6.5.4  UUCP    Dialer Programs
  1293. X
  1294. X    If the Devices file    can be found in    /usr/lib/uucp, and a valid entry for
  1295. X    the     attached  line     can  be  found,  ECU will use the Dialers script or
  1296. X    dialer program specified in    the Devices entry.
  1297. X
  1298. X    Sample enhanced modem dialer program sources may be    found  in  the    uucp
  1299. X    subdirectory of the    distribution.
  1300. X
  1301. X
  1302. X
  1303. X
  1304. X
  1305. X
  1306. X
  1307. X    Public Domain by wht@n4hgf          5/7/90
  1308. X
  1309. X
  1310. X
  1311. X
  1312. X
  1313. X
  1314. X
  1315. X    ECU    Technical Description                      82
  1316. X
  1317. X
  1318. X
  1319. X    7.    Technical Notes
  1320. X
  1321. X
  1322. X    ECU    is written in Microsoft/SCO XENIX System V C.  Full use    is  made  of
  1323. X    function  prototyping  for ECU functions and external library functions.
  1324. X    The    source consists    of 32,000 lines    of source files    (731000     bytes)     and
  1325. X    2500  lines     of  header files (73000 bytes).  The output of    "size" for a
  1326. X    -M3    version    (actaul    information may    be obsolete):
  1327. X
  1328. X
  1329. X     text      data      bss      dec       hex
  1330. X     140940    + 34068    + 61852    = 236860 = 0x39d3c
  1331. X
  1332. X
  1333. X
  1334. X
  1335. X
  1336. X
  1337. X
  1338. X
  1339. X
  1340. X
  1341. X
  1342. X
  1343. X
  1344. X
  1345. X
  1346. X
  1347. X
  1348. X
  1349. X
  1350. X
  1351. X
  1352. X
  1353. X
  1354. X
  1355. X
  1356. X
  1357. X
  1358. X
  1359. X
  1360. X
  1361. X
  1362. X
  1363. X
  1364. X
  1365. X
  1366. X
  1367. X
  1368. X
  1369. X
  1370. X
  1371. X
  1372. X
  1373. X    Public Domain by wht@n4hgf          5/7/90
  1374. X
  1375. X
  1376. X
  1377. X
  1378. X
  1379. X
  1380. X
  1381. X    ECU    Technical Description                      83
  1382. X
  1383. X
  1384. X
  1385. X    8.    Revision Numbers
  1386. X
  1387. X    ECU    revision numbers are defined as    follows:
  1388. X
  1389. X     pppp#.##-#86x
  1390. X      ^  ^ ^  ^  ^
  1391. X      |  | |  |  `----- 's'    if XENIX select(S) in use, 'n' if not
  1392. X      |  | |  `-------- '2'    for 286, '3' for 386
  1393. X      |  | `----------- patch level
  1394. X      |  `------------- major revision
  1395. X      `---------------- package ('unet' for    this release)
  1396. X
  1397. X
  1398. X
  1399. X
  1400. X
  1401. X
  1402. X
  1403. X
  1404. X
  1405. X
  1406. X
  1407. X
  1408. X
  1409. X
  1410. X
  1411. X
  1412. X
  1413. X
  1414. X
  1415. X
  1416. X
  1417. X
  1418. X
  1419. X
  1420. X
  1421. X
  1422. X
  1423. X
  1424. X
  1425. X
  1426. X
  1427. X
  1428. X
  1429. X
  1430. X
  1431. X
  1432. X
  1433. X
  1434. X
  1435. X
  1436. X
  1437. X
  1438. X
  1439. X    Public Domain by wht@n4hgf          5/7/90
  1440. X
  1441. X
  1442. X
  1443. X
  1444. X
  1445. X
  1446. X
  1447. X
  1448. X
  1449. X
  1450. X
  1451. X                    CONTENTS
  1452. X
  1453. X
  1454. X    1.    Introduction........................................   2
  1455. X
  1456. X    2.    Basic Organization..................................   3
  1457. X    2.1   Transmitter Process (XMTR)....................   3
  1458. X          2.1.1   Keyboard Interface....................   3
  1459. X          2.1.2   ECU Command Assembly..................   3
  1460. X          2.1.3   Function Key Mapping..................   4
  1461. X          2.1.4   Auxiliary    Operation Control...........   4
  1462. X    2.2   Receiver Process (RCVR).......................   5
  1463. X          2.2.1   ANSI Filter...........................   5
  1464. X          2.2.2   Session Logging.......................   5
  1465. X
  1466. X    3.    Features............................................   6
  1467. X    3.1   Line Editing..................................   6
  1468. X    3.2   Interactive Command History...................   6
  1469. X    3.3   Dialing Directory.............................   6
  1470. X    3.4   Online Command Dictionary.....................   6
  1471. X    3.5   Multiscreen Event    Alarm.......................   7
  1472. X    3.6   Function Key Mapping..........................   7
  1473. X    3.7   Built-in Modem Dialer.........................   8
  1474. X    3.8   File Transfer.................................   9
  1475. X    3.9   Procedures (Scripts)..........................  10
  1476. X    3.10  Initial (Startup)    Procedure...................  10
  1477. X    3.11  Home Directory Files..........................  10
  1478. X    3.12  Lock Files....................................  10
  1479. X    3.13  Dial-In/Dial-Out Line Support.................  10
  1480. X    3.14  Tools.........................................  11
  1481. X    3.15  Shared Memory 'Friend' Interface..............  11
  1482. X
  1483. X    4.    Starting the Program................................  12
  1484. X    4.1   Simple Startup - Initial Setup Menu...........  12
  1485. X          4.1.1   Name/Phone Number    Field...............  12
  1486. X          4.1.2   Other Fields..........................  13
  1487. X          4.1.3   Special Characters....................  13
  1488. X    4.2   Command Line Arguments and Switches...........  14
  1489. X          4.2.1   -l....................................  14
  1490. X          4.2.2   -f....................................  14
  1491. X          4.2.3   -e, -o................................  14
  1492. X          4.2.4   -p <procname>.........................  15
  1493. X          4.2.5   -d....................................  15
  1494. X          4.2.6   -t....................................  15
  1495. X    4.3   Environment Variables.........................  15
  1496. X          4.3.1   ECUPROMPT.............................  15
  1497. X          4.3.2   ECUHELP...............................  16
  1498. X
  1499. X    5.    Interactive Mode Commands...........................  17
  1500. X    5.1   AX : ascii char to hex/oct/dec................  17
  1501. X    5.2   BAud : set/display line baud rate.............  17
  1502. X
  1503. X
  1504. X
  1505. X                   - i -
  1506. X
  1507. X
  1508. X
  1509. X
  1510. X
  1511. X
  1512. X
  1513. X
  1514. X
  1515. X
  1516. X
  1517. X    5.3   BN : all console event alarm..................  17
  1518. X    5.4   BReak : send break to remote..................  18
  1519. X    5.5   CD : change current directory.................  18
  1520. X    5.6   DA : decimal to ascii char....................  18
  1521. X    5.7   Dial : dial remote destination................  19
  1522. X    5.8   DO : perform procedure........................  19
  1523. X    5.9   DUplex : set/display duplex...................  20
  1524. X    5.10  EXit : drop carrier, exit    program.............  20
  1525. X    5.11  FI : send    text file to line...................  20
  1526. X    5.12  FKey : function key definition................  21
  1527. X    5.13  HAngup : hang up modem........................  22
  1528. X    5.14  HElp : invoke help............................  22
  1529. X    5.15  LLp : set    session    log to /dev/lp..............  22
  1530. X    5.16  LOFf : turn off session logging...............  23
  1531. X    5.17  LOG : session logging control.................  23
  1532. X    5.18  NL : display CR/LF mapping....................  23
  1533. X    5.19  NLIn : set receive CR/LF mapping..............  23
  1534. X    5.20  NLOut : set transmit CR/LF mapping............  24
  1535. X    5.21  OA : octal to ascii char......................  24
  1536. X    5.22  PARity : set/display line    parity..............  24
  1537. X    5.23  PId : display process ids.....................  25
  1538. X    5.24  PLog : procedure logging......................  25
  1539. X    5.25  PTrace : control procedure trace..............  25
  1540. X    5.26  PWd : print working directory.................  25
  1541. X    5.27  REDial : redial last number...................  25
  1542. X    5.28  REV : ECU    revision/make date..................  26
  1543. X    5.29  RK : receive via C-Kermit.....................  26
  1544. X    5.30  RS : receive via SEAlink......................  26
  1545. X    5.31  RTScts : control RTS/CTS flow control.........  26
  1546. X    5.32  RX : receive via XMODEM/CRC...................  27
  1547. X    5.33  RY : receive via YMODEM Batch.................  27
  1548. X    5.34  RZ : receive via ZMODEM/CRC32.................  27
  1549. X    5.35  SDNAME : select screen dump file name.........  27
  1550. X    5.36  SK : send    via C-Kermit........................  28
  1551. X    5.37  SS : send    via SEAlink.........................  28
  1552. X    5.38  STat : connection    status......................  29
  1553. X    5.39  SX : send    via XMODEM/CRC......................  29
  1554. X    5.40  SY : send    via YMODEM Batch....................  30
  1555. X    5.41  SZ : send    via ZMODEM/CRC32....................  30
  1556. X    5.42  TIme : time of day............................  31
  1557. X    5.43  TTy : console tty    name........................  31
  1558. X    5.44  XA : hex to ascii    char........................  31
  1559. X    5.45  !    : execute shell.............................  32
  1560. X
  1561. X    6.    Procedure Language..................................  33
  1562. X    6.1   Arguments.....................................  33
  1563. X          6.1.1   Switches..............................  33
  1564. X          6.1.2   Alphabetic Tokens.....................  33
  1565. X          6.1.3   Integers..............................  33
  1566. X              6.1.3.1  Constants  34
  1567. X              6.1.3.2  Variables  34
  1568. X
  1569. X
  1570. X
  1571. X                   - ii -
  1572. X
  1573. X
  1574. X
  1575. X
  1576. X
  1577. X
  1578. X
  1579. X
  1580. X
  1581. X
  1582. X
  1583. X              6.1.3.3  Functions  34
  1584. X              6.1.3.4  Expressions  34
  1585. X              6.1.3.5  Relational Operators  35
  1586. X          6.1.4   Strings...............................  35
  1587. X              6.1.4.1  Constants  35
  1588. X              6.1.4.2  Variables  35
  1589. X              6.1.4.3  Functions  36
  1590. X              6.1.4.4  Expressions  36
  1591. X              6.1.4.5  Relational Operators  36
  1592. X    6.2   Commands......................................  36
  1593. X          6.2.1   baud..................................  36
  1594. X          6.2.2   break.................................  36
  1595. X          6.2.3   cd....................................  37
  1596. X          6.2.4   clrx..................................  37
  1597. X          6.2.5   cls...................................  37
  1598. X          6.2.6   color.................................  38
  1599. X          6.2.7   continue..............................  38
  1600. X          6.2.8   cursor................................  39
  1601. X          6.2.9   delline...............................  40
  1602. X          6.2.10  dial..................................  40
  1603. X          6.2.11  do....................................  41
  1604. X          6.2.12  duplex................................  41
  1605. X          6.2.13  echo..................................  42
  1606. X          6.2.14  eeol..................................  42
  1607. X          6.2.15  else..................................  42
  1608. X          6.2.16  exit..................................  44
  1609. X          6.2.17  expresp...............................  45
  1610. X          6.2.18  fchmod................................  45
  1611. X          6.2.19  fclose................................  46
  1612. X          6.2.20  fdel..................................  46
  1613. X          6.2.21  fgetc.................................  47
  1614. X          6.2.22  fgets.................................  47
  1615. X          6.2.23  fkey..................................  47
  1616. X          6.2.24  flush.................................  48
  1617. X          6.2.25  fopen.................................  48
  1618. X          6.2.26  fputc.................................  49
  1619. X          6.2.27  fputs.................................  49
  1620. X          6.2.28  fseek.................................  49
  1621. X          6.2.29  getf..................................  50
  1622. X          6.2.30  goto..................................  50
  1623. X          6.2.31  gotob.................................  50
  1624. X          6.2.32  hangup................................  50
  1625. X          6.2.33  hexdump...............................  51
  1626. X          6.2.34  home..................................  51
  1627. X          6.2.35  icolor................................  52
  1628. X          6.2.36  ifi...................................  52
  1629. X          6.2.37  ifs...................................  52
  1630. X          6.2.38  lbreak................................  53
  1631. X          6.2.39  lgets.................................  53
  1632. X          6.2.40  insline...............................  53
  1633. X          6.2.41  logevent..............................  53
  1634. X
  1635. X
  1636. X
  1637. X                  -    iii -
  1638. X
  1639. X
  1640. X
  1641. X
  1642. X
  1643. X
  1644. X
  1645. X
  1646. X
  1647. X
  1648. X
  1649. X          6.2.42  lookfor...............................  54
  1650. X          6.2.43  mkvar.................................  54
  1651. X          6.2.44  nap...................................  55
  1652. X          6.2.45  parity................................  55
  1653. X          6.2.46  pclose................................  56
  1654. X          6.2.47  plog..................................  56
  1655. X          6.2.48  popen.................................  56
  1656. X          6.2.49  prompt................................  57
  1657. X          6.2.50  ptrace................................  57
  1658. X          6.2.51  putf..................................  58
  1659. X          6.2.52  return................................  58
  1660. X          6.2.53  rk....................................  58
  1661. X          6.2.54  rname.................................  58
  1662. X          6.2.55  rs....................................  58
  1663. X          6.2.56  rx....................................  59
  1664. X          6.2.57  ry....................................  59
  1665. X          6.2.58  rz....................................  59
  1666. X          6.2.59  scrdump...............................  59
  1667. X          6.2.60  send..................................  59
  1668. X          6.2.61  set...................................  60
  1669. X          6.2.62  sk....................................  60
  1670. X          6.2.63  ss....................................  60
  1671. X          6.2.64  sx....................................  61
  1672. X          6.2.65  sy....................................  61
  1673. X          6.2.66  system................................  62
  1674. X          6.2.67  sz....................................  62
  1675. X          6.2.68  vidcolor..............................  62
  1676. X          6.2.69  vidnorm...............................  63
  1677. X          6.2.70  vidrev................................  63
  1678. X          6.2.71  whilei................................  63
  1679. X          6.2.72  whiles................................  64
  1680. X    6.3   Integer Functions.............................  64
  1681. X          6.3.1   %argc.................................  64
  1682. X          6.3.2   %baud.................................  64
  1683. X          6.3.3   %colors...............................  65
  1684. X          6.3.4   %conn.................................  66
  1685. X          6.3.5   %curx.................................  66
  1686. X          6.3.6   %cury.................................  66
  1687. X          6.3.7   %csec.................................  66
  1688. X          6.3.8   %ctoi.................................  66
  1689. X          6.3.9   %fatime...............................  67
  1690. X          6.3.10  %fmode................................  67
  1691. X          6.3.11  %fmtime...............................  67
  1692. X          6.3.12  %fmode................................  68
  1693. X          6.3.13  %ftell................................  68
  1694. X          6.3.14  %instr................................  68
  1695. X          6.3.15  %ischr................................  69
  1696. X          6.3.16  %isdir................................  69
  1697. X          6.3.17  %isreg................................  70
  1698. X          6.3.18  %len..................................  70
  1699. X          6.3.19  %lgetc................................  71
  1700. X
  1701. X
  1702. X
  1703. X                   - iv -
  1704. X
  1705. X
  1706. X
  1707. X
  1708. X
  1709. X
  1710. X
  1711. X
  1712. X
  1713. X
  1714. X
  1715. X          6.3.20  %pid..................................  71
  1716. X          6.3.21  %match................................  71
  1717. X          6.3.22  %mhack................................  71
  1718. X          6.3.23  %rchr.................................  72
  1719. X          6.3.24  %rchrc................................  72
  1720. X          6.3.25  %shmid................................  72
  1721. X          6.3.26  %stoi.................................  72
  1722. X          6.3.27  %xchr.................................  72
  1723. X          6.3.28  %xchrc................................  73
  1724. X    6.4   String Functions..............................  73
  1725. X          6.4.1   %argv.................................  73
  1726. X          6.4.2   %cgetc................................  74
  1727. X          6.4.3   %cgets................................  74
  1728. X          6.4.4   %chr..................................  74
  1729. X          6.4.5   %date.................................  74
  1730. X          6.4.6   %datez................................  75
  1731. X          6.4.7   %day..................................  75
  1732. X          6.4.8   %dayz.................................  75
  1733. X          6.4.9   %dir..................................  75
  1734. X          6.4.10  %edate................................  75
  1735. X          6.4.11  %envvar...............................  76
  1736. X          6.4.12  %errstr...............................  76
  1737. X          6.4.13  %etime................................  77
  1738. X          6.4.14  %fmodestr.............................  77
  1739. X          6.4.15  %itos.................................  77
  1740. X          6.4.16  %left.................................  78
  1741. X          6.4.17  %line.................................  78
  1742. X          6.4.18  %logname..............................  79
  1743. X          6.4.19  %mid..................................  79
  1744. X          6.4.20  %month................................  79
  1745. X          6.4.21  %rdesc................................  79
  1746. X          6.4.22  %right................................  79
  1747. X          6.4.23  %rname................................  80
  1748. X          6.4.24  %rtelno...............................  80
  1749. X          6.4.25  %time.................................  80
  1750. X          6.4.26  %times................................  80
  1751. X          6.4.27  %timez................................  80
  1752. X          6.4.28  %timezs...............................  81
  1753. X          6.4.29  %tty..................................  81
  1754. X    6.5   HoneyDanBer UUCP Interface....................  81
  1755. X          6.5.1   UUCP Control Files....................  81
  1756. X              6.5.1.1  /usr/lib/uucp/Devices  81
  1757. X              6.5.1.2  /usr/lib/uucp/Dialers  81
  1758. X              6.5.1.3  /usr/lib/uucp/Sysfiles  81
  1759. X              6.5.1.4  /usr/lib/uucp/Systems  82
  1760. X          6.5.2   Choosing a Dialout Line...............  82
  1761. X          6.5.3   Getty Interface.......................  82
  1762. X          6.5.4   UUCP Dialer Programs..................  82
  1763. X
  1764. X    7.    Technical Notes.....................................  83
  1765. X
  1766. X
  1767. X
  1768. X
  1769. X                   - v -
  1770. X
  1771. X
  1772. X
  1773. X
  1774. X
  1775. X
  1776. X
  1777. X
  1778. X
  1779. X
  1780. X
  1781. X    8.    Revision Numbers....................................  84
  1782. X
  1783. X
  1784. X
  1785. X
  1786. X
  1787. X
  1788. X
  1789. X
  1790. X
  1791. X
  1792. X
  1793. X
  1794. X
  1795. X
  1796. X
  1797. X
  1798. X
  1799. X
  1800. X
  1801. X
  1802. X
  1803. X
  1804. X
  1805. X
  1806. X
  1807. X
  1808. X
  1809. X
  1810. X
  1811. X
  1812. X
  1813. X
  1814. X
  1815. X
  1816. X
  1817. X
  1818. X
  1819. X
  1820. X
  1821. X
  1822. X
  1823. X
  1824. X
  1825. X
  1826. X
  1827. X
  1828. X
  1829. X
  1830. X
  1831. X
  1832. X
  1833. X
  1834. X
  1835. X                   - vi -
  1836. X
  1837. X
  1838. X
  1839. X
  1840. SHAR_EOF
  1841. echo "File doc/ecu.man is complete" &&
  1842. $TOUCH -am 0508000190 doc/ecu.man &&
  1843. chmod 0644 doc/ecu.man ||
  1844. echo "restore of doc/ecu.man failed"
  1845. set `wc -c doc/ecu.man`;Wc_c=$1
  1846. if test "$Wc_c" != "143012"; then
  1847.     echo original size 143012, current size $Wc_c
  1848. fi
  1849. rm -f @shar_seq_.tmp
  1850. echo "You have unpacked the last part"
  1851. exit 0
  1852.  
  1853.