home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume42 / ecu / part36 < prev    next >
Encoding:
Internet Message Format  |  1994-05-25  |  64.6 KB

  1. From: wht@n4hgf.atl.ga.us (Warren Tucker)
  2. Newsgroups: comp.sources.misc
  3. Subject: v42i134:  ecu - ECU Asynchronous Communications v3.30, Part36/37
  4. Date: 25 May 1994 15:00:07 -0500
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <2s0ao7$a25@sparky.sterling.com>
  9. X-Md4-Signature: 6deba7a9f3af40b725f6d67b39caa6fe
  10.  
  11. Submitted-by: wht@n4hgf.atl.ga.us (Warren Tucker)
  12. Posting-number: Volume 42, Issue 134
  13. Archive-name: ecu/part36
  14. Environment: SCO,SCOXENIX,MOTOROLA,HP-UX,LINUX,NetBSD,SUNOS,SYSVR4,SOLARIS2
  15. Supersedes: ecu: Volume 32, Issue 36-75
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # Contents:  ecu330/BUGS ecu330/Configure ecu330/README.OPENWIN
  22. #   ecu330/README.porting ecu330/bperr/Make.src ecu330/doc/_top.txt
  23. #   ecu330/dutmp.c ecu330/dvent.h ecu330/ecu_config.h
  24. #   ecu330/ecu_time.h ecu330/ecucurses.h ecu330/ecumachdep.h
  25. #   ecu330/ecutermio.h ecu330/ecutty.h ecu330/ecuungetty.h
  26. #   ecu330/fasi/Makefile ecu330/gendial/tbit.sync.h ecu330/help/util.c
  27. #   ecu330/logevent.c ecu330/lstat.c ecu330/models/ecu-ansi.tcap
  28. #   ecu330/models/ecu-ansi.tinfo ecu330/models/oneline.ep
  29. #   ecu330/models/p.ep ecu330/models/ps.ep ecu330/models/su.ep
  30. #   ecu330/old_notes/README.3.20 ecu330/old_notes/README.SEAlink
  31. #   ecu330/proc.h ecu330/smap.h ecu330/ttynaming.h ecu330/utmpstatus.h
  32. #   ecu330/xsel386/select.asm ecu330/zgcc
  33. # Wrapped by kent@sparky on Mon May 23 13:41:06 1994
  34. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  35. echo If this archive is complete, you will see the following message:
  36. echo '          "shar: End of archive 36 (of 37)."'
  37. if test -f 'ecu330/BUGS' -a "${1}" != "-c" ; then 
  38.   echo shar: Will not clobber existing file \"'ecu330/BUGS'\"
  39. else
  40.   echo shar: Extracting \"'ecu330/BUGS'\" \(1563 characters\)
  41.   sed "s/^X//" >'ecu330/BUGS' <<'END_OF_FILE'
  42. XECU BUG LIST as of
  43. XThu Mar 31 13:27:42 EST 1994
  44. X
  45. XThis 3.30 release was languishing, with little time for
  46. Xwork, so I have released it with these known bugs
  47. X(as well as the usual litnany of UNknown bugs :>).
  48. X
  49. X1.  Sometimes on the initial setup screen, if you attempt to open
  50. Xa non-existent tty, correct the error, then retry the open, ECU
  51. Xwill terminate.
  52. X
  53. X2.  When on SCO or other ECU platform using ecuungetty, you have
  54. Xto be careful of a possible race condition when switching lines
  55. X(closing one, open another).  If you close one tty "name" and
  56. Ximmediately open a different tty "name" which refers to the same
  57. Xphysical device, ECU may abort with "line owned by uucp." For
  58. Xinstance, you may have /dev/tty2a open and "Home dial" a
  59. Xdirectory entry which specifies /deb/tty2B.
  60. X
  61. XThis is a bug in an otherwise useful piece of logic that provides
  62. XECU with better shared modem support than (most) other similar
  63. Xprograms.  What is happening is:
  64. X
  65. X  a. ECU releases the old line, telling ecuungetty to cycle the getty.
  66. X  b. ecuungetty chowns the line to uucp and kills getty
  67. X  c. getty locks the tty and begins its initialization of the line
  68. X     for dial-in
  69. X  d. meanwhile, ECU is trying to open the same line by another name
  70. X     and runs into the ownership problem.
  71. X
  72. XECU "thinks" he knows what is going on, so it treats the
  73. Xunexpected uucp ownership as a sort of logic error.  This problem
  74. Xcould be solved if ECU knew the relationship between tty names.
  75. Xmodels/tty.equiv is a start, but I had no time.
  76. X
  77. XWorkaround: consistently use one tty name for each physical device.
  78. END_OF_FILE
  79.   if test 1563 -ne `wc -c <'ecu330/BUGS'`; then
  80.     echo shar: \"'ecu330/BUGS'\" unpacked with wrong size!
  81.   fi
  82.   # end of 'ecu330/BUGS'
  83. fi
  84. if test -f 'ecu330/Configure' -a "${1}" != "-c" ; then 
  85.   echo shar: Will not clobber existing file \"'ecu330/Configure'\"
  86. else
  87.   echo shar: Extracting \"'ecu330/Configure'\" \(1492 characters\)
  88.   sed "s/^X//" >'ecu330/Configure' <<'END_OF_FILE'
  89. X:
  90. X#!/bin/sh
  91. X#+---------------------------------------------------------------------
  92. X# ECU Configure - prepare and execute ECU configuration program
  93. X#----------------------------------------------------------------------
  94. X#+:EDITS:
  95. X#:05-04-1994-04:38-wht@n4hgf-ECU release 3.30
  96. X#:03-13-1994-19:26-wht@fep-facelift + fep WHT detect
  97. X#:09-10-1992-13:58-wht@n4hgf-ECU release 3.20
  98. X#:08-22-1992-15:37-wht@n4hgf-ECU release 3.20 BETA
  99. X#:07-09-1992-18:09-wht@n4hgf-ecunumrev a bad idea
  100. X#:07-07-1992-16:30-wht@gyro-add ecunumrev to config
  101. X#:08-25-1991-05:11-wht@n4hgf2-added Sun n4hgf2 WHT automation
  102. X#:08-06-1991-05:05-wht@n4hgf-change FASI_IN_USE to FASI
  103. X#:07-12-1991-14:05-wht@n4hgf-ensure config.c compiles properly
  104. X#:04-29-1991-02:39-wht@n4hgf-document/clean
  105. X
  106. X# no changes are recommended
  107. XCFLAGS=
  108. X
  109. X# a bit of self indulgence for me (ignore it or be inspired)
  110. XSYSTEM=
  111. X[ -f /etc/systemid ] && SYSTEM=`cat /etc/systemid`
  112. X[ "$SYSTEM" = "n4hgf" ] && CFLAGS='-DWHT'
  113. X[ -f /etc/systemid ] && SYSTEM=`cat /etc/systemid`
  114. X[ "$SYSTEM" = "kepler" ] && CFLAGS='-DWHT'
  115. X[ -f /etc/hostname.le0 ] && SYSTEM=`cat /etc/hostname.le0`
  116. X[ "$SYSTEM" = "gyro" ] && CFLAGS='-DWHT'
  117. X[ -f /sbin/uname ] && SYSTEM=`/sbin/uname`
  118. X[ "$SYSTEM" = "fep" ] && CFLAGS='-DWHT'
  119. X
  120. Xecho Please wait while I compile the config program.
  121. Xrm -f ./config
  122. Xcc $CFLAGS config.c -o config > /tmp/config.cc.log 2>&1
  123. X[ -x ./config ] && rm -f /tmp/config.cc.log
  124. X[ -x ./config ] || echo '/tmp/config.cc.log has compile errors'
  125. X./config
  126. X
  127. X#end of Configure
  128. END_OF_FILE
  129.   if test 1492 -ne `wc -c <'ecu330/Configure'`; then
  130.     echo shar: \"'ecu330/Configure'\" unpacked with wrong size!
  131.   fi
  132.   chmod +x 'ecu330/Configure'
  133.   # end of 'ecu330/Configure'
  134. fi
  135. if test -f 'ecu330/README.OPENWIN' -a "${1}" != "-c" ; then 
  136.   echo shar: Will not clobber existing file \"'ecu330/README.OPENWIN'\"
  137. else
  138.   echo shar: Extracting \"'ecu330/README.OPENWIN'\" \(1231 characters\)
  139.   sed "s/^X//" >'ecu330/README.OPENWIN' <<'END_OF_FILE'
  140. XIf you are using Open Windows on a Sparc, try these hints:
  141. X
  142. XDate: Tue, 28 Apr 92 16:41:42 EDT
  143. XFrom: ifsbd!cma (Mark Ashton)
  144. XTo: n4hgf!wht
  145. XSubject: Key mapping for ecu in Openwin shelltool
  146. X
  147. XCreate a ~/.ttyswrc file containing the following:
  148. X
  149. Xmapi R7 \E[H
  150. Xmapi R9 \E[I
  151. Xmapi R11 \E[E
  152. Xmapi R13 \E[F
  153. Xmapi R15 \E[G
  154. Xmapi F1 \E[M
  155. Xmapi F2 \E[N
  156. Xmapi F3 \E[O
  157. Xmapi F4 \E[P
  158. Xmapi F5 \E[Q
  159. Xmapi F6 \E[R
  160. Xmapi F7 \E[S
  161. Xmapi F8 \E[T
  162. Xmapi F9 \E[U
  163. Xmapi F10 \E[V
  164. Xmapi F11 \E[W
  165. Xmapi F12 \E[X
  166. X
  167. XSee the shelltool man page for mention of .ttyswrc
  168. X
  169. XThen, add 'sun-cmd' to the ansi funckeymap
  170. X
  171. X    F1:F1:          esc [ M 
  172. X    F2:F2:          esc [ N 
  173. X    F3:F3:          esc [ O 
  174. X    F4:F4:          esc [ P 
  175. X    F5:F5:          esc [ Q 
  176. X    F6:F6:          esc [ R 
  177. X    F7:F7:          esc [ S 
  178. X    F8:F8:          esc [ T 
  179. X    F9:F9:          esc [ U 
  180. X    F10:F10:        esc [ V 
  181. X    F11:F11:        esc [ W 
  182. X    F12:F12:        esc [ X 
  183. X    Home:Home:      esc [ H 
  184. X    End:End:        esc [ F 
  185. X    PgUp:PgUp:      esc [ I 
  186. X    PgDn:PgDn:      esc [ G 
  187. X    CUU:CUU:        esc [ A 
  188. X    CUL:CUL:        esc [ D 
  189. X    CU5:CU5:        esc [ E 
  190. X    CUR:CUR:        esc [ C 
  191. X    CUD:CUD:        esc [ B 
  192. X    Ins:Ins:        esc [ L
  193. X    BkTab:BackTab:  esc [ Z
  194. X
  195. END_OF_FILE
  196.   if test 1231 -ne `wc -c <'ecu330/README.OPENWIN'`; then
  197.     echo shar: \"'ecu330/README.OPENWIN'\" unpacked with wrong size!
  198.   fi
  199.   # end of 'ecu330/README.OPENWIN'
  200. fi
  201. if test -f 'ecu330/README.porting' -a "${1}" != "-c" ; then 
  202.   echo shar: Will not clobber existing file \"'ecu330/README.porting'\"
  203. else
  204.   echo shar: Extracting \"'ecu330/README.porting'\" \(1540 characters\)
  205.   sed "s/^X//" >'ecu330/README.porting' <<'END_OF_FILE'
  206. XAnyway you do it, please
  207. X
  208. X0. TALK TO US BEFORE EMBARKING ON EPIC HACK-JOURNS
  209. X1. USE CONTEXT DIFFS WHEN COMMUNICATING CHANGES
  210. X2. UPDATE THE DOC TOO!
  211. X3. HAVE FUN!!!
  212. X
  213. XGenerally, you'll HAVE to have (or construct a replacement for)
  214. X
  215. X1. nap() or -DUSE_SELECT if you have a working select()
  216. X2. ftime() or -DUSE_GETTIMEOFDAY if you have gettimeofday()
  217. X3. SVR3 termio or -DUSE_TERMIOS if you have POSIX/SVR4 termios
  218. X4. termcap- or terminfo-based curses (ecu_curses.h and
  219. X   Make.src/Makefile LDLIBS hackery)
  220. X5. HDB ASCII-style lock file conventions or -DUSE_DECIMAL_PIDS
  221. X   if int-sized values are to be used.
  222. X
  223. XConfigure, config.c and Make.src conspire to pass these
  224. Xconfiguration #defines to ECU:
  225. X
  226. X#define identifier         defined if
  227. X---------------------      ----------------------------------------------
  228. XCFG_BinaryUucpPids         UUCP lock files have int pids not ASCII
  229. XCFG_FionrdRdchk            If you lack rdchk() but have ioctl(FIONREAD)
  230. XCFG_GettodFtime            If you lack ftime() but have gettimeofday()
  231. XCFG_MmapSHM                If you lack SYSV shm, but have mmap()
  232. XCFG_SelectNap              If you lack nap() but have select()
  233. XCFG_TermiosLineio          If you lack termio but have POSIX termios
  234. XCFG_UngettyChown           If want ecuungetty to manage tty ownership
  235. XCFG_UseUngetty             If you want and have ported ecuungetty
  236. X
  237. XCFG_SemWithShm             DO NOT TURN THIS ON
  238. X
  239. X--
  240. XWarren Tucker                          wht@n4hgf.atl.ga.us   n4hgf!wht
  241. XThe velocity of history is increasing exponentially. -- Henry Gonzales
  242. END_OF_FILE
  243.   if test 1540 -ne `wc -c <'ecu330/README.porting'`; then
  244.     echo shar: \"'ecu330/README.porting'\" unpacked with wrong size!
  245.   fi
  246.   # end of 'ecu330/README.porting'
  247. fi
  248. if test -f 'ecu330/bperr/Make.src' -a "${1}" != "-c" ; then 
  249.   echo shar: Will not clobber existing file \"'ecu330/bperr/Make.src'\"
  250. else
  251.   echo shar: Extracting \"'ecu330/bperr/Make.src'\" \(1560 characters\)
  252.   sed "s/^X//" >'ecu330/bperr/Make.src' <<'END_OF_FILE'
  253. X#+---------------------------------------------------------------
  254. X# Makefile for bperr
  255. X# wht@n4hgf.atl.ga.us
  256. X#----------------------------------------------------------------
  257. X#+:EDITS:
  258. X#:05-04-1994-04:38-wht@n4hgf-ECU release 3.30
  259. X#:01-25-1994-11:25-wht@n4hgf-stole ecuungetty Make.src for model
  260. X
  261. XSHELL = /bin/sh
  262. XPROGRAM = bperr
  263. X
  264. X.SUFFIXES:
  265. X.SUFFIXES: .c .o .h
  266. X
  267. X.c.o:;    $(BINTIME) $(CC) -c $(CFLAGS) $*.c 
  268. X
  269. XSRC = \
  270. X    bperr.c
  271. X
  272. XOBJ = \
  273. X    bperr.o
  274. X
  275. Xall: $(PROGRAM)
  276. X
  277. X$(PROGRAM): $(OBJ)
  278. X    $(BINTIME) $(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS)
  279. X
  280. X$(OBJ): Makefile
  281. X
  282. Xinstall:
  283. X    @echo nothing to install in bperr
  284. X
  285. Xneat:
  286. X    rm -f .make.* depend.tmp eddep.tmp Makefile.new *.bak *.BAK
  287. X    rm -f core tags cscope.out
  288. X    -rm -f *~ *# *.orig *.rej make.log a.out
  289. X
  290. Xclean: neat
  291. X    rm -f $(PROGRAM).o
  292. X
  293. Xclobber: clean
  294. X    rm -f $(PROGRAM)
  295. X
  296. X#regenerate .o:.h dependencies automatically
  297. Xdepend:
  298. X    rm -f depend.tmp
  299. X    grep '^#include' $(SRC) \
  300. X    | sed \
  301. X        -e '/</d'\
  302. X        -e 's?:[^"]*"\([^"]*\)".*?: \1?'\
  303. X        -e 's?\(.*\)\.c?\1.o?'\
  304. X     >> depend.tmp
  305. X
  306. X    echo '/^# DO NOT DELETE THIS LINE' >eddep.tmp
  307. X    echo '.+1,$$d' >>eddep.tmp
  308. X    echo 'r depend.tmp' >> eddep.tmp
  309. X    echo 'w' >> eddep.tmp
  310. X    cp Makefile Makefile.new
  311. X    ed Makefile.new < eddep.tmp
  312. X    rm eddep.tmp depend.tmp
  313. X    echo '# DEPENDENCIES MUST END AT END OF FILE' >>Makefile.new
  314. X    echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
  315. X    echo '# see make depend above'>>Makefile.new
  316. X    mv Makefile Makefile.bak
  317. X    mv Makefile.new Makefile
  318. X
  319. X# DO NOT DELETE THIS LINE
  320. X# DEPENDENCIES MUST END AT END OF FILE
  321. X# IF YOU PUT STUFF HERE IT WILL GO AWAY
  322. X# see make depend above
  323. END_OF_FILE
  324.   if test 1560 -ne `wc -c <'ecu330/bperr/Make.src'`; then
  325.     echo shar: \"'ecu330/bperr/Make.src'\" unpacked with wrong size!
  326.   fi
  327.   # end of 'ecu330/bperr/Make.src'
  328. fi
  329. if test -f 'ecu330/doc/_top.txt' -a "${1}" != "-c" ; then 
  330.   echo shar: Will not clobber existing file \"'ecu330/doc/_top.txt'\"
  331. else
  332.   echo shar: Extracting \"'ecu330/doc/_top.txt'\" \(1581 characters\)
  333.   sed "s/^X//" >'ecu330/doc/_top.txt' <<'END_OF_FILE'
  334. X.de *s
  335. X.H "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
  336. X.br
  337. X..
  338. X.po 4
  339. X.ll 7.2i
  340. X.ls 1
  341. X.nh
  342. X.tp
  343. X.sp 1.0i
  344. X.ft B
  345. X.ce 10
  346. XECU
  347. X
  348. X(Extended Call Utility)
  349. X.ce 0
  350. X.sp 1i
  351. X.ce 100
  352. XResearch and Engineering
  353. XAsynchronous Communications Package
  354. Xfor SCO UNIX 3.2 and XENIX System V,
  355. XHP-UX, Motorola Delta SVR32 and SVR41, Linux,
  356. XNetBSD, SunOS 4.1, Solaris 2.x,
  357. XISC 386/ix, ISC System V Release 4,
  358. Xand ESIX System V Release 4
  359. X.ce 0
  360. X.ft P
  361. X.sp 1i
  362. X.lp
  363. X.ce 1
  364. XWarren H. Tucker, III <wht@n4hgf.atl.ga.us>
  365. X.sp .5i
  366. X.ce 100
  367. XTechnical Description
  368. XRevision 3.30
  369. X\n(mo/\n(dy/\n(yr
  370. X.ce 0
  371. X.sp 1i
  372. X.ls 1
  373. XNOTE: Many sections of the manual are likely to be inaccurate or
  374. Xobsolete at any given time until the writer get lots of free
  375. Xtime.  Much of it was written when the program was supported only
  376. Xon SCO XENIX and UNIX.  Usually, I took the extra time to throw
  377. X-something- in the manual and online help.  I did not always go
  378. Xback and indicate which features are not supported by a later`
  379. Xport.
  380. X
  381. XMany of the features of ECU were written under extreme time
  382. Xpressure.  While the program code is usually reliable, the manual
  383. Xis a joke from many points of view, organization, consistency,
  384. Xcontent -- you name it.  You'll see comma splices, incomplete
  385. Xsentences or even incorrect information.  You may find the
  386. Xcorrect information in a README or in another part of the manual.
  387. XOf course, there is the code!  If you find information that seems
  388. Xincorrect, PLEASE mail a report to the author.
  389. X
  390. X.PH "'ECU Technical Description''%'"
  391. X.PF "'wht@n4hgf.atl.ga.us''\n(mo/\n(dy/\n(yr'"
  392. X.nr si 2n
  393. X.nr Cl 9
  394. X.nr Ej 1
  395. X.nr U 1
  396. X.SA 0
  397. X.ul
  398. X.bp 2
  399. X
  400. END_OF_FILE
  401.   if test 1581 -ne `wc -c <'ecu330/doc/_top.txt'`; then
  402.     echo shar: \"'ecu330/doc/_top.txt'\" unpacked with wrong size!
  403.   fi
  404.   # end of 'ecu330/doc/_top.txt'
  405. fi
  406. if test -f 'ecu330/dutmp.c' -a "${1}" != "-c" ; then 
  407.   echo shar: Will not clobber existing file \"'ecu330/dutmp.c'\"
  408. else
  409.   echo shar: Extracting \"'ecu330/dutmp.c'\" \(1509 characters\)
  410.   sed "s/^X//" >'ecu330/dutmp.c' <<'END_OF_FILE'
  411. X/* CHK=0xD757 */
  412. Xchar *revision = "1.2";
  413. X
  414. X/*+-----------------------------------------------------------------------
  415. X    dutmp.c -- dump /etc/utmp
  416. X    wht@n4hgf.atl.ga.us
  417. X------------------------------------------------------------------------*/
  418. X/*+:EDITS:*/
  419. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  420. X/*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  421. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  422. X/*:04-28-1992-13:05-wht@n4hgf-clean up for inclusion in ecu */
  423. X/*:11-19-1989-16:34-wht-creation */
  424. X
  425. X#include <stdio.h>
  426. X#include <fcntl.h>
  427. X#include <ctype.h>
  428. X#include <sys/types.h>
  429. X#include <utmp.h>
  430. X
  431. Xchar *utmp_file = "/etc/utmp";
  432. X
  433. Xextern char *ctime();
  434. X
  435. X/*+-------------------------------------------------------------------------
  436. X    main(argc,argv)
  437. X--------------------------------------------------------------------------*/
  438. Xmain(argc, argv)
  439. Xint argc;
  440. Xchar **argv;
  441. X{
  442. X    struct utmp ut;
  443. X    register int ufd;
  444. X
  445. X    printf("dutmp %s\n", revision);
  446. X
  447. X    if ((ufd = open(utmp_file, O_RDONLY, 755)) < 0)
  448. X    {
  449. X        perror(utmp_file);
  450. X        exit(1);
  451. X    }
  452. X
  453. X    while (read(ufd, &ut, sizeof(ut)) > 0)
  454. X    {
  455. X#if defined(sun)
  456. X        if (!*ut.ut_name || (ut.ut_time < 0))
  457. X            continue;
  458. X        printf("%-10.10s %-14.14s %-15.15s %s",
  459. X            ut.ut_name,
  460. X            ut.ut_line,
  461. X            ut.ut_host,
  462. X            ctime(&ut.ut_time));
  463. X#else
  464. X        printf("%-10.10s %-7.7s %-14.14s %6u %s",
  465. X            ut.ut_user,
  466. X            ut.ut_id,
  467. X            ut.ut_line,
  468. X            ut.ut_pid,
  469. X            ctime(&ut.ut_time));
  470. X#endif
  471. X    }
  472. X    close(ufd);
  473. X    exit(0);
  474. X}                             /* end of main */
  475. X
  476. X/* vi: set tabstop=4 shiftwidth=4: */
  477. X/* end of dutmp.c */
  478. END_OF_FILE
  479.   if test 1509 -ne `wc -c <'ecu330/dutmp.c'`; then
  480.     echo shar: \"'ecu330/dutmp.c'\" unpacked with wrong size!
  481.   fi
  482.   # end of 'ecu330/dutmp.c'
  483. fi
  484. if test -f 'ecu330/dvent.h' -a "${1}" != "-c" ; then 
  485.   echo shar: Will not clobber existing file \"'ecu330/dvent.h'\"
  486. else
  487.   echo shar: Extracting \"'ecu330/dvent.h'\" \(1241 characters\)
  488.   sed "s/^X//" >'ecu330/dvent.h' <<'END_OF_FILE'
  489. X/*+-------------------------------------------------------------------------
  490. X    dvent.h - HDB UUCP Devices file entry (a la pwent.h)
  491. X    wht@n4hgf.atl.ga.us
  492. X--------------------------------------------------------------------------*/
  493. X/*+:EDITS:*/
  494. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  495. X/*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  496. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  497. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  498. X/*:12-01-1991-12:38-wht@n4hgf-new typedef for striuct dvent */
  499. X/*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  500. X/*:08-14-1990-20:39-wht@n4hgf-ecu3.00-flush old edit history */
  501. X
  502. X#ifndef _dvent_h
  503. X#define _dvent_h
  504. X
  505. Xtypedef struct dvent
  506. X{
  507. X    char *type;                 /* ACU or Direct */
  508. X    char *line;                 /* tty name "ttyxx"-style */
  509. X    char *dialer;             /* "801" dialer line */
  510. X    uint low_baud;             /* lowest baud rate */
  511. X    uint high_baud;             /* highest baud rate */
  512. X    char *dialprog;             /* dialer program */
  513. X    char *token;             /* token to be passed to the dialer */
  514. X}
  515. XDVE;
  516. X
  517. XDVE *getdvent();
  518. XDVE *getdvbaud();
  519. XDVE *getdvline();
  520. XDVE *getdvtype();
  521. Xvoid enddvent();
  522. XDVE *hdb_choose_Any();
  523. XDVE *hdb_choose_Device();
  524. X
  525. X#endif /* _dvent_h */
  526. X
  527. X/* vi: set tabstop=4 shiftwidth=4: */
  528. X/* end of dvent.h */
  529. END_OF_FILE
  530.   if test 1241 -ne `wc -c <'ecu330/dvent.h'`; then
  531.     echo shar: \"'ecu330/dvent.h'\" unpacked with wrong size!
  532.   fi
  533.   # end of 'ecu330/dvent.h'
  534. fi
  535. if test -f 'ecu330/ecu_config.h' -a "${1}" != "-c" ; then 
  536.   echo shar: Will not clobber existing file \"'ecu330/ecu_config.h'\"
  537. else
  538.   echo shar: Extracting \"'ecu330/ecu_config.h'\" \(1428 characters\)
  539.   sed "s/^X//" >'ecu330/ecu_config.h' <<'END_OF_FILE'
  540. X/*+-------------------------------------------------------------------------
  541. X    ecu_config.h
  542. X--------------------------------------------------------------------------*/
  543. X/*+:EDITS:*/
  544. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  545. X/*:01-16-1994-16:55-wht@n4hgf-added framework */
  546. X
  547. X#ifndef _ecu_config_h
  548. X#define _ecu_config_h
  549. X
  550. X/*
  551. X * config.c, compiled without benefit of it's own wizardry
  552. X * and it's user input, must know how to use the tty
  553. X */
  554. X#if defined(__NetBSD__) && !defined(CFG_TermiosLineio)
  555. X#define CFG_TermiosLineio
  556. X#endif
  557. X
  558. X/*
  559. X * some very early gcc's don't know about i386 (none before 1.40,
  560. X * but this makes sure)
  561. X */
  562. X#if (defined(M_I386) || defined(ISC) /* || defined(MYSYS) */)  && !defined(i386)
  563. X#define i386 1                 /* needed by setjmp.h on 386 unix r3 */
  564. X#endif
  565. X
  566. X/*
  567. X * ANSI dweebery + ensure defined with '1', not just defined
  568. X */
  569. X#if defined(__sun__) && !defined(sun)
  570. X#define sun 1
  571. X#endif
  572. X#if defined(__i386__) || defined(i386)
  573. X#undef i386
  574. X#define i386 1
  575. X#endif
  576. X#if defined(__SVR4__) || defined(SVR4)
  577. X#undef SVR4
  578. X#define SVR4 1
  579. X#endif
  580. X#if defined(hp9000s300) || defined(hppa) || defined(hpux) || defined(__hpux__)
  581. X#undef hpux
  582. X#define hpux 1
  583. X#endif
  584. X#if defined(__NetBSD__)
  585. X#undef netbsd
  586. X#define    netbsd 1
  587. X#endif
  588. X
  589. X#if defined(hp9000s300) || defined(hppa) || defined(hpux) || defined(hpux)
  590. X#undef hpux
  591. X#define hpux
  592. X#endif
  593. X
  594. X#endif /* _ecu_config_h */
  595. X
  596. X/* vi: set tabstop=4 shiftwidth=4: */
  597. X/* end of ecu_config.h */
  598. END_OF_FILE
  599.   if test 1428 -ne `wc -c <'ecu330/ecu_config.h'`; then
  600.     echo shar: \"'ecu330/ecu_config.h'\" unpacked with wrong size!
  601.   fi
  602.   # end of 'ecu330/ecu_config.h'
  603. fi
  604. if test -f 'ecu330/ecu_time.h' -a "${1}" != "-c" ; then 
  605.   echo shar: Will not clobber existing file \"'ecu330/ecu_time.h'\"
  606. else
  607.   echo shar: Extracting \"'ecu330/ecu_time.h'\" \(1705 characters\)
  608.   sed "s/^X//" >'ecu330/ecu_time.h' <<'END_OF_FILE'
  609. X/*+-------------------------------------------------------------------------
  610. X    ecu_time.h
  611. X    wht@n4hgf.atl.ga.us
  612. X
  613. X  allow gettimeofday to stand in for ftime
  614. X--------------------------------------------------------------------------*/
  615. X/*+:EDITS:*/
  616. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  617. X/*:12-12-1993-13:07-wht@n4hgf-creation */
  618. X
  619. X#ifndef _ecu_time_h
  620. X#define _ecu_time_h
  621. X
  622. X/*
  623. X * if ftime() not available, fake one with gettimeofday()
  624. X * ftime() will become less common as SVR3 becomes
  625. X * the less common port; this usage should keep the
  626. X * memory of it alive a bit longer <smile>
  627. X */
  628. X#if defined(CFG_GettodFtime)
  629. Xstruct timeb
  630. X{
  631. X    long time;
  632. X    unsigned short millitm;
  633. X    short timezone;             /* not supported by ECU ftime clone */
  634. X    short dstflag;             /* not supported by ECU ftime clone */
  635. X};
  636. X
  637. X/*
  638. X * our own re-inclusion prevention
  639. X */
  640. X
  641. X#if !defined(ECU_INCLUDED_SYS_TIME_H)
  642. X#include <sys/time.h>
  643. X#define ECU_INCLUDED_SYS_TIME_H
  644. X#endif /* ECU_INCLUDED_SYS_TIME_H */
  645. X
  646. X#else /* !CFG_GettodFtime */
  647. X#include <sys/timeb.h>         /* we do have ftime() */
  648. X#endif /* CFG_GettodFtime */
  649. X
  650. X/*
  651. X * find a struct timeval for select()
  652. X */
  653. X#if defined(CFG_SelectNap)
  654. X
  655. X#ifdef CFG_IncSelectH
  656. X#include <sys/select.h>
  657. X#endif
  658. X
  659. X#if !defined(ECU_INCLUDED_SYS_TIME_H)
  660. X#include <sys/time.h>
  661. X#define ECU_INCLUDED_SYS_TIME_H
  662. X#endif /* ECU_INCLUDED_SYS_TIME_H */
  663. X
  664. X#endif /* CFG_SelectNap */
  665. X
  666. X/*
  667. X * <time.h> must be included after <sys/time.h> or later
  668. X * SCO 32v4 DS will find the prototype definition for ftime()
  669. X * before it finds the struc declaration, thus barfing
  670. X * with bad argument complaints when ftime() is later used
  671. X */
  672. X#include <time.h>
  673. X
  674. X#endif /* _ecu_time_h */
  675. X
  676. X/* vi: set tabstop=4 shiftwidth=4: */
  677. X/* end of ecu_time.h */
  678. END_OF_FILE
  679.   if test 1705 -ne `wc -c <'ecu330/ecu_time.h'`; then
  680.     echo shar: \"'ecu330/ecu_time.h'\" unpacked with wrong size!
  681.   fi
  682.   # end of 'ecu330/ecu_time.h'
  683. fi
  684. if test -f 'ecu330/ecucurses.h' -a "${1}" != "-c" ; then 
  685.   echo shar: Will not clobber existing file \"'ecu330/ecucurses.h'\"
  686. else
  687.   echo shar: Extracting \"'ecu330/ecucurses.h'\" \(1598 characters\)
  688.   sed "s/^X//" >'ecu330/ecucurses.h' <<'END_OF_FILE'
  689. X/*+-------------------------------------------------------------------------
  690. X    ecucurses.h - bypass SCO <curses.h> problems
  691. X    wht@n4hgf.atl.ga.us
  692. X
  693. XIt is impossible to avoid warnings with various SCO curses installation
  694. Xoptions, so we do it here
  695. X--------------------------------------------------------------------------*/
  696. X/*+:EDITS:*/
  697. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  698. X/*:11-12-1993-11:00-wht@n4hgf-Linux changes by bob@vancouver.zadall.com */
  699. X/*:09-10-1992-13:58-wht@n4hgf-ECU release 3.20 */
  700. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  701. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  702. X/*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
  703. X/*:05-02-1991-02:35-wht@n4hgf-creation */
  704. X
  705. X#ifndef _ecucurses_h
  706. X#define _ecucurses_h
  707. X
  708. X/*
  709. X * remove any pre-conceived notion of TERMINFO vs. TERMCAP curses (SCO)
  710. X */
  711. X#if defined(M_TERMINFO)
  712. X#undef M_TERMINFO
  713. X#endif /* M_TERMINFO */
  714. X
  715. X#if defined(M_TERMCAP)
  716. X#undef M_TERMCAP
  717. X#endif /* M_TERMCAP */
  718. X
  719. X#if defined(M_SYSV)             /* any SCO */
  720. X/*
  721. X * SCO uses TERMCAP curses at this time
  722. X */
  723. X#define M_TERMCAP
  724. X#if defined(M_TERMCAP)
  725. X#include <tcap.h>
  726. X#else /* !M_TERMCAP */
  727. X#include <tinfo.h>
  728. X#endif /* M_TERMCAP */
  729. X#else /* !M_SYSV */
  730. X#if defined(sun)
  731. X#include <curses.h>
  732. X#else
  733. X/*
  734. X * other uses TERMINFO curses at this time
  735. X */
  736. X#define M_TERMINFO             /* some ecu code requires this despite
  737. X                              * non-SCO */
  738. X#if defined(LINUX)
  739. X#include <ncurses.h>
  740. X#else
  741. X#include <curses.h>
  742. X#endif /* LINUX */
  743. X#endif /* sun */
  744. X#endif /* M_SYSV */
  745. X
  746. X#endif /* _ecucurses_h */
  747. X
  748. X/* vi: set tabstop=4 shiftwidth=4: */
  749. X/* end of ecucurses.h */
  750. END_OF_FILE
  751.   if test 1598 -ne `wc -c <'ecu330/ecucurses.h'`; then
  752.     echo shar: \"'ecu330/ecucurses.h'\" unpacked with wrong size!
  753.   fi
  754.   # end of 'ecu330/ecucurses.h'
  755. fi
  756. if test -f 'ecu330/ecumachdep.h' -a "${1}" != "-c" ; then 
  757.   echo shar: Will not clobber existing file \"'ecu330/ecumachdep.h'\"
  758. else
  759.   echo shar: Extracting \"'ecu330/ecumachdep.h'\" \(1041 characters\)
  760.   sed "s/^X//" >'ecu330/ecumachdep.h' <<'END_OF_FILE'
  761. X/*+-------------------------------------------------------------------------
  762. X    ecumachdep.h
  763. X--------------------------------------------------------------------------*/
  764. X/*+:EDITS:*/
  765. X/*:05-04-1994-04:38-wht@n4hgf-ECU release 3.30 */
  766. X/*:01-16-1994-15:47-wht@n4hgf-creation */
  767. X
  768. X#ifndef _ecumachdep_h
  769. X#define _ecumachdep_h
  770. X
  771. X#if defined(ISC) && !defined(USE_AT_ANSI)
  772. X#define USE_AT_ANSI
  773. X#endif
  774. X
  775. X#if defined(ISCSVR4) && !defined(USE_AT_ANSI)
  776. X#define USE_AT_ANSI
  777. X#endif
  778. X
  779. X#if defined(ESIXSVR4) && !defined(USE_AT_ANSI)
  780. X#define USE_AT_ANSI
  781. X#endif
  782. X
  783. X#if defined(M_SYSV)
  784. X#include <sys/machdep.h>
  785. X/*
  786. X * Thanks for the G2, er GIO_ATTR, to staceyc@sco.COM (Stacey Campbell)
  787. X * GIO_ATTR was not defined in header files as of this writing
  788. X */
  789. X#if !defined(GIO_ATTR)
  790. X#define GIO_ATTR  ('a' << 8) | 0    /* Ioctl call for current attribute */
  791. X#endif
  792. X#else
  793. X#if defined(USE_AT_ANSI)
  794. X#include <sys/at_ansi.h>
  795. X#include <sys/kd.h>
  796. X#endif /* USE_AT_ANSI */
  797. X#endif /* M_SYSV */
  798. X
  799. X#endif /* _ecumachdep_h */
  800. X
  801. X/* vi: set tabstop=4 shiftwidth=4: */
  802. X/* end of ecumachdep.h */
  803. END_OF_FILE
  804.   if test 1041 -ne `wc -c <'ecu330/ecumachdep.h'`; then
  805.     echo shar: \"'ecu330/ecumachdep.h'\" unpacked with wrong size!
  806.   fi
  807.   # end of 'ecu330/ecumachdep.h'
  808. fi
  809. if test -f 'ecu330/ecutermio.h' -a "${1}" != "-c" ; then 
  810.   echo shar: Will not clobber existing file \"'ecu330/ecutermio.h'\"
  811. else
  812.   echo shar: Extracting \"'ecu330/ecutermio.h'\" \(1658 characters\)
  813.   sed "s/^X//" >'ecu330/ecutermio.h' <<'END_OF_FILE'
  814. X
  815. X/*+-------------------------------------------------------------------------
  816. X    ecutermio.h
  817. X
  818. X An attempt to mask the differences between posix termios and sysv termio.
  819. X Daniel Harris.
  820. X--------------------------------------------------------------------------*/
  821. X/*+:EDITS:*/
  822. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  823. X/*:01-23-1994-14:57-wht@n4hgf-fix type in #undef */
  824. X/*:01-16-1994-16:48-wht@n4hgf-organize after new ports */
  825. X/*:12-18-1993-??:??-daniel@reubio-transplanted into 3.28.06 */
  826. X/*:12-15-1993-??:??-daniel@reubio-moved NCC -> NCCS #define here from ecu.h */
  827. X/*:11-27-1993-??:??-daniel@reubio-created */
  828. X
  829. X#ifndef _ecutermio_h
  830. X#define _ecutermio_h
  831. X
  832. X#if defined(CFG_TermiosLineio)
  833. X#if defined(sun)
  834. X#include <termios.h>
  835. X#define termio termios
  836. X#if !defined (SVR4)             /* SunOS 4.1.x */
  837. X#define    NCC    NCCS
  838. X#define    TCSETA    TCSANOW
  839. X#define    TCSETAF    TCSAFLUSH
  840. X#define    TCSETAW    TCSADRAIN
  841. X#endif
  842. X#else /* SVR4 set for Solaris 2.x */
  843. X#include <sys/ioctl.h>
  844. X#include <termios.h>
  845. X#define    termio    termios
  846. X
  847. X#undef     NCC
  848. X#define    NCC    NCCS
  849. X
  850. X#undef     TCSETA
  851. X#define    TCSETA    TCSANOW
  852. X
  853. X#undef     TCSETAF
  854. X#define    TCSETAF    TCSAFLUSH
  855. X
  856. X#undef     TCSETAW
  857. X#define    TCSETAW    TCSADRAIN
  858. X
  859. X#endif /* CFG_TermiosLineio */
  860. X#else /* use termio */
  861. X#include <termio.h>
  862. X
  863. X/* ecutermio.c and it's callers need these  for termio base */
  864. X
  865. X#if !defined(TCOFF)
  866. X#define    TCOOFF    0
  867. X#endif
  868. X
  869. X#if !defined(TCOON)
  870. X#define    TCOON    1
  871. X#endif
  872. X
  873. X#if !defined(TCIFLUSH)
  874. X#define    TCIFLUSH    0
  875. X#endif
  876. X
  877. X#if !defined(TCOFLUSH)
  878. X#define    TCOFLUSH    1
  879. X#endif
  880. X
  881. X#if !defined(TCIOFLUSH)
  882. X#define    TCIOFLUSH    2
  883. X#endif
  884. X
  885. X#endif /* CFG_TermiosLineio */
  886. X
  887. X#endif /* _ecutermio_h */
  888. X
  889. X/* vi: set tabstop=4 shiftwidth=4: */
  890. X/* end of ecutermio.h */
  891. END_OF_FILE
  892.   if test 1658 -ne `wc -c <'ecu330/ecutermio.h'`; then
  893.     echo shar: \"'ecu330/ecutermio.h'\" unpacked with wrong size!
  894.   fi
  895.   # end of 'ecu330/ecutermio.h'
  896. fi
  897. if test -f 'ecu330/ecutty.h' -a "${1}" != "-c" ; then 
  898.   echo shar: Will not clobber existing file \"'ecu330/ecutty.h'\"
  899. else
  900.   echo shar: Extracting \"'ecu330/ecutty.h'\" \(1490 characters\)
  901.   sed "s/^X//" >'ecu330/ecutty.h' <<'END_OF_FILE'
  902. X/*+-------------------------------------------------------------------------
  903. X    ecutty.h
  904. X    wht@n4hgf.atl.ga.us
  905. X--------------------------------------------------------------------------*/
  906. X/*+:EDITS:*/
  907. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  908. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  909. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  910. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  911. X/*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  912. X/*:07-14-1991-18:19-wht@n4hgf-new ttygets functions */
  913. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  914. X
  915. X#ifndef _ecutty_h
  916. X#define _ecutty_h
  917. X
  918. Xtypedef struct color_type
  919. X{
  920. X    char *name;
  921. X    int num;
  922. X}
  923. XCOLOR;
  924. X
  925. X#ifdef DEFINE_TTY_DATA
  926. XCOLOR colors[] =
  927. X{
  928. X    {"black", 0},
  929. X    {"blue", 1},
  930. X    {"brown", 6},
  931. X    {"cyan", 3},
  932. X    {"gray", 8},
  933. X    {"green", 2},
  934. X    {"hi_white", 15},
  935. X    {"lt_blue", 9},
  936. X    {"lt_cyan", 11},
  937. X    {"lt_green", 10},
  938. X    {"lt_magenta", 13},
  939. X    {"lt_red", 12},
  940. X    {"magenta", 5},
  941. X    {"red", 4},
  942. X    {"white", 7},
  943. X    {"yellow", 14},
  944. X    {(char *)0, -1}
  945. X};
  946. X
  947. X#else
  948. Xextern COLOR colors[];
  949. X
  950. X#endif
  951. X
  952. X/* color words are ulong:
  953. X   MSB:  reverse video foreground
  954. X         reverse video background
  955. X         normal  video foreground
  956. X   LSB:  normal  video background
  957. X*/
  958. X
  959. X/*
  960. X * ttygets flag bits
  961. X */
  962. X#define TG_CRLF        1         /* echo cr/lf terminator */
  963. X#define TG_XDELIM    2         /* extended delimiter set */
  964. X#define TG_EDIT        4         /* redisplay/edit current string */
  965. X
  966. X#endif /* _ecutty_h */
  967. X
  968. X/* vi: set tabstop=4 shiftwidth=4: */
  969. X/* end of ecutty.h */
  970. END_OF_FILE
  971.   if test 1490 -ne `wc -c <'ecu330/ecutty.h'`; then
  972.     echo shar: \"'ecu330/ecutty.h'\" unpacked with wrong size!
  973.   fi
  974.   # end of 'ecu330/ecutty.h'
  975. fi
  976. if test -f 'ecu330/ecuungetty.h' -a "${1}" != "-c" ; then 
  977.   echo shar: Will not clobber existing file \"'ecu330/ecuungetty.h'\"
  978. else
  979.   echo shar: Extracting \"'ecu330/ecuungetty.h'\" \(1664 characters\)
  980.   sed "s/^X//" >'ecu330/ecuungetty.h' <<'END_OF_FILE'
  981. X/*+-------------------------------------------------------------------------
  982. X    ecuungetty.h
  983. X    wht@n4hgf.atl.ga.us
  984. X--------------------------------------------------------------------------*/
  985. X/*+:EDITS:*/
  986. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  987. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  988. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  989. X/*:04-27-1992-18:49-wht@n4hgf-ecuungetty grows up to chown ttys */
  990. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  991. X/*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
  992. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  993. X
  994. X#ifndef _ecuungetty_h
  995. X#define _ecuungetty_h
  996. X
  997. X/* ungetty definitions */
  998. X#define    UG_NOTENAB        0     /* on no-switch exec, line not enabled */
  999. X#define    UG_RESTART        1     /* on -t exec, restart needed */
  1000. X#define    UG_FAIL            2     /* on no switch exec, line in use */
  1001. X
  1002. X/* extended ecuungetty codes */
  1003. X#define UGE_T_LOGIN        200     /* -t found utmp status US_LOGIN */
  1004. X#define UGE_T_LOGGEDIN    201     /* -t found utmp status US_LOGGGEDIN */
  1005. X#define UGE_T_NOTFOUND    202     /* not found */
  1006. X#define UGE_BADARGC        230     /* usage: bad arg count */
  1007. X#define UGE_BADSWITCH    231     /* usage: bad switch */
  1008. X#define UGE_BADARGV        232     /* usage: bad argument */
  1009. X#define UGE_NOTROOT        233     /* ecuungetty found it had no root privileges */
  1010. X#define UGE_NOUUCP        234     /* cannot find uucp passwd entry */
  1011. X#define UGE_LOGIC        235     /* logic error */
  1012. X#define UGE_CALLER        236     /* caller is not ecu or root */
  1013. X#define UGE_BOMB        254     /* ungetty core dumped or killed */
  1014. X#define UGE_DNE            255     /* ungetty did not execute */
  1015. X
  1016. X/* vi: set tabstop=4 shiftwidth=4: */
  1017. X/* end of ecuungetty.h */
  1018. X
  1019. X#endif /* _ecuungetty_h */
  1020. END_OF_FILE
  1021.   if test 1664 -ne `wc -c <'ecu330/ecuungetty.h'`; then
  1022.     echo shar: \"'ecu330/ecuungetty.h'\" unpacked with wrong size!
  1023.   fi
  1024.   # end of 'ecu330/ecuungetty.h'
  1025. fi
  1026. if test -f 'ecu330/fasi/Makefile' -a "${1}" != "-c" ; then 
  1027.   echo shar: Will not clobber existing file \"'ecu330/fasi/Makefile'\"
  1028. else
  1029.   echo shar: Extracting \"'ecu330/fasi/Makefile'\" \(1422 characters\)
  1030.   sed "s/^X//" >'ecu330/fasi/Makefile' <<'END_OF_FILE'
  1031. X# FAS 2.08/FASI 1.00 Makefile for SCO UNIX SYS V/386
  1032. X#+:EDITS:
  1033. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1034. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1035. X#:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA
  1036. X#:01-17-1991-01:38-wht@n4hgf-adapt FAS 2.08 SCO make file
  1037. X
  1038. XSHELL = /bin/sh
  1039. XINCLLOC = /usr/include/local
  1040. XLKDRVRDIR = /etc/conf/pack.d/fas
  1041. XLKSCONFDIR = /etc/conf/sdevice.d
  1042. XLKNCONFDIR = /etc/conf/node.d
  1043. XLKICONFDIR = /etc/conf/init.d
  1044. XLKKCONFDIR = /etc/conf/kconfig.d
  1045. XDRVRNAME = Driver.o
  1046. XCONFNAME = fas
  1047. X
  1048. XCC = rcc
  1049. XCFLAGS = -O -DINKERNEL -DSCO -DNEED_PUT_GETCHAR -DFASI
  1050. X
  1051. XOBJS = fas.o
  1052. X
  1053. Xfas.o:     fas.c $(INCLLOC)/fas.h $(INCLLOC)/digi-pc8.h Makefile
  1054. X
  1055. XDriver.o: fas.o
  1056. X    rm -rf Driver.o
  1057. X    ln fas.o Driver.o
  1058. X
  1059. Xinstall: Driver.o
  1060. X    sh -v idfasi
  1061. X
  1062. Xinstall2: install
  1063. X    cd /etc/conf/cf.d;./link_unix
  1064. X
  1065. Xspace.c:
  1066. X    @echo "You must copy the proper space-xxxxx file to \`space.c'"
  1067. X    @false
  1068. X    
  1069. Xs_$(CONFNAME):
  1070. X    @echo "You must copy the proper s_$(CONFNAME)-xxxxx file to \`s_$(CONFNAME)'"
  1071. X    @false
  1072. X        
  1073. Xn_$(CONFNAME):
  1074. X    @echo "You must copy the proper n_$(CONFNAME)-xxxxx file to \`n_$(CONFNAME)'"
  1075. X    @false
  1076. X        
  1077. Xi_$(CONFNAME):
  1078. X    @echo "You must copy the proper i_$(CONFNAME)-xxxxx file to \`i_$(CONFNAME)'"
  1079. X    @false
  1080. X        
  1081. X$(INCLLOC)/fas.h: fas.h
  1082. X    -mkdir $(INCLLOC) >/dev/null 2>&1
  1083. X    cp fas.h $(INCLLOC)/fas.h
  1084. X
  1085. X$(INCLLOC)/digi-pc8.h: digi-pc8.h
  1086. X    -mkdir $(INCLLOC) >/dev/null 2>&1
  1087. X    cp digi-pc8.h $(INCLLOC)/digi-pc8.h
  1088. X
  1089. Xclean:
  1090. X    rm -f fas.o Driver.o
  1091. X
  1092. Xclobber: clean
  1093. X
  1094. END_OF_FILE
  1095.   if test 1422 -ne `wc -c <'ecu330/fasi/Makefile'`; then
  1096.     echo shar: \"'ecu330/fasi/Makefile'\" unpacked with wrong size!
  1097.   fi
  1098.   # end of 'ecu330/fasi/Makefile'
  1099. fi
  1100. if test -f 'ecu330/gendial/tbit.sync.h' -a "${1}" != "-c" ; then 
  1101.   echo shar: Will not clobber existing file \"'ecu330/gendial/tbit.sync.h'\"
  1102. else
  1103.   echo shar: Extracting \"'ecu330/gendial/tbit.sync.h'\" \(1348 characters\)
  1104.   sed "s/^X//" >'ecu330/gendial/tbit.sync.h' <<'END_OF_FILE'
  1105. X/*+-------------------------------------------------------------------------
  1106. X    sync_Telebit() - sync modem with our DTE speed
  1107. X--------------------------------------------------------------------------*/
  1108. X/*+:EDITS:*/
  1109. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  1110. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  1111. X/*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA */
  1112. X/*:03-30-1992-14:18-root@n4hgf-add lbreak before wakeup */
  1113. Xvoid
  1114. Xsync_Telebit()
  1115. X{
  1116. X    register int maxretry = 4;
  1117. X    register int count;
  1118. X    unsigned char rdchar;
  1119. X    long pace_msec_save = DCE_write_pace_msec;
  1120. X
  1121. X    while (--maxretry)
  1122. X    {
  1123. X        lbreak();
  1124. X        Nap(200L);
  1125. X        DCE_write_pace_msec = 50;
  1126. X        lwrite("aaaaaate1\r");
  1127. X        DCE_write_pace_msec = pace_msec_save;
  1128. X        Nap(200L);
  1129. X        lflush();
  1130. X        count = 5;
  1131. X        while (count)         /* wait 120-200 msec for character, depending
  1132. X                              * on HZ */
  1133. X        {
  1134. X            write(dce_fd, "a", 1);
  1135. X            ioctl(dce_fd, TCSETAW, &dce_termio);    /* wait for I/O to drain */
  1136. X            Nap(120L);         /* must handle 110 baud */
  1137. X            if (rdchk(dce_fd))
  1138. X                break;
  1139. X            count--;
  1140. X        }
  1141. X        rdchar = 0;
  1142. X        if (count && (read(dce_fd, &rdchar, 1) == 1) && ((rdchar & 0x7F) == 'a'))
  1143. X        {
  1144. X            Nap(120L);
  1145. X            lflush();
  1146. X            return;
  1147. X        }
  1148. X        DEBUG(2, "Telebit SYNC failed ... retrying (%02x)\n", rdchar);
  1149. X        lflash_DTR();
  1150. X    }
  1151. X
  1152. X    DEBUG(1, "Telebit SYNC FAILED\n", 0);
  1153. X    myexit(RC_FAIL | RCE_TIMOUT);
  1154. X
  1155. X}                             /* end of sync_Telebit */
  1156. END_OF_FILE
  1157.   if test 1348 -ne `wc -c <'ecu330/gendial/tbit.sync.h'`; then
  1158.     echo shar: \"'ecu330/gendial/tbit.sync.h'\" unpacked with wrong size!
  1159.   fi
  1160.   # end of 'ecu330/gendial/tbit.sync.h'
  1161. fi
  1162. if test -f 'ecu330/help/util.c' -a "${1}" != "-c" ; then 
  1163.   echo shar: Will not clobber existing file \"'ecu330/help/util.c'\"
  1164. else
  1165.   echo shar: Extracting \"'ecu330/help/util.c'\" \(1495 characters\)
  1166.   sed "s/^X//" >'ecu330/help/util.c' <<'END_OF_FILE'
  1167. X/*+-------------------------------------------------------------------------
  1168. X    util.c
  1169. X    wht@n4hgf.atl.ga.us
  1170. X--------------------------------------------------------------------------*/
  1171. X/*+:EDITS:*/
  1172. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  1173. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  1174. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1175. X/*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  1176. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1177. X
  1178. X/*+-------------------------------------------------------------------------
  1179. X    all touuper/tolower not created equally, so this works!
  1180. X--------------------------------------------------------------------------*/
  1181. Xchar
  1182. Xto_upper(ch)
  1183. Xregister int ch;
  1184. X{
  1185. X    return (((ch >= 'a') && (ch <= 'z')) ? ch - 0x20 : ch);
  1186. X}                             /* end of to_upper() */
  1187. X
  1188. Xchar
  1189. Xto_lower(ch)
  1190. Xregister int ch;
  1191. X{
  1192. X    return (((ch >= 'A') && (ch <= 'Z')) ? ch + 0x20 : ch);
  1193. X}                             /* end of to_lower() */
  1194. X
  1195. X/*+-----------------------------------------------------------------------
  1196. X    pad_zstr_to_len(zstr,len)
  1197. X
  1198. X  pads with spaces to specified length, unless already longer than
  1199. X  len in which case the string is truncated to 'len' characters.
  1200. X------------------------------------------------------------------------*/
  1201. Xvoid
  1202. Xpad_zstr_to_len(zstr, len)
  1203. Xchar *zstr;
  1204. Xint len;
  1205. X{
  1206. X    register int izstr;
  1207. X
  1208. X    izstr = strlen(zstr);
  1209. X    if (izstr >= len)
  1210. X        zstr[len] = 0;
  1211. X    else
  1212. X    {
  1213. X        while (izstr < len)
  1214. X            zstr[izstr++] = 0x20;
  1215. X        zstr[izstr] = 0;
  1216. X    }
  1217. X}                             /* end of pad_zstr_to_len */
  1218. END_OF_FILE
  1219.   if test 1495 -ne `wc -c <'ecu330/help/util.c'`; then
  1220.     echo shar: \"'ecu330/help/util.c'\" unpacked with wrong size!
  1221.   fi
  1222.   # end of 'ecu330/help/util.c'
  1223. fi
  1224. if test -f 'ecu330/logevent.c' -a "${1}" != "-c" ; then 
  1225.   echo shar: Will not clobber existing file \"'ecu330/logevent.c'\"
  1226. else
  1227.   echo shar: Extracting \"'ecu330/logevent.c'\" \(1671 characters\)
  1228.   sed "s/^X//" >'ecu330/logevent.c' <<'END_OF_FILE'
  1229. X/*+-------------------------------------------------------------------------
  1230. X    logevent.c - log ecu event
  1231. X    wht@n4hgf.atl.ga.us
  1232. X--------------------------------------------------------------------------*/
  1233. X/*+:EDITS:*/
  1234. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  1235. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  1236. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1237. X/*:08-21-1991-02:00-wht@n4hgf-sun does not have xenix locking - fix later */
  1238. X/*:08-07-1991-14:23-wht@n4hgf-use static logname */
  1239. X/*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
  1240. X/*:09-19-1990-19:36-wht@n4hgf-ecu_log_event now gets pid for log from caller */
  1241. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1242. X
  1243. X#include <stdio.h>
  1244. X#if defined(USE_LOCKING)
  1245. X#include <sys/locking.h>
  1246. X#endif
  1247. X
  1248. X/*+-------------------------------------------------------------------------
  1249. X    ecu_log_event(pid,event_note)
  1250. X--------------------------------------------------------------------------*/
  1251. Xvoid
  1252. Xecu_log_event(pid, event_note)
  1253. Xint pid;
  1254. Xchar *event_note;
  1255. X{
  1256. X    char s32[32];
  1257. X    FILE *ecu_log_fp;
  1258. X    static char logname[256] = "";
  1259. X
  1260. X    if (!logname[0])
  1261. X    {
  1262. X        get_home_dir(logname);
  1263. X        strcat(logname, "/.ecu/log");
  1264. X    }
  1265. X    if (ecu_log_fp = fopen(logname, "a"))
  1266. X    {
  1267. X#if defined(USE_LOCKING)
  1268. X        locking(fileno(ecu_log_fp), LK_LOCK, 0L);
  1269. X#endif
  1270. X        get_tod(4, s32);
  1271. X        s32[10] = '-';
  1272. X        fputs(s32, ecu_log_fp);
  1273. X        fprintf(ecu_log_fp, "-%05d-", pid);
  1274. X        fputs(event_note, ecu_log_fp);
  1275. X        fputs("\n", ecu_log_fp);
  1276. X#if defined(USE_LOCKING)
  1277. X        fflush(ecu_log_fp);
  1278. X        locking(fileno(ecu_log_fp), LK_UNLCK, 0L);
  1279. X#endif
  1280. X        fclose(ecu_log_fp);
  1281. X    }
  1282. X}                             /* end of ecu_log_event */
  1283. X
  1284. X/* vi: set tabstop=4 shiftwidth=4: */
  1285. X/* end of logevent.c */
  1286. END_OF_FILE
  1287.   if test 1671 -ne `wc -c <'ecu330/logevent.c'`; then
  1288.     echo shar: \"'ecu330/logevent.c'\" unpacked with wrong size!
  1289.   fi
  1290.   # end of 'ecu330/logevent.c'
  1291. fi
  1292. if test -f 'ecu330/lstat.c' -a "${1}" != "-c" ; then 
  1293.   echo shar: Will not clobber existing file \"'ecu330/lstat.c'\"
  1294. else
  1295.   echo shar: Extracting \"'ecu330/lstat.c'\" \(1472 characters\)
  1296.   sed "s/^X//" >'ecu330/lstat.c' <<'END_OF_FILE'
  1297. X/*+-------------------------------------------------------------------------
  1298. X    lstat.c - SCO 3.2v4OS with 3.2v2DS interim hack
  1299. X    wht@n4hgf.atl.ga.us
  1300. X
  1301. X  Defined functions:
  1302. X    lstat(path, statptr)
  1303. X
  1304. X  Using 3.2v2 DS with 3.2v4 is wrought with troubles, but some
  1305. X  ain't ready to go the trip yet, so here is a piece of
  1306. X  projectile vomitus
  1307. X
  1308. X--------------------------------------------------------------------------*/
  1309. X/*+:EDITS:*/
  1310. X/*:05-04-1994-04:39-wht@n4hgf-ECU release 3.30 */
  1311. X/*:04-16-1994-14:58-wht@n4hgf-get rid of ODT3 prototype warning */
  1312. X/*:11-23-1993-11:15-sue@sbg486-some 3.2v4.1 DS do not have lstat */
  1313. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  1314. X/*:09-09-1992-06:05-wht@n4hgf-creation */
  1315. X
  1316. X#include <sys/types.h>
  1317. X#include <sys/stat.h>
  1318. X
  1319. X#if defined(M_UNIX) && defined(S_IFLNK)
  1320. X
  1321. X#include <errno.h>
  1322. X
  1323. X#ifdef SCO32v4
  1324. X#define _Const const
  1325. X#else
  1326. X#define _Const
  1327. X#endif
  1328. X
  1329. X/*+-------------------------------------------------------------------------
  1330. X    lstat(path,statptr)
  1331. X--------------------------------------------------------------------------*/
  1332. Xint
  1333. Xlstat(path, statptr)
  1334. X_Const char *path;
  1335. Xstruct stat *statptr;
  1336. X{
  1337. X    int err = EINVAL;
  1338. X
  1339. X    /*
  1340. X     * try lstat system call first if it fails with EINVAL, we are not on
  1341. X     * 3.2v4
  1342. X     */
  1343. X    if (err = syscall(0x5b, path, statptr) && (err == EINVAL))
  1344. X        err = stat(path, statptr);
  1345. X    return (err);
  1346. X
  1347. X}                             /* end of lstat */
  1348. X
  1349. X#endif /* if defined(M_UNIX) && defined(S_IFLNK) */
  1350. X
  1351. X/* vi: set tabstop=4 shiftwidth=4: */
  1352. X/* end of lstat.c */
  1353. END_OF_FILE
  1354.   if test 1472 -ne `wc -c <'ecu330/lstat.c'`; then
  1355.     echo shar: \"'ecu330/lstat.c'\" unpacked with wrong size!
  1356.   fi
  1357.   # end of 'ecu330/lstat.c'
  1358. fi
  1359. if test -f 'ecu330/models/ecu-ansi.tcap' -a "${1}" != "-c" ; then 
  1360.   echo shar: Will not clobber existing file \"'ecu330/models/ecu-ansi.tcap'\"
  1361. else
  1362.   echo shar: Extracting \"'ecu330/models/ecu-ansi.tcap'\" \(1164 characters\)
  1363.   sed "s/^X//" >'ecu330/models/ecu-ansi.tcap' <<'END_OF_FILE'
  1364. X#+----------------------------------------------------------------
  1365. X# ecu-ansi.tcap - ECU ANSI emulation termcap entry
  1366. X#
  1367. X# It is likely you will have to tweak this information for
  1368. X# your system.  Just getting it incorporated on some hosts
  1369. X# you call into can be a trick.  The ECU crew probably
  1370. X# cannot help you with this (hint, don't call us) because
  1371. X# the problem would be a system-dependent.  If we knew
  1372. X# the answer to all system-dependent problems, we would
  1373. X# probably utter "Let there be light".
  1374. X#
  1375. X# Particularly, you will need to modify the li#25 below
  1376. X# if you have other than 25 screen rows.
  1377. X#
  1378. X#-----------------------------------------------------------------
  1379. X#+:EDITS:
  1380. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1381. X#:03-13-1994-18:53-wht@fep-creation
  1382. X
  1383. Xansi|ecu|ECU ANSI emulation\
  1384. X    li#25:co#80:\
  1385. X    :al=\E[L:am:bs:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:\
  1386. X    :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ei=:ho=\E[H:ic=\E[@:im=:\
  1387. X    :nd=\E[C:pt:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:up=\E[A:\
  1388. X    :k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:\
  1389. X    :k7=\E[S:k8=\E[T:k9=\E[U:k0=\E[V:\
  1390. X    :kb=^h:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:eo:sf=\E[S:sr=\E[T:\
  1391. X    :mb=\E[5m:md=\E[1m:me=\E[m:\
  1392. END_OF_FILE
  1393.   if test 1164 -ne `wc -c <'ecu330/models/ecu-ansi.tcap'`; then
  1394.     echo shar: \"'ecu330/models/ecu-ansi.tcap'\" unpacked with wrong size!
  1395.   fi
  1396.   # end of 'ecu330/models/ecu-ansi.tcap'
  1397. fi
  1398. if test -f 'ecu330/models/ecu-ansi.tinfo' -a "${1}" != "-c" ; then 
  1399.   echo shar: Will not clobber existing file \"'ecu330/models/ecu-ansi.tinfo'\"
  1400. else
  1401.   echo shar: Extracting \"'ecu330/models/ecu-ansi.tinfo'\" \(1560 characters\)
  1402.   sed "s/^X//" >'ecu330/models/ecu-ansi.tinfo' <<'END_OF_FILE'
  1403. X#+----------------------------------------------------------------
  1404. X# ecu-ansi.tinfo - ECU ANSI emulation terminfo source
  1405. X#
  1406. X# It is likely you will have to tweak this information for
  1407. X# your system.  Just getting it incorporated on some hosts
  1408. X# you call into can be a trick.  The ECU crew probably
  1409. X# cannot help you with this (hint, don't call us) because
  1410. X# the problem would be a system-dependent.  If we knew
  1411. X# the answer to all system-dependent problems, we would
  1412. X# probably utter "Let there be light".
  1413. X#
  1414. X# Particularly, you will need to set the LINES environment
  1415. X# variable at the remote if you have other than 25 screen rows.
  1416. X#
  1417. X#-----------------------------------------------------------------
  1418. X#+:EDITS:
  1419. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1420. X#:03-13-1994-18:53-wht@fep-creation
  1421. X
  1422. Xansi|ecu|ECU ANSI emulation,
  1423. X    am, bce, eo, xon, cols#80, #it8, lines#25,
  1424. X    acsc=0[a1fxgqh2jYk?lZm@nEqDtCu4vAwBx3, bel=^G,
  1425. X    blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H,
  1426. X    cr=\r, cub1=\b, cud1=\E[B, cuf1=\E[C,
  1427. X    cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
  1428. X    ed=\E[m\E[J, el=\E[m\E[K, home=\E[H, ht=\t, ich1=\E[@,
  1429. X    il1=\E[L, ind=\E[S, invis=\E[8m, kbs=\b, kcbt=\E[Z,
  1430. X    kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
  1431. X    kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X,
  1432. X    kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R,
  1433. X    kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
  1434. X    knp=\E[G, kpp=\E[I, op=\E[37;40m, rev=\E[7m, ri=\E[T,
  1435. X    rmacs=\E[10m, rmso=\E[m, rmul=\E[m, setb=\E[4%p1%dm,
  1436. X    setf=\E[3%p1%dm, sgr0=\E[10;0m, smacs=\E[12m,
  1437. X    smso=\E[7m, smul=\E[4m,
  1438. END_OF_FILE
  1439.   if test 1560 -ne `wc -c <'ecu330/models/ecu-ansi.tinfo'`; then
  1440.     echo shar: \"'ecu330/models/ecu-ansi.tinfo'\" unpacked with wrong size!
  1441.   fi
  1442.   # end of 'ecu330/models/ecu-ansi.tinfo'
  1443. fi
  1444. if test -f 'ecu330/models/oneline.ep' -a "${1}" != "-c" ; then 
  1445.   echo shar: Will not clobber existing file \"'ecu330/models/oneline.ep'\"
  1446. else
  1447.   echo shar: Extracting \"'ecu330/models/oneline.ep'\" \(1018 characters\)
  1448.   sed "s/^X//" >'ecu330/models/oneline.ep' <<'END_OF_FILE'
  1449. X#  CHK=0xF093
  1450. X#--------------------------------------------------------------
  1451. X# oneline.ep
  1452. X#
  1453. X# send command in $s0, expecting a one line response
  1454. X# and a csh prompt ending in '% '
  1455. X#
  1456. X# returns: $s0 = one line response in $s0 if success
  1457. X#          $i0 = 1 if success, else 0
  1458. X#--------------------------------------------------------------
  1459. X#+:EDITS:
  1460. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1461. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1462. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1463. X#:07-11-1989-16:55-wht-get cmd became lgets
  1464. X#:06-28-1989-19:36-wht-use named variables
  1465. X#:06-25-1989-13:56-wht-new do command syntax
  1466. X#:06-25-1989-12:33-wht-new if/while syntax
  1467. X#:06-22-1989-13:30-wht-creation
  1468. X
  1469. X    mkvar $icsave; $icsave = %colors
  1470. X    color gray
  1471. X    send $s0                        # send command
  1472. X    lookfor -e %chr(0x0A) 50        # scan command echo
  1473. X    ifi $i0 == 0 icolor $i2;return    # if not found, return
  1474. X    lgets -e $s0 500 5 '\n'            # get one line response
  1475. X    lookfor '% ' 50                    # get prompt, don't echo
  1476. X    # $i0 = 1 if prompt, else 0
  1477. X    icolor $icsave
  1478. END_OF_FILE
  1479.   if test 1018 -ne `wc -c <'ecu330/models/oneline.ep'`; then
  1480.     echo shar: \"'ecu330/models/oneline.ep'\" unpacked with wrong size!
  1481.   fi
  1482.   # end of 'ecu330/models/oneline.ep'
  1483. fi
  1484. if test -f 'ecu330/models/p.ep' -a "${1}" != "-c" ; then 
  1485.   echo shar: Will not clobber existing file \"'ecu330/models/p.ep'\"
  1486. else
  1487.   echo shar: Extracting \"'ecu330/models/p.ep'\" \(1251 characters\)
  1488.   sed "s/^X//" >'ecu330/models/p.ep' <<'END_OF_FILE'
  1489. X#  CHK=0x8848
  1490. X#+---------------------------------------------------------
  1491. X# p.eq - colorful, selective ps -aux on remote BSD system
  1492. X#----------------------------------------------------------
  1493. X#+:EDITS:
  1494. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1495. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1496. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1497. X#:07-11-1989-16:55-wht-get cmd became lgets
  1498. X#:06-30-1989-18:53-wht-creation
  1499. X
  1500. X    mkvar $icolor; $icolor = %colors
  1501. X    mkvar $itimeout; $itimeout = 50
  1502. X    send 'ps -aux'
  1503. X    lookfor '\n' 40
  1504. X    $s0 = ''
  1505. X    whilei 1==1
  1506. X    {
  1507. X        lgets $s00 $itimeout 5 '\n'
  1508. X        ifi $i0 == 0 continue
  1509. X        $itimeout = 20
  1510. X        ifi %instr($s0,'% ') >= 0 break    # prompt ends it
  1511. X        color cyan
  1512. X        ifi %instr($s0,'getty') >= 0 continue
  1513. X        ifi %instr($s0,'/etc') >= 0 continue
  1514. X        ifi %instr($s0,'rlogin') >= 0 continue
  1515. X        ifi %instr($s0,'biod') >= 0 continue
  1516. X        ifi %instr($s0,'csh') >= 0 continue
  1517. X        ifi %instr($s0,'/usr/lib') >= 0 continue
  1518. X        ifi %instr($s0,' i29 ') > 0 color green
  1519. X        ifi %instr($s0,' i13 ') > 0 color red
  1520. X        ifi %instr($s0,'cma') == 0 color yellow
  1521. X        ifi %instr($s0,'gfp') == 0 color lt_blue
  1522. X        ifi %instr($s0,'jts') == 0 color lt_blue
  1523. X        ifi %instr($s0,'UUCP') >= 0 color red
  1524. X        ifi %instr($s0,'uu') >= 0 color red
  1525. X        echo $s0
  1526. X    }
  1527. X    icolor $icolor
  1528. X    send ''
  1529. X
  1530. END_OF_FILE
  1531.   if test 1251 -ne `wc -c <'ecu330/models/p.ep'`; then
  1532.     echo shar: \"'ecu330/models/p.ep'\" unpacked with wrong size!
  1533.   fi
  1534.   # end of 'ecu330/models/p.ep'
  1535. fi
  1536. if test -f 'ecu330/models/ps.ep' -a "${1}" != "-c" ; then 
  1537.   echo shar: Will not clobber existing file \"'ecu330/models/ps.ep'\"
  1538. else
  1539.   echo shar: Extracting \"'ecu330/models/ps.ep'\" \(1036 characters\)
  1540.   sed "s/^X//" >'ecu330/models/ps.ep' <<'END_OF_FILE'
  1541. X#  CHK=0xDA50
  1542. X#+------------------------------------------------------
  1543. X# ps.eq - another colorful ps example
  1544. X#-------------------------------------------------------
  1545. X#+:EDITS:
  1546. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1547. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1548. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1549. X#:07-11-1989-16:55-wht-get cmd became lgets
  1550. X#:06-30-1989-18:53-wht-creation
  1551. X
  1552. X    mkvar $icolor; $icolor = %colors
  1553. X    send %argv(0)+' '+%argv(1)+' '+%argv(2)
  1554. X    lookfor '\n' 40
  1555. X    $s0 = ''
  1556. X    whilei 1==1
  1557. X    {
  1558. X        lgets $s0 60 60 '\n'
  1559. X        color cyan
  1560. X        ifi %instr($s0,'(getty)' >= 0 continue
  1561. X        else ifi %instr($s0,'(tcsh)' >= 0 continue
  1562. X        else ifi %instr($s0,'(csh)' >= 0 continue
  1563. X        else ifi %instr($s0,'(sh)' >= 0 continue
  1564. X        else ifi %instr($s0,'/etc/init' >= 0 continue
  1565. X        else ifi %instr($s0,'% ') >= 0 break
  1566. X        else ifi %instr($s0,'USER') == 0 color gray
  1567. X        else ifi %instr($s0,' i29 ') > 0 color red
  1568. X        else ifi %instr($s0,' i13 ') > 0 color green
  1569. X        else ifi %instr($s0,'root') == 0 color yellow
  1570. X        echo $s0
  1571. X    }
  1572. X    icolor $icolor
  1573. X    send ''
  1574. X
  1575. END_OF_FILE
  1576.   if test 1036 -ne `wc -c <'ecu330/models/ps.ep'`; then
  1577.     echo shar: \"'ecu330/models/ps.ep'\" unpacked with wrong size!
  1578.   fi
  1579.   # end of 'ecu330/models/ps.ep'
  1580. fi
  1581. if test -f 'ecu330/models/su.ep' -a "${1}" != "-c" ; then 
  1582.   echo shar: Will not clobber existing file \"'ecu330/models/su.ep'\"
  1583. else
  1584.   echo shar: Extracting \"'ecu330/models/su.ep'\" \(1606 characters\)
  1585.   sed "s/^X//" >'ecu330/models/su.ep' <<'END_OF_FILE'
  1586. X#  CHK=0x120D
  1587. X#+---------------------------------------------------------
  1588. X# su.ep - switch user at remote
  1589. X# wht%n4hgf@gatech.edu
  1590. X#
  1591. X# do su 'username' 'password' ['.']
  1592. X#
  1593. X# expects new user to be running csh
  1594. X#----------------------------------------------------------
  1595. X#+:EDITS:
  1596. X#:05-04-1994-04:39-wht@n4hgf-ECU release 3.30
  1597. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1598. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1599. X#:07-11-1989-16:55-wht-get cmd became lgets
  1600. X#:06-28-1989-19:36-wht-use named variables
  1601. X#:06-27-1989-12:43-wht-"get prompt" message was wrong
  1602. X#:06-25-1989-13:56-wht-new do command syntax
  1603. X#:06-25-1989-12:33-wht-new if/while syntax
  1604. X#:06-16-1989-18:12-wht-creation
  1605. X
  1606. X    mkvar icsave; $icsave = %colors
  1607. X
  1608. X    color gray
  1609. X    send 'su '+%argv(1)
  1610. X    lookfor -e 'word:' 70
  1611. X    ifi $i0 == 0
  1612. X    {
  1613. X        color red;echo 'su: failed to get password prompt'
  1614. X        icolor $icsave; return 1
  1615. X    }
  1616. X    send %argv(2); lookfor '\n' 50    # send password
  1617. X    echo ''
  1618. X    lgets $s0 70 5 '\n'
  1619. X    ifi %instr($s0,'Sorry') >= 0
  1620. X    {
  1621. X        color red;echo 'su: remote said "Sorry"'
  1622. X        icolor $icsave; return 1
  1623. X    }
  1624. X    nap 5                        # wait .5 sec
  1625. X    send 'set prompt="% "'        # set '% ' as prompt
  1626. X    lookfor '\n' 20                # swallow echo of set command
  1627. X    lookfor '% ' 60                # look for new prompt
  1628. X    ifi $i0 == 0
  1629. X    {
  1630. X        color lt_red
  1631. X        echo 'timeout on prompt ... system may be slow ... waiting 5 more secs'
  1632. X        color gray
  1633. X        lookfor '% ' 50                # look for new prompt
  1634. X    }
  1635. X    ifi $i0 == 0
  1636. X    {
  1637. X        color red;echo 'su: failed to "get prompt" echo'
  1638. X        icolor $icsave; return 2
  1639. X    }
  1640. X    ifs %argv(3) == '.'
  1641. X        send 'source ~wht/.cshrc'
  1642. X    else
  1643. X        send ''; lookfor '\n' 50    # kick off another prompt
  1644. X    icolor $icsave
  1645. END_OF_FILE
  1646.   if test 1606 -ne `wc -c <'ecu330/models/su.ep'`; then
  1647.     echo shar: \"'ecu330/models/su.ep'\" unpacked with wrong size!
  1648.   fi
  1649.   # end of 'ecu330/models/su.ep'
  1650. fi
  1651. if test -f 'ecu330/old_notes/README.3.20' -a "${1}" != "-c" ; then 
  1652.   echo shar: Will not clobber existing file \"'ecu330/old_notes/README.3.20'\"
  1653. else
  1654.   echo shar: Extracting \"'ecu330/old_notes/README.3.20'\" \(1337 characters\)
  1655.   sed "s/^X//" >'ecu330/old_notes/README.3.20' <<'END_OF_FILE'
  1656. X
  1657. XNOTE TO PRE-REVISION-3.20 USERS:
  1658. X
  1659. X1. The functionality of the "nonansikeys" file is now provided by
  1660. Xthe "funckeymap" file.  Conversion may be as simple as renaming
  1661. Xthe file.  However, there are differences.
  1662. X
  1663. X  o You must have a ~/.ecu/funckeymap file (and/or one in the library
  1664. X    directory)
  1665. X
  1666. X  o There must be an entry for "ansi" if you are on SCO.
  1667. X    Previous versions handled SCO multiscreens internally.
  1668. X
  1669. X2. Termination of file transfers by SIGINT did not cause termination
  1670. Xof procedure execution in pre-3.10 versions.  In this version, it does.
  1671. X
  1672. X3. Several files that previously had to reside in ~/.ecu now may have
  1673. Xsystem wide defaults in the ECU library directory (/usr/local/lib/ecu).
  1674. X
  1675. X4. Starting with 3.20, all keyboards must have a funckeymap entry
  1676. X(see README.KEYBRD) matching the terminal type of the executing
  1677. Xscreen.  Previous versions assumed terminal type "ansi"
  1678. Xindicated an SCO AT-attached keyboard as part of a multiscreen.
  1679. XOther terminal types required a similar entry in a file named
  1680. Xnonansikeys.  Converting preexisting nonansikeys files to
  1681. Xfunckeymaps files can be accomplished by merely renaming the file.
  1682. XIf you are an SCO user, you must also add one entry to the new file
  1683. Xif it is not already there (the old models/nonansikeys did in
  1684. Xfact contain the required entry).  See README.KEYBRD for further
  1685. Xdetail.
  1686. END_OF_FILE
  1687.   if test 1337 -ne `wc -c <'ecu330/old_notes/README.3.20'`; then
  1688.     echo shar: \"'ecu330/old_notes/README.3.20'\" unpacked with wrong size!
  1689.   fi
  1690.   # end of 'ecu330/old_notes/README.3.20'
  1691. fi
  1692. if test -f 'ecu330/old_notes/README.SEAlink' -a "${1}" != "-c" ; then 
  1693.   echo shar: Will not clobber existing file \"'ecu330/old_notes/README.SEAlink'\"
  1694. else
  1695.   echo shar: Extracting \"'ecu330/old_notes/README.SEAlink'\" \(320 characters\)
  1696.   sed "s/^X//" >'ecu330/old_notes/README.SEAlink' <<'END_OF_FILE'
  1697. X
  1698. XECU implements the SEAlink protocol (by System Enhancement Associates)
  1699. Xby means of a modified source provided by SEA.  I got the original source 
  1700. Xfrom an early distribution of the fine XBBS by alphacm!sandy.
  1701. X
  1702. XNOTE: SEAlink is provided as-is. I haven't used it since I
  1703. Xtested it in 1989.  It is still reported to work.
  1704. X
  1705. END_OF_FILE
  1706.   if test 320 -ne `wc -c <'ecu330/old_notes/README.SEAlink'`; then
  1707.     echo shar: \"'ecu330/old_notes/README.SEAlink'\" unpacked with wrong size!
  1708.   fi
  1709.   # end of 'ecu330/old_notes/README.SEAlink'
  1710. fi
  1711. if test -f 'ecu330/proc.h' -a "${1}" != "-c" ; then 
  1712.   echo shar: Will not clobber existing file \"'ecu330/proc.h'\"
  1713. else
  1714.   echo shar: Extracting \"'ecu330/proc.h'\" \(1500 characters\)
  1715.   sed "s/^X//" >'ecu330/proc.h' <<'END_OF_FILE'
  1716. X/*+-------------------------------------------------------------------------
  1717. X    proc.h
  1718. X    wht@n4hgf.atl.ga.us
  1719. X--------------------------------------------------------------------------*/
  1720. X/*+:EDITS:*/
  1721. X/*:05-04-1994-04:40-wht@n4hgf-ECU release 3.30 */
  1722. X/*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1723. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1724. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  1725. X/*:11-16-1991-14:00-wht@n4hgf-add upon_dcdloss */
  1726. X/*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1727. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1728. X
  1729. X#ifndef _proc_h
  1730. X#define _proc_h
  1731. X
  1732. Xtypedef struct lcb_type
  1733. X{
  1734. X    ESD *text;                 /* line's text buffer */
  1735. X    struct lcb_type *next;     /* next lcb in chain; if NULL, no more in
  1736. X                              * chain */
  1737. X    struct lcb_type *prev;     /* previous lcb in chain; if NULL, top of
  1738. X                              * chain */
  1739. X    ushort lineno;             /* line number */
  1740. X} LCB;
  1741. X
  1742. Xtypedef struct pcb_type
  1743. X{
  1744. X    int argc;
  1745. X    char **argv;
  1746. X    LCB *first;                 /* first in procedure */
  1747. X    LCB *last;                 /* last in procedure */
  1748. X    LCB *current;             /* currently executing or last executed line */
  1749. X    ESD upon_dcdloss;         /* pseudo-ESD to execute as a statement upon
  1750. X                              * DCD loss */
  1751. X    char *mkvs_last;         /* actually MKV *, but ... */
  1752. X    char *mkvi_last;         /* ... see var.c for details */
  1753. X}
  1754. XPCB;
  1755. X
  1756. X#define MAX_PARGV 20         /* max args to procedure, including name */
  1757. X#define PROC_STACK_MAX    10     /* max proc nest */
  1758. X
  1759. X#endif /* _proc_h */
  1760. X
  1761. X/* vi: set tabstop=4 shiftwidth=4: */
  1762. X/* end of proc.h */
  1763. END_OF_FILE
  1764.   if test 1500 -ne `wc -c <'ecu330/proc.h'`; then
  1765.     echo shar: \"'ecu330/proc.h'\" unpacked with wrong size!
  1766.   fi
  1767.   # end of 'ecu330/proc.h'
  1768. fi
  1769. if test -f 'ecu330/smap.h' -a "${1}" != "-c" ; then 
  1770.   echo shar: Will not clobber existing file \"'ecu330/smap.h'\"
  1771. else
  1772.   echo shar: Extracting \"'ecu330/smap.h'\" \(1668 characters\)
  1773.   sed "s/^X//" >'ecu330/smap.h' <<'END_OF_FILE'
  1774. X/*
  1775. X *    @(#)smap.h    1.1    30/08/88    16:07:36    agc
  1776. X *
  1777. X *    Copyright 1988, Joypace Ltd., UK. This product is "careware".
  1778. X *    If you find it useful, I suggest that you send what you think
  1779. X *    it is worth to the charity of your choice.
  1780. X *
  1781. X *    Alistair G. Crooks,                +44 5805 3114
  1782. X *    Joypace Ltd.,
  1783. X *    2 Vale Road,
  1784. X *    Hawkhurst,
  1785. X *    Kent TN18 4BU,
  1786. X *    UK.
  1787. X *
  1788. X *    UUCP Europe                 ...!mcvax!unido!nixpbe!nixbln!agc
  1789. X *    UUCP everywhere else ...!uunet!linus!nixbur!nixpbe!nixbln!agc
  1790. X *
  1791. X *    smap.h - include file for debugging aids. This file must be included,
  1792. X *    before any calls, in any source file that calls malloc, calloc,
  1793. X *    realloc, or free. (Note alloca is not included in this list).
  1794. X */
  1795. X/*+:EDITS:*/
  1796. X/*:05-04-1994-04:40-wht@n4hgf-ECU release 3.30 */
  1797. X/*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1798. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1799. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  1800. X/*:11-30-1991-13:46-wht@n4hgf-smap conditional compilation reorg */
  1801. X/*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1802. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1803. X
  1804. X#ifndef _smap_h
  1805. X#define _smap_h
  1806. X
  1807. X#ifdef MEMCHECK
  1808. X
  1809. X#if !defined(VTYPE)
  1810. X#if __STDC__                 /* sigh ... malloc and such types */
  1811. X#define VTYPE void
  1812. X#else
  1813. X#define VTYPE char
  1814. X#endif /* __STDC__ */
  1815. X#endif /* VTYPE */
  1816. X
  1817. X#define malloc    _malloc
  1818. X#define calloc    _calloc
  1819. X#define realloc    _realloc
  1820. X#define free    _free
  1821. XVTYPE *_malloc();
  1822. XVTYPE *_calloc();
  1823. XVTYPE *_realloc();
  1824. X
  1825. X#if !defined(sun)
  1826. Xvoid _free();
  1827. X
  1828. X#endif /* sun */
  1829. Xvoid _blkstart();
  1830. Xvoid _blkend();
  1831. Xvoid _blkignore();
  1832. X
  1833. X#endif /* MEMCHECK */
  1834. X
  1835. X#endif /* _smap_h */
  1836. X
  1837. X/* vi: set tabstop=4 shiftwidth=4: */
  1838. X/* end of smap.h */
  1839. END_OF_FILE
  1840.   if test 1668 -ne `wc -c <'ecu330/smap.h'`; then
  1841.     echo shar: \"'ecu330/smap.h'\" unpacked with wrong size!
  1842.   fi
  1843.   # end of 'ecu330/smap.h'
  1844. fi
  1845. if test -f 'ecu330/ttynaming.h' -a "${1}" != "-c" ; then 
  1846.   echo shar: Will not clobber existing file \"'ecu330/ttynaming.h'\"
  1847. else
  1848.   echo shar: Extracting \"'ecu330/ttynaming.h'\" \(1634 characters\)
  1849.   sed "s/^X//" >'ecu330/ttynaming.h' <<'END_OF_FILE'
  1850. X/*+-------------------------------------------------------------------------
  1851. X    ttynaming.h -- SCO tty naming decision
  1852. X    wht@n4hgf.atl.ga.us
  1853. X
  1854. X  You might want to change this (if you are on SCO, but have
  1855. X  non-SCO style ttys, but then you have to be careful about
  1856. X  using upper- versus lower-case tty names in inittab/utmp,
  1857. X  Devices, dialing directories and interactive usage; some or all
  1858. X  XENIX implimentations have problems with CLOCAL swapping to
  1859. X  simulate upper- vs.  lower-case name choices, but that is too
  1860. X  long a story to go into here :-< ...  you may need to omit
  1861. X  SCO_TTY_NAMING under XENIX and watch your cases.  There are
  1862. X  several uses of SCO_TTY_NAMING throughout the code but one
  1863. X  common use has been localized in the TTYNAME_STRCMP macro
  1864. X--------------------------------------------------------------------------*/
  1865. X/*+:EDITS:*/
  1866. X/*:05-04-1994-04:40-wht@n4hgf-ECU release 3.30 */
  1867. X/*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1868. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1869. X/*:08-21-1992-13:39-wht@n4hgf-rewire direct/modem device use */
  1870. X/*:08-07-1992-19:03-wht@n4hgf-creation */
  1871. X
  1872. X#ifndef _ttynaming_h
  1873. X#define _ttynaming_h
  1874. X
  1875. X#if defined(M_SYSV) && !defined(SCO_TTY_NAMING)
  1876. X#define SCO_TTY_NAMING
  1877. X#endif
  1878. X
  1879. X#undef NEED_TTY_NAME_CONVERSION
  1880. X
  1881. X#ifdef SCO_TTY_NAMING
  1882. X#define TTYNAME_STRCMP(name1,name2) strcmpi(name1,name2)
  1883. X#define NEED_TTY_NAME_CONVERSION
  1884. Xchar *direct_tty();
  1885. Xchar *modem_tty();
  1886. X
  1887. X#else
  1888. X#define TTYNAME_STRCMP(name1,name2) strcmp(name1,name2)
  1889. X#define direct_tty(tty) (tty)
  1890. X#define modem_tty(tty) (tty)
  1891. X#endif
  1892. X
  1893. X#endif /* _ttynaming_h */
  1894. X
  1895. X/* vi: set tabstop=4 shiftwidth=4: */
  1896. X/* end of ttynaming.h */
  1897. END_OF_FILE
  1898.   if test 1634 -ne `wc -c <'ecu330/ttynaming.h'`; then
  1899.     echo shar: \"'ecu330/ttynaming.h'\" unpacked with wrong size!
  1900.   fi
  1901.   # end of 'ecu330/ttynaming.h'
  1902. fi
  1903. if test -f 'ecu330/utmpstatus.h' -a "${1}" != "-c" ; then 
  1904.   echo shar: Will not clobber existing file \"'ecu330/utmpstatus.h'\"
  1905. else
  1906.   echo shar: Extracting \"'ecu330/utmpstatus.h'\" \(1127 characters\)
  1907.   sed "s/^X//" >'ecu330/utmpstatus.h' <<'END_OF_FILE'
  1908. X/*+-------------------------------------------------------------------------
  1909. X    utmpstatus.h
  1910. X    wht@n4hgf.atl.ga.us
  1911. X--------------------------------------------------------------------------*/
  1912. X/*+:EDITS:*/
  1913. X/*:05-04-1994-04:40-wht@n4hgf-ECU release 3.30 */
  1914. X/*:05-29-1993-19:59-wht@n4hgf-rename enum us to enum utmp_status */
  1915. X/*:09-10-1992-14:00-wht@n4hgf-ECU release 3.20 */
  1916. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1917. X/*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files */
  1918. X/*:08-10-1991-17:19-wht@n4hgf-add US_WEGOTIT */
  1919. X/*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
  1920. X/*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
  1921. X
  1922. X#ifndef _utmpstatus_h
  1923. X#define _utmpstatus_h
  1924. X
  1925. X/* utmp_status defines */
  1926. Xenum utmp_status
  1927. X{
  1928. X    US_UNDEF = 0,             /* undefined */
  1929. X    US_NOTFOUND = 100,         /* not in utmp, or getty dead */
  1930. X    US_LOGIN,                 /* enabled for login, idle */
  1931. X    US_LOGGEDIN,             /* enabled for login, in use */
  1932. X    US_DIALOUT,                 /* enabled for login, currently dialout */
  1933. X    US_WEGOTIT                 /* we own the line */
  1934. X};
  1935. X
  1936. X#endif /* _utmpstatus_h */
  1937. X
  1938. X/* vi: set tabstop=4 shiftwidth=4: */
  1939. X/* end of utmpstatus.h */
  1940. END_OF_FILE
  1941.   if test 1127 -ne `wc -c <'ecu330/utmpstatus.h'`; then
  1942.     echo shar: \"'ecu330/utmpstatus.h'\" unpacked with wrong size!
  1943.   fi
  1944.   # end of 'ecu330/utmpstatus.h'
  1945. fi
  1946. if test -f 'ecu330/xsel386/select.asm' -a "${1}" != "-c" ; then 
  1947.   echo shar: Will not clobber existing file \"'ecu330/xsel386/select.asm'\"
  1948. else
  1949.   echo shar: Extracting \"'ecu330/xsel386/select.asm'\" \(1237 characters\)
  1950.   sed "s/^X//" >'ecu330/xsel386/select.asm' <<'END_OF_FILE'
  1951. X;  CHK=0x1E37
  1952. X;+----------------------------------------------------------
  1953. X; select(S)
  1954. X;
  1955. X;#include <stdio.h>
  1956. X;#include <sys/select.h>
  1957. X;#include <fcntl.h>
  1958. X;
  1959. X;main(argc,argv,envp)
  1960. X;int argc;
  1961. X;char **argv;
  1962. X;char **envp;
  1963. X;{
  1964. X;struct timeval t;
  1965. X;int readfds;
  1966. X;int fd = open("/dev/null",O_RDONLY,0);
  1967. X;
  1968. X;    readfds = 1<<fd | 1<<0;
  1969. X;
  1970. X;    t.tv_sec = 5;
  1971. X;    t.tv_usec = 0;
  1972. X;
  1973. X;    printf("%d\n",select(32,&readfds,0,0,&t));
  1974. X;    printf("%08x\n",readfds);
  1975. X;    exit(0);
  1976. X;}    /* end of main */
  1977. X;
  1978. X;-----------------------------------------------------------
  1979. X
  1980. X    title    select
  1981. X
  1982. X    .386
  1983. X
  1984. XSYSNUM    equ     2428h
  1985. X
  1986. Xextrn    _errno:dword
  1987. X
  1988. Xpublic  _select
  1989. X
  1990. X_TEXT    segment  dword use32 public 'CODE'
  1991. X    assume   cs: _TEXT
  1992. X_select    proc near
  1993. X    mov    eax, SYSNUM        ; Get system call number.
  1994. X
  1995. X    ;
  1996. X    ; I don't even pretend to understand masm syntax.  I tried
  1997. X    ; the following line (and variations) without any success.
  1998. X    ;
  1999. X
  2000. X;    call    far 7:0            ; Switch to kernel and call SYSNUM.
  2001. X
  2002. X    ;
  2003. X    ; Don't laugh, it works.
  2004. X    ;
  2005. X
  2006. X    db 9ah
  2007. X    dw 0,0
  2008. X    dw 7
  2009. X
  2010. X    jb    short _cerror        ; below == error.
  2011. X
  2012. X;    xor    eax, eax        ; zero return value (no error).
  2013. X    ret                ; done.
  2014. X
  2015. X_cerror:
  2016. X    mov    _errno, eax        ; Save error code in _errno.
  2017. X    mov    eax, -1            ; Return -1 (as error).
  2018. X    ret                ; done.
  2019. X
  2020. X_select    endp
  2021. X
  2022. X_TEXT    ends
  2023. X
  2024. X    end
  2025. X; vi: set tabstop=8 :
  2026. END_OF_FILE
  2027.   if test 1237 -ne `wc -c <'ecu330/xsel386/select.asm'`; then
  2028.     echo shar: \"'ecu330/xsel386/select.asm'\" unpacked with wrong size!
  2029.   fi
  2030.   # end of 'ecu330/xsel386/select.asm'
  2031. fi
  2032. if test -f 'ecu330/zgcc' -a "${1}" != "-c" ; then 
  2033.   echo shar: Will not clobber existing file \"'ecu330/zgcc'\"
  2034. else
  2035.   echo shar: Extracting \"'ecu330/zgcc'\" \(1169 characters\)
  2036.   sed "s/^X//" >'ecu330/zgcc' <<'END_OF_FILE'
  2037. X#!/bin/csh
  2038. X#+-----------------------------------------------------------------------
  2039. X# zgcc
  2040. X# arg[1]  - filename containing list of files
  2041. X# arg[2]  - output filename
  2042. X# arg[3]  - path to afterlint and mkoldproto
  2043. X# arg[4-] - CFLAGS
  2044. X#------------------------------------------------------------------------
  2045. X#+:EDITS:
  2046. X#:05-04-1994-04:40-wht@n4hgf-ECU release 3.30
  2047. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  2048. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  2049. X#:01-21-1992-05:53-wht@n4hgf-add path as arg3
  2050. X#:08-11-1991-23:47-wht@n4hgf-thanks for the -p1 suggestion to sef@kithrup.com
  2051. X#zgcc -- build prototyping "PROTOTYPES"
  2052. Xecho C sources in $1';' result file $2
  2053. Xunset noclobber
  2054. Xset p=$argv[3]
  2055. Xrm -f zg.t
  2056. Xif (-e /unix)
  2057. X    echo 'building old-style prototypes for XENIX compiler compatibility'
  2058. X    echo 'unnamed struct/union as parameter warning probably about FILE :-('
  2059. Xendif
  2060. Xforeach i(`cat $1`)
  2061. Xif (-e /unix)
  2062. X    cc -DBUILDING_PROTOTYPES -p1 /lib/p1 -Zg $argv[4-] $i | \
  2063. X        $p/mkoldproto > zg1.t
  2064. Xelse
  2065. X    cc -DBUILDING_PROTOTYPES -Zg $argv[4-] $i > zg1.t
  2066. Xendif
  2067. Xsort zg1.t > zg2.t
  2068. Xecho '/*' $i '*/' >> zg.t
  2069. Xcat zg2.t >> zg.t
  2070. Xend
  2071. X$p/afterlint zg.t $2
  2072. Xrm -f zg.t zg?.t
  2073. Xecho Output in $2
  2074. END_OF_FILE
  2075.   if test 1169 -ne `wc -c <'ecu330/zgcc'`; then
  2076.     echo shar: \"'ecu330/zgcc'\" unpacked with wrong size!
  2077.   fi
  2078.   # end of 'ecu330/zgcc'
  2079. fi
  2080. echo shar: End of archive 36 \(of 37\).
  2081. cp /dev/null ark36isdone
  2082. MISSING=""
  2083. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ; do
  2084.     if test ! -f ark${I}isdone ; then
  2085.     MISSING="${MISSING} ${I}"
  2086.     fi
  2087. done
  2088. if test "${MISSING}" = "" ; then
  2089.     echo You have unpacked all 37 archives.
  2090.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2091. else
  2092.     echo You still must unpack the following archives:
  2093.     echo "        " ${MISSING}
  2094. fi
  2095. exit 0
  2096. exit 0 # Just in case...
  2097.