home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume22
/
ecu
/
patch05a
< prev
next >
Wrap
Text File
|
1991-09-04
|
52KB
|
1,530 lines
Newsgroups: comp.sources.misc
From: Warren Tucker <wht@n4hgf.GA.US>
Subject: v22i090: ecu - ECU async comm package rev 3.10, Patch05a/5
Message-ID: <csm-v22i090=ecu.110028@sparky.imd.sterling.com>
X-Md4-Signature: 3220e18692f97d844a5ffa8f68f5eb27
Date: Wed, 4 Sep 1991 16:01:01 GMT
Approved: kent@sparky.imd.sterling.com
Submitted-by: Warren Tucker <wht@n4hgf.GA.US>
Posting-number: Volume 22, Issue 90
Archive-name: ecu/patch05a
Environment: SCO, XENIX, ISC, SUNOS4.1, SYSVR4
Patch-To: ecu: Volume 21, Issue 53-89
This is patch 5 to ECU, enhancing all versions of ECU. Particular
attention has been paid to:
1. qualifying Sun gcc usage and clearing up 386 gcc topics
2. addressing yet more nap/select problems
3. supplying memmove replacements or additions for i386 systems
for those who want to experiment with them (not documented; for
hacking only)
4. better handling sun and SVR4 environments (HDB Devices location, etc.,
using termios on Sun in lieu of termio)
5. aiding local configuration requirements with config.local Makefile
prefix and _rc.ep enhancement.
6. supplying fasi/fas.h and ckermit/ckutio-ecu.dif (not in original
distribution as they were supposed to be)
To apply, unshar all 5 parts, then
a. patch -p < PATCH5.01
b. read README.P5 and reread README
c. play with timetest/ programs (if you are on a 386/486 system)
d. perhaps build a config.local if you find something in steps b or c
e. Configure
f. make
g. make install
#!/bin/sh
# This is ecu/patch05, a shell archive (shar 3.46)
# made 09/04/1991 06:17 UTC by wht@n4hgf.Mt-Park.GA.US
# Source directory /export/home/wht/src/ecu
#
# existing files will NOT be overwritten unless -c is specified
#
# This is part 1 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 6132 -rw-rw-r-- README.P5
# 157801 -rw-rw-r-- PATCH5.01
# 21859 -rw-r--r-- fasi/fas.h
# 2337 -rw-r--r-- ckermit/ckutio-ecu.dif
# 1169 -rw-rw-r-- memmove/README
# 1143 -rw-rw-r-- memmove/memmove.s
# 1745 -rw-r--r-- memmove/memmove286.asm
# 1587 -rw-r--r-- memmove/memmove386.asm
# 304 -rw-rw-r-- timetest/Makefile
# 2342 -rw-r--r-- timetest/naptest.c
# 2312 -rw-r--r-- timetest/naptest2.c
# 1469 -rw-r--r-- timetest/naptest3.c
# 863 -rw-r--r-- timetest/seltest.c
#
if test -r _shar_seq_.tmp; then
echo 'Must unpack archives in sequence!'
echo Please unpack part `cat _shar_seq_.tmp` next
exit 1
fi
# ============= README.P5 ==============
if test -f 'README.P5' -a X"$1" != X"-c"; then
echo 'x - skipping README.P5 (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting README.P5 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'README.P5' &&
XREADME.P5 ECU 3.10 Patch 5 Wed Sep 4 00:41:23 EDT 1991
X
XThis describes patch 5 to ECU 3.15, bringing the program to
Xversion 3.15.
X
XFiles in Patch 5:
XREADME.P5
XPATCH5.01
Xfasi/fas.h
Xckermit/ckutio-ecu.dif
Xmemmove/README
Xmemmove/memmove.s
Xmemmove/memmove286.asm
Xmemmove/memmove386.asm
Xtimetest/Makefile
Xtimetest/naptest.c
Xtimetest/naptest2.c
Xtimetest/naptest3.c
Xtimetest/seltest.c
X
XFirst, a note of apology to Sun users. I used the -mm nroff macros
Xto write the manuals. Sun provides -ms and -me, but not -mm.
XI'm looking for some PD replacements, but haven't succeeded yet.
XI'll be glad to mail an updated manual to anyone who asks. I'm
Xalso looking for a friendly ftp site to hold updates, hence manuals.
X
X1. Improvements in the SVR4 port have been made, but now
XSVR4 almost certainly means an AT&T/Intel/ISC 386 port,
X ^^^
Xsince we expect to find /usr/include/sys/at_ansi.h and
X/usr/include/sys/sys/kd.h files for console color capability.
X(Color is not yet supported on Sun -- only monochrome xterms
Xand the console without color manipulation).
X
XIf you have trouble with compiling ecutty.c for SVR4 (complaints
Xabout not finding either of these header files), temporarily remove the
XSVR4 condition for inclusion of them and for using the CONS_GET code
Xnear the bottom of the source.
X
X2. Many improvements were made in the area of system independence.
XThe build procedure configures the location of HDB Devices,
XDialcodes and Dialers files among the various environments:
XSCO /usr/lib/uucp
XISC /usr/lib/uucp
XSun /etc/uucp
XSVR4 /etc/uucp
X
X3. A new feature of Configure is the inclusion of local configuration
Xin the Makefiles it builds. If you build a file named "config.local"
Xin the base source directory, it's contents will be placed ahead of
Xall other make statements in each Makefile.
X
XExample customization include:
XCFLAGS_EXTRA = -Dwhatever
XGCC_CFLAGS_EXTRA = -fsoft-float #just an example :-)
XCC_CGLAGS_EXTRA = -p
XSYMBOLIC = -g # if you want sdb/dbx/gdb symbols in programs
XBINTIME = /bin/time # if you want stats on each make step
XLDFLAGS_EXTRA = -ljuicier-malloc
X
XJudicious use of this may help you avoid changing Make.src files
Xthus making patch complain about future patches, but
X
X4. A patch from Andrew Chernov that fell out of the last version
Xwas reapplied: Many SCO-style dialer programs do not care
Xwhat is in argument 0 (the command name) when they are executed,
Xbut some do. Before this patch, the argument passed was "ECUdial"
Xsince the gendial dialers *can* make use of it. This usage
Xconflicted with some of Andrew's dialers which need the actual
Xname passed. So, starting with this edition, if you invoke
Xa dialer program, its complete pathname will appear in argv[0].
XIf you want the old behavior, add a file to the base directory
Xcalled config.local and place in it the line:
X
X CFLAGS_EXTRA = -DECUdial
X
X3. The usefulness of _rc.ep has been enhanced by adding the
X'setline' procedure command. This command is only valid during the
Xexecution of _rc.ep. It allows you to override the selection of
Xa default line as if you had used the -l switch. In fact, using
Xthe commabnd overrides -l.
X
XUsage: setline <filename>
X
XThis command is an exact analog of the -l command line switch.
X<filename> is used on the setup screen (if it is presented)
Xas the default filename. If you do not edit this name, ECU will
Xattempt to open the line when you press End or ^D.
X
X<filename> has the format of a complete pathanme in /dev or simple
Xtty name.
X
XExample:
X setline '/dev/tty1a'
X setline 'tty1a'
X setline 'cua0'
X
X5. Similarly, using the 'baud' and 'parity' procedure commands in
X_rc.ep serve as an exact analog of the -b, -e and -e command line switches.
XUsing 'baud' and 'parity' in rc_ep override the equivalent
Xcommand line switches.
X
X6. On the Sun, STREAMS termios is used in lieu of termio. The code
Xused for draining the line output queue ("wait for all transmitted
Xdata to be sent over the line") has been improved, making
Xexpect-respond, file transfer and other highly interactive operations
Xmore reliable.
X
X7. The following files normally found in a personal ~/.ecu
Xdirectory may now have a systedm default in ECULIBDIR:
X
X colors
X keys
X nonansikeys
X
X8. Unreported bugs in the format of the keys and nonansikeys files have
Xbben fixed. Specifically, whitespace and comments are allowed after keyset
Xor terminal names.
X
X9. On ISC 2.2 systems, the console was left in standout or bold
Xmode at exit from ECU. I believe this problem is now fixed.
X
X10. The GCC compilation flags for 386 versions have been updated to use
X-fcall-used-bx rather than -fcall-used-{ax,bx,cs,dx].
X
XIt turns out the only problem ECU had with strenuously optimized GCC
Xoptions was that SCO's memmove clobbers the bx register, which is
Xsupposed to be reserved for use as a register variable by all
Xcompilers, MSC or otherwise.
X
XIf you use the new memmove routines supplied with this patch, you may
Xomit this switch as well. It is probably not worth fooling with any
Xof that unless you are just interested in the problem.
X
X11. I forgot to include the version 4F kermit diff file. It's included
Xin here.
X
X12. In patch 2, I reported nap() in SCO UNIX systems to be faulty in varying
Xmanners depending on x in the 3.2.x version number. ISC 2.2.1 nap also
Xmisbehaves in a similar manner.
X
XSCO very promptly supplied me with an /etc/conf/pack.d/kernel/os.o for
Xrelinking the kernel which fixes the problem somewhat, but not
Xcompletely. Watch this space. Some testing programs can be found in
Xtimetest/ as of this patch.
X
X13. I've thought for some time SCO select might also be buggy. I finally
Xwrote some test programs and proved it. SCO select may appear to work
Xcorrectly for a few iterations, but rapidly degenerates into rounding
Xall timeout specifications to the nearest second. Run timetest/seltest
Xfor a visual feel of what's going on.
X
XThe #define WORKING_SELECT is now supploied by the Configure procedure
Xfor systems that have a usable select. See the updated README file
Xnote 3 and ecuutil.c Nap() for details.
X
X
SHAR_EOF
chmod 0664 README.P5 ||
echo 'restore of README.P5 failed'
Wc_c="`wc -c < 'README.P5'`"
test 6132 -eq "$Wc_c" ||
echo 'README.P5: original size 6132, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= PATCH5.01 ==============
if test -f 'PATCH5.01' -a X"$1" != X"-c"; then
echo 'x - skipping PATCH5.01 (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting PATCH5.01 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'PATCH5.01' &&
XPrereq: 14
X*** /export/home/wht/src/ecu314/patchlevel.h Wed Sep 4 00:25:09 1991
X--- patchlevel.h Sun Sep 1 03:14:07 1991
X***************
X*** 1 ****
X! #define PATCHLEVEL 14
X--- 1 ----
X! #define PATCHLEVEL 15
X*** /export/home/wht/src/ecu314/Make.src Wed Sep 4 00:25:03 1991
X--- Make.src Tue Sep 3 23:50:25 1991
X***************
X*** 13,18 ****
X--- 13,21 ----
X # squirrel away the release copy first. See zgcc for the -p1 hack.
X #--------------------------------------------------------------------
X #+:EDITS:
X+ #:09-03-1991-23:47-wht@n4hgf2-add timetest directory
X+ #:09-02-1991-19:25-wht@n4hgf2-ckutio dif and fas.h left out of distribution
X+ #:09-01-1991-16:22-wht@n4hgf2-generalize HDB config location
X #:08-23-1991-13:35-wht@n4hgf-sun porting (3.13)
X #:07-25-1991-12:55-wht@n4hgf-ECU release 3.10
X #:04-21-1991-12:43-wht@n4hgf-convert to Make.src
X***************
X*** 25,32 ****
X .SUFFIXES: .o .c .h .l
X .c.o:; $(BINTIME) $(CC) -c $(CFLAGS) $*.c
X
X! ECUSHARNAME=ecu314
X! MANSHARNAME=ecumar314
X
X SRC = \
X bamboozle.c\
X--- 28,35 ----
X .SUFFIXES: .o .c .h .l
X .c.o:; $(BINTIME) $(CC) -c $(CFLAGS) $*.c
X
X! ECUSHARNAME=ecu315
X! MANSHARNAME=ecuman315
X
X SRC = \
X bamboozle.c\
X***************
X*** 157,171 ****
X bperr/bperr.c \
X help/{*.[ch],ecuhelp.src} \
X ecuungetty/*.[ch] \
X! z/*.[ch]\
X sea/{*.[ch],*.{doc,imp}} \
X gendial/{install_dialer,*.[ch]} \
X! fasi/{Makefile,Master,Node,PATCHLEVEL}\
X! fasi/{README,README.FASI,RELEASENOTES}\
X! fasi/{Space.c,System,digi-pc8.h,fas.c,idfasi}\
X ecufriend/*.[ch] \
X! mapkey/README mapkey/keys.usa.ecu\
X xsel386/* \
X doc/{*.txt,runoff} models/* zgcc mkoldproto.l'
X
X # fasi/{README,README.FASI,INSTALLATION,Inittab,Makefile,Makefile.ATT}\
X--- 160,177 ----
X bperr/bperr.c \
X help/{*.[ch],ecuhelp.src} \
X ecuungetty/*.[ch] \
X! z/*.[ch] \
X! ckermit/*.dif \
X sea/{*.[ch],*.{doc,imp}} \
X gendial/{install_dialer,*.[ch]} \
X! fasi/{Makefile,Master,Node,PATCHLEVEL} \
X! fasi/{README,README.FASI,RELEASENOTES} \
X! fasi/{Space.c,System,digi-pc8.h,fas.c,fas.h,idfasi} \
X ecufriend/*.[ch] \
X! mapkey/README mapkey/keys.usa.ecu \
X xsel386/* \
X+ memmove/{README,*.{s,asm}} \
X+ timetest/{Makefile,*.c} \
X doc/{*.txt,runoff} models/* zgcc mkoldproto.l'
X
X # fasi/{README,README.FASI,INSTALLATION,Inittab,Makefile,Makefile.ATT}\
X***************
X*** 252,263 ****
X cd z; make install
X cd sea; make install
X cd help; make install
X! @if [ ! -f /usr/lib/uucp/Devices ]; then \
X cp models/*.mi $(ECULIBDIR); \
X echo "==> edit $(ECULIBDIR)/*.mi for your tty lines per ecu.man"; \
X fi
X
X! shar.fls:
X csh -c 'ls $(SHARFLS) | sort > shar.fls'
X
X # for shar 3.46 or later
X--- 258,269 ----
X cd z; make install
X cd sea; make install
X cd help; make install
X! @if [ ! -f $(HDBFILES)/Devices ]; then \
X cp models/*.mi $(ECULIBDIR); \
X echo "==> edit $(ECULIBDIR)/*.mi for your tty lines per ecu.man"; \
X fi
X
X! shar.fls: Makefile
X csh -c 'ls $(SHARFLS) | sort > shar.fls'
X
X # for shar 3.46 or later
X***************
X*** 285,299 ****
X
X neat:
X rm -f core Makefile.bak tags cscope.out config makedate.c makedate.o
X! -rm -f *~ *# *.orig *.rej make.log a.out
X rm -f makedirs kbdtest kbdtest3
X rm -f bperr/bperr
X cd help;make neat
X cd z;make neat
X cd sea;make neat
X! if [ $(USE_ECUUNGETTY) = yes ]; then \
X! cd ecuungetty;make neat; \
X! fi
X
X clean: neat
X rm -f $(OBJ)
X--- 291,304 ----
X
X neat:
X rm -f core Makefile.bak tags cscope.out config makedate.c makedate.o
X! rm -f *~ *# *.orig *.rej make.log a.out
X! rm -f */*~ */*# */*.orig */*.rej
X rm -f makedirs kbdtest kbdtest3
X rm -f bperr/bperr
X cd help;make neat
X cd z;make neat
X cd sea;make neat
X! cd ecuungetty;make neat
X
X clean: neat
X rm -f $(OBJ)
X***************
X*** 300,308 ****
X cd help;make clean
X cd z;make clean
X cd sea;make clean
X! if [ $(USE_ECUUNGETTY) = yes ]; then \
X! cd ecuungetty;make clean; \
X fi
X
X clobber: clean
X rm -f $(PROGRAM) $(PROGRAM)~
X--- 305,317 ----
X cd help;make clean
X cd z;make clean
X cd sea;make clean
X! cd ecuungetty;make clean;
X! -if [ -f gendial/Makefile ]; then \
X! cd gendial; make clean; \
X fi
X+ -if [ -f timetest/Makefile ]; then \
X+ cd timetest; make clean; \
X+ fi
X
X clobber: clean
X rm -f $(PROGRAM) $(PROGRAM)~
X***************
X*** 309,317 ****
X cd help;make clobber
X cd z;make clobber
X cd sea;make clobber
X! if [ $(USE_ECUUNGETTY) = yes ]; then \
X! cd ecuungetty;make clobber; \
X! fi
X
X #regenerate .o:.h dependencies automatically
X depend:
X--- 318,324 ----
X cd help;make clobber
X cd z;make clobber
X cd sea;make clobber
X! cd ecuungetty;make clobber;
X
X #regenerate .o:.h dependencies automatically
X depend:
X*** /export/home/wht/src/ecu314/README Wed Sep 4 00:24:47 1991
X--- README Tue Sep 3 23:25:35 1991
X***************
X*** 1,10 ****
X .--------------------------------------------------------.
X! | ecu README - last revised Sun Aug 25 22:56:51 EDT 1991 |
X `--------------------------------------------------------'
X
X! This is ecu revision 3.10. Ecu is a asynchronous communications
X! program for SCO UNIX System V/386 or XENIX System V/286 or 386 on
X! AT-class computer systems. It incorporates typical interactive
X communications capabilities with a rich procedure language, an
X extended set of immediate (interactive) commands, and several file
X transfer protocols. The operating system and development system is
X--- 1,17 ----
X .--------------------------------------------------------.
X! | ecu README - last revised Tue Sep 3 23:00:47 EDT 1991 |
X `--------------------------------------------------------'
X
X! This is ecu revision 3.15. ECU is a asynchronous communications
X! program for these environments:
X!
X! XENIX System V/286
X! XENIX System V/386
X! SCO UNIX System V/386
X! ISC System V Release 4
X! SunOS 4.1.1 on Sparc, 1+, 2
X!
X! It incorporates typical interactive
X communications capabilities with a rich procedure language, an
X extended set of immediate (interactive) commands, and several file
X transfer protocols. The operating system and development system is
X***************
X*** 12,23 ****
X production version of SCO UNIX or ODT. Preliminary support for ISC
X 386/ix 2.2 seems to be at least partially functional.
X
X- At patchlevel 3 or higher, at least partial (useful) support
X- is provided for SunOS 4.1 X11 users on a Sparc and for ISC System
X- V Release 4. I did the sun port. Lothar Hirschbiegel
X- (aega84!lh) did the SVR4 port -- THANKS, Lothar!
X- See README.P3 for elaboration on this new support.
X-
X Support for "non-ANSI" consoles is relatively stable and more
X mature. I use it (almost exclusively now) with a Metro Link X11R4
X xterm. Bugs are expected and reports will be greatly appreciated.
X--- 19,24 ----
X***************
X*** 67,72 ****
X--- 68,75 ----
X their excellent X11R4 package. Yes, xecu has been born and is in
X intensive care, but its chance of survival is pretty good.
X
X+ Lothar Hirschbiegel (aega84!lh) did the SVR4 port -- THANKS, Lothar!
X+
X --------------------------------------------------------------------
X
X NOTE TO PRE-REVISION-3 USERS:
X***************
X*** 104,118 ****
X 2. Termination of file transfers by SIGINT did not cause termination
X of procedfure execution in pre-3.10 versions. In this version, it does.
X
X! The appropriate manual sections have been updated to indicate:
X! Integer variable $i0 receives the exit status from the transfer. Note:
X! procedure execution IS terminated by a SIGINT to the spawned file
X! transfer process. This is different than for versions prior to 3.10.
X! If $i0 is set to -1, the file transfer program did not begin.
X!
X! If there is one serious flame on this, I'll make it run-time option
X! to get the old behavior.
X!
X --------------------------------------------------------------------
X
X On SCO, TTY devices must be named in the style of:
X--- 107,114 ----
X 2. Termination of file transfers by SIGINT did not cause termination
X of procedfure execution in pre-3.10 versions. In this version, it does.
X
X! 3. Several files that previously had to reside in ~/.ecu now may have
X! system wide defaults in the ECU library directory (/usr/local/lib/ecu).
X --------------------------------------------------------------------
X
X On SCO, TTY devices must be named in the style of:
X***************
X*** 291,311 ****
X --------------------------------------------------------------------
X Notes:
X
X! 0. ISC:
X More progress has been made for a port to ISC 2.2. The
X program compiles properly with the gcc or native cc compiler,
X! but very little testing has been done. The shared dial-in,
X! dial-out tty facility is very different between SCO and ISC and
X! tty naming is different. Also, extended keys (like Home and End)
X! generate different codes. I would appreciate any help and
X! comments. John "Pappy" Dashner (jmd@wa4cyb) is responsible for
X! the bulk of the effort to date. It still needs more work, though.
X! The Configure procedure will ask you if you are on an ISC or
X! SCO system. Answering 'i' should put you on the correct fork
X! of the Yellow Brick Road and you will get at least some
X service from it on virtual consoles using the "at386" terminal
X type if you install models/nonansikeys in your ~/ecu directory.
X
X 1. KERMIT:
X A XENIX/286 (lowest common denominator for SCO) binary of a suitable
X ckermit is compress-shared in the ckermit subdirectory. You
X--- 287,310 ----
X --------------------------------------------------------------------
X Notes:
X
X! 0. ISC, SVR4 and Sun:
X More progress has been made for a port to ISC 2.2. The
X program compiles properly with the gcc or native cc compiler,
X! and seems to be woerking fairly well. You will get at least some
X service from it on virtual consoles using the "at386" terminal
X type if you install models/nonansikeys in your ~/ecu directory.
X
X+ At least one user is happy with ECU on ISC System V Release 4.
X+ ("[Unix is now running on 10 machines. More installations are
X+ anticpiated.]" -- Dennis Ritchie, 1972?).
X+
X+ A Sun port seems to be stable for xterms under X11R4.
X+
X+ This section of the README was spawned when ECU ran only on SCO nd
X+ pitiful early porting efforts had just begun. Soon (:->) it will be
X+ obsolete and dropped in favor of a more complete chunk of words for
X+ each run time environment.
X+
X 1. KERMIT:
X A XENIX/286 (lowest common denominator for SCO) binary of a suitable
X ckermit is compress-shared in the ckermit subdirectory. You
X***************
X*** 323,329 ****
X is released) will directly support ECU's use of it, even if patches
X to ECU are required. Watch this space.
X
X! 2. SELECT(S)
X SCO XENIX V/386 Release 2.3.1 (and evidently 2.3.2) have a
X broken-dead, yet fixable, BSD-style select() feature. Also,
X select() is missing from libc.a. While ecu does not *require*
X--- 322,335 ----
X is released) will directly support ECU's use of it, even if patches
X to ECU are required. Watch this space.
X
X! 2. SELECT(S) and CFLAGS "WORKING_SELECT"
X! ECU uses select() where possible for two purposes:
X! 1. wait on a tty (comm line) read with timeout -and-
X! 2. timeout (nap replacement).
X!
X! If you have a working select, use -DWORKING_SELECT.
X! The Configure procedure does the job for you for systems I know about.
X!
X SCO XENIX V/386 Release 2.3.1 (and evidently 2.3.2) have a
X broken-dead, yet fixable, BSD-style select() feature. Also,
X select() is missing from libc.a. While ecu does not *require*
X***************
X*** 330,342 ****
X select(S), it is much more efficient to use it. The x386sel
X subdirectory in this release has information (thanks to
X csch@netcs, ivar@acc, and ag@elgar) on how to fix the kernel and
X! to add select() to libc.a.
X
X! Select(S) is fully functional in SCO UNIX.
X
X I found it in /usr/lib/libinet.a on the ISC system I used to
X! compile for ISC.
X
X 3. SCO MULTISCREEN BUG
X There has been a bug in the multiscreen driver for some time
X wherein a MEDIA COPY (screen dump) sequence ("ESC [ 2 i") leaves
X--- 336,355 ----
X select(S), it is much more efficient to use it. The x386sel
X subdirectory in this release has information (thanks to
X csch@netcs, ivar@acc, and ag@elgar) on how to fix the kernel and
X! to add select() to libc.a. You'll have to add WORKING_SELECT to
X! config.local if you do this.
X
X! Select(S) is fully functional in SCO UNIX 3.2.0. I am unsure of ODT
X! 1.0/UNIX 3.2.1. It is broken in ODT 1,1/UNIX 3.2v2. If you find it
X! fixed in 3.3v3, add WORKING_SELECT to config.local and tell me the
X! good news.
X
X I found it in /usr/lib/libinet.a on the ISC system I used to
X! compile for ISC. It works fine there. I automatically put
X! WORKING_SELECT into the Makefile.
X
X+ It works fine on the Sun and SVR4, naturally.
X+
X 3. SCO MULTISCREEN BUG
X There has been a bug in the multiscreen driver for some time
X wherein a MEDIA COPY (screen dump) sequence ("ESC [ 2 i") leaves
X***************
X*** 362,372 ****
X
X 4. GCC
X
X! In case you didn't know, GCC is a great C compiler. It generates excellent
X! code and gives excellent diagnostics and warnings. There are more
X! options available than for a Coup de Ville, so you have to be careful
X! if you get too fancy. With Configure and config.c, I have tried to
X! choose the best option set for ecu and it's utilities.
X
X I tried -pedantic and -ansi under SCO, but there
X are just too many complaints about the development system heaader files:
X--- 375,388 ----
X
X 4. GCC
X
X! In case you didn't know, GCC is a great C compiler. It generates
X! excellent code and gives excellent diagnostics and warnings.
X! There are more options available than for a Coup de Ville, so you
X! have to be careful if you get too fancy. I should know -- I
X! think I may have done it. With Configure and config.c, I have
X! tried to choose the best option set for ECU and it's utilities.
X! If you want to play around, you can place GCC_EXTRA_CFLAGS
X! definitions in a config.local file and experiment away.
X
X I tried -pedantic and -ansi under SCO, but there
X are just too many complaints about the development system heaader files:
X***************
X*** 382,388 ****
X recommend you do it for purposes of making ECU. Hopefully since
X I have done it and fixed what gcc reported, you don't have to.
X
X! Also, gcc's idea of prototype validity is just too much for me.
X With MSC ANSI, prototype arguments are tested at *reference* time
X not *definition* time. Thus with MSC it is convenient to define
X a file (like stdio_lint.h, lint_args.h, etc) with all the
X--- 398,415 ----
X recommend you do it for purposes of making ECU. Hopefully since
X I have done it and fixed what gcc reported, you don't have to.
X
X! On the Sun, you cannot use -ansi because of the whole way ioctl
X! 2nd parameter defines are built. Compilation proceeds with no
X! error, but few if any of your ioctls will work. Also, with
X! -pedantic, you get one hundred gazillion complaints about text
X! after #else and #endif. I hacked my compiler to omit that one
X! pedantic complaint and made a test run with -ansi and -pedantic.
X! As of version 3.15, I get no other warnings outside of some
X! funkiness in va_args. With that exercise complete, I bid -ansi
X! and -pedantic adieu for a while with a good feeling about the
X! future should the ANSI KGB actually seize real power in Cyberdom.
X!
X! Gcc's idea of prototype validity is just too much for me.
X With MSC ANSI, prototype arguments are tested at *reference* time
X not *definition* time. Thus with MSC it is convenient to define
X a file (like stdio_lint.h, lint_args.h, etc) with all the
X*** /export/home/wht/src/ecu314/config.c Wed Sep 4 00:25:03 1991
X--- config.c Tue Sep 3 22:42:36 1991
X***************
X*** 1,9 ****
X /* CHK=0xD40E */
X! char *rev = "3.13";
X /*+-------------------------------------------------------------------------
X config.c - Makefile configuration program for ECU
X wht@n4hgf.Mt-Park.GA.US
X
X There are a few tricks in here for SCO multi-target development
X system. If you compile this on a UNIX system, but specify the
X target for a XENIX system, you get the cc -xenix switch. You
X--- 1,13 ----
X /* CHK=0xD40E */
X! char *rev = "3.15";
X /*+-------------------------------------------------------------------------
X config.c - Makefile configuration program for ECU
X wht@n4hgf.Mt-Park.GA.US
X
X+ This must be compiled with the *NATIVE* cc or else you must fake all
X+ of the predefines the native compiler supplies. The Configure
X+ script can pass stuff in CFLAGS to tickle config a bit.
X+
X There are a few tricks in here for SCO multi-target development
X system. If you compile this on a UNIX system, but specify the
X target for a XENIX system, you get the cc -xenix switch. You
X***************
X*** 10,20 ****
X--- 14,31 ----
X also get -Dconst= to avoid banging into some problems with the
X XENIX stuff in the header files.
X
X+ To paraphrase Henry Spencer:
X+ "Those who do not understand imake are doomed to reinvent it - poorly."
X+ If this gets much more complicated, I'll make some imake rules.
X+ Very soon, most of the systems ECU gets used on will have imake already.
X+ We cannot assume that yet.
X+
X Defined functions:
X gen_cc_cflags()
X gen_gcc_cflags()
X gen_isc_ldflags()
X gen_sco_ldflags()
X+ gen_sun_ldflags()
X gen_svr4_ldflags()
X generate_config(mdir)
X goodbye(sig)
X***************
X*** 27,33 ****
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
X /*:08-23-1991-01:37-wht@n4hgf-sun port */
X /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
X--- 38,47 ----
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:09-03-1991-12:53-wht@n4hgf2-iron out sun gcc options */
X! /*:09-01-1991-16:32-wht@n4hgf2-show package and config versions */
X! /*:09-01-1991-15:59-wht@n4hgf2-generalize HDB Devices, etc. files location */
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
X /*:08-23-1991-01:37-wht@n4hgf-sun port */
X /*:07-25-1991-12:55-wht@n4hgf-ECU release 3.10 */
X***************
X*** 42,47 ****
X--- 56,62 ----
X #include <termio.h>
X #include <sys/types.h>
X #include <sys/stat.h>
X+ #include "patchlevel.h"
X
X #define S_SCO 0
X #define S_ISC 1
X***************
X*** 62,70 ****
X char *makedirs[] = {
X ".",
X "./ecufriend",
X- #ifndef sun
X "./ecuungetty",
X- #endif
X "./gendial",
X "./help",
X "./sea",
X--- 77,83 ----
X***************
X*** 72,82 ****
X (char *)0
X };
X
X! char *strs_intro[] = {
X "\n",
X ".-------------------.\n",
X "| ECU configuration |\n",
X "`-------------------'\n",
X "There are two types of responses, single character and string\n",
X "Single character questions have the choices in () followed by a ?\n",
X "String questions (with any defaults in []) are followed by a :\n",
X--- 85,102 ----
X (char *)0
X };
X
X! char *strs_intro1[] = {
X "\n",
X ".-------------------.\n",
X "| ECU configuration |\n",
X "`-------------------'\n",
X+ (char *)0
X+ };
X+ char *strs_intro2[] = {
X+ #ifdef WHT
X+ "WHT features enabled\n",
X+ #endif
X+ "\n",
X "There are two types of responses, single character and string\n",
X "Single character questions have the choices in () followed by a ?\n",
X "String questions (with any defaults in []) are followed by a :\n",
X***************
X*** 128,141 ****
X "\t-v\\\n",
X #endif
X "\t-fstrength-reduce -fpcc-struct-return -fwritable-strings\\\n",
X- #if defined(i386) || defined(M_I286) || defined(M_SYSV) || defined(ISC)
X- "\t-fcall-used-ax -fcall-used-bx -fcall-used-cx -fcall-used-dx\\\n",
X- #endif
X "\t-finline-functions -fforce-mem -fforce-addr\\\n",
X "\t-W -Wunused -Wpointer-arith -Wcast-qual\\\n",
X (char *)0
X };
X
X char *sco_gcc_opts[] = {
X "\t........what-goes-here?.........\\\n", /* XENIX/286 */
X "\t-DM_XENIX -DM_SYSV -DM_SYS5 -DM_I386\\\n", /* XENIX/386 */
X--- 148,163 ----
X "\t-v\\\n",
X #endif
X "\t-fstrength-reduce -fpcc-struct-return -fwritable-strings\\\n",
X "\t-finline-functions -fforce-mem -fforce-addr\\\n",
X "\t-W -Wunused -Wpointer-arith -Wcast-qual\\\n",
X (char *)0
X };
X
X+ char *i86_gcc_opts[] = {
X+ "\t-fcall-used-bx\\\n",
X+ (char *)0
X+ };
X+
X char *sco_gcc_opts[] = {
X "\t........what-goes-here?.........\\\n", /* XENIX/286 */
X "\t-DM_XENIX -DM_SYSV -DM_SYS5 -DM_I386\\\n", /* XENIX/386 */
X***************
X*** 149,155 ****
X char *isc_sigtype = "\t-DSIGTYPE=void\\\n";
X
X char *sun_cc_opts = "\t-O -DBSD\\\n";
X! char *sun_gcc_opts = "\t-O -DBSD\\\n";
X char *sun_sigtype = "\t-DSIGTYPE=void\\\n";
X
X char *svr4_cc_opts = "\t-O -DSVR4 -DSYSV\\\n";
X--- 171,177 ----
X char *isc_sigtype = "\t-DSIGTYPE=void\\\n";
X
X char *sun_cc_opts = "\t-O -DBSD\\\n";
X! char *sun_gcc_opts = "\t-pipe -O -Dsun -DBSD\\\n"; /* ansi gets __sun__ only */
X char *sun_sigtype = "\t-DSIGTYPE=void\\\n";
X
X char *svr4_cc_opts = "\t-O -DSVR4 -DSYSV\\\n";
X***************
X*** 309,329 ****
X break;
X }
X fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
X! #if defined(WHT)
X! #if defined(sun)
X! fputs("\t-DWHT -DAUDIO -g\\\n",fpmake);
X! #else
X! fputs("\t-DWHT -DMORSE -DFASI -g\\\n",fpmake);
X! #endif
X! #else
X! #if defined(MORSE)
X! fputs("\t-DMORSE -g\\\n",fpmake);
X! #endif /* MORSE */
X! #if defined(FASI)
X! fputs("\t-DFASI -g\\\n",fpmake);
X! #endif /* FASI */
X! #endif
X! fputs("\t$(SYMBOLIC) $(CFLAGS_EXTRA)\n\n",fpmake);
X }
X
X void
X--- 331,338 ----
X break;
X }
X fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
X! fputs("\t-DHDBFILES='\"$(HDBFILES)\"'\\\n",fpmake);
X! fputs("\t$(SYMBOLIC) $(CFLAGS_EXTRA) $*CC_CFLAGS_EXTRA)\n\n",fpmake);
X }
X
X void
X***************
X*** 330,342 ****
X gen_gcc_cflags()
X {
X fputs("CFLAGS = \\\n",fpmake);
X- if(have_gcc_140)
X- fputs("\t-DGCC140\\\n",fpmake);
X tputstrsfp(gcc_opts);
X switch(sys)
X {
X case S_SCO:
X fputs(sco_gcc_opts[sco_type],fpmake);
X if(sco_type == X_UNIX)
X fputs(malloc_3x,fpmake);
X fputs(sco_sigtype[sco_type],fpmake);
X--- 339,350 ----
X gen_gcc_cflags()
X {
X fputs("CFLAGS = \\\n",fpmake);
X tputstrsfp(gcc_opts);
X switch(sys)
X {
X case S_SCO:
X fputs(sco_gcc_opts[sco_type],fpmake);
X+ tputstrsfp(i86_gcc_opts);
X if(sco_type == X_UNIX)
X fputs(malloc_3x,fpmake);
X fputs(sco_sigtype[sco_type],fpmake);
X***************
X*** 343,374 ****
X break;
X case S_ISC:
X fputs(isc_gcc_opts,fpmake);
X fputs(malloc_3x,fpmake);
X fputs(isc_sigtype,fpmake);
X break;
X case S_SUN:
X fputs(sun_gcc_opts,fpmake);
X fputs(malloc_3x,fpmake);
X fputs(sun_sigtype,fpmake);
X break;
X case S_SVR4:
X fputs(svr4_gcc_opts,fpmake);
X fputs(malloc_3x,fpmake);
X fputs(svr4_sigtype,fpmake);
X break;
X }
X fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
X! #if defined(WHT)
X! fputs("\t-DWHT -DMORSE -DFASI -DSHARE_DEBUG -g\\\n",fpmake);
X! #else
X! #if defined(MORSE)
X! fputs("\t-DMORSE -g\\\n",fpmake);
X! #endif /* MORSE */
X! #if defined(FASI)
X! fputs("\t-DFASI -g\\\n",fpmake);
X! #endif /* FASI */
X! #endif
X! fputs("\t$(SYMBOLIC) $(CFLAGS_EXTRA)\n\n",fpmake);
X }
X
X void
X--- 351,382 ----
X break;
X case S_ISC:
X fputs(isc_gcc_opts,fpmake);
X+ tputstrsfp(i86_gcc_opts);
X fputs(malloc_3x,fpmake);
X+ fputs("\t-DWORKING_SELECT\\\n",fpmake);
X fputs(isc_sigtype,fpmake);
X break;
X case S_SUN:
X fputs(sun_gcc_opts,fpmake);
X fputs(malloc_3x,fpmake);
X+ fputs("\t-DWORKING_SELECT\\\n",fpmake);
X fputs(sun_sigtype,fpmake);
X break;
X case S_SVR4:
X fputs(svr4_gcc_opts,fpmake);
X+ #if defined(i386)
X+ tputstrsfp(i86_gcc_opts);
X+ #endif
X fputs(malloc_3x,fpmake);
X+ fputs("\t-DWORKING_SELECT\\\n",fpmake);
X fputs(svr4_sigtype,fpmake);
X break;
X }
X fputs("\t-DECULIBDIR='\"$(ECULIBDIR)\"'\\\n",fpmake);
X! fputs("\t-DHDBFILES='\"$(HDBFILES)\"'\\\n",fpmake);
X! if(have_gcc_140)
X! fputs("\t-DGCC140\\\n",fpmake);
X! fputs("\t$(SYMBOLIC) $(CFLAGS_EXTRA) $(CC_CFLAGS_EXTRA)\n\n",fpmake);
X }
X
X void
X***************
X*** 429,434 ****
X--- 437,443 ----
X char mkfl[128];
X char s128[128];
X FILE *fpsrc;
X+ FILE *local = fopen("config.local","r");;
X
X sprintf(mksrc,"%s/Make.src",mdir);
X sprintf(mkfl,"%s/Makefile",mdir);
X***************
X*** 460,465 ****
X--- 469,483 ----
X mksrc);
X fprintf(fpmake,"#---- configured by ECU config rev %s\n\n",rev);
X
X+ if(local)
X+ {
X+ fprintf(fpmake,"# config.local inclusions\n");
X+ while(fgets(s128,sizeof(s128),local))
X+ fputs(s128,fpmake);
X+ fclose(local);
X+ fputs("\n",fpmake);
X+ }
X+
X switch(compiler)
X {
X case C_CC:
X***************
X*** 490,511 ****
X--- 508,537 ----
X
X fprintf(fpmake,"LBIN = %s\n",bindir);
X fprintf(fpmake,"ECULIBDIR = %s\n",libdir);
X+ /*
X+ * we need this info in Makefiles, so it is put here rather
X+ * than ecu.h; must also have this passed thru in CFLAGS
X+ */
X switch(sys)
X {
X case S_SCO:
X fprintf(fpmake,"SYSTEM = %s\n",sco_system[sco_type]);
X+ fprintf(fpmake,"HDBFILES = /usr/lib/uucp\n");
X use_ecuungetty = "yes";
X break;
X case S_ISC:
X fprintf(fpmake,"SYSTEM = %s\n",isc_system);
X+ fprintf(fpmake,"HDBFILES = /usr/lib/uucp\n");
X use_ecuungetty = "yes";
X break;
X case S_SUN:
X fprintf(fpmake,"SYSTEM = %s\n",sun_system);
X+ fprintf(fpmake,"HDBFILES = /etc/uucp\n");
X use_ecuungetty = "no";
X break;
X case S_SVR4:
X fprintf(fpmake,"SYSTEM = %s\n",svr4_system);
X+ fprintf(fpmake,"HDBFILES = /etc/uucp\n");
X use_ecuungetty = "no";
X break;
X }
X***************
X*** 586,596 ****
X signal(itmp,goodbye);
X
X if(!debug)
X! tputstrs(strs_intro);
X!
X! #ifdef WHT
X! printf("WHT version enabled\n");
X! #endif
X
X if(sys < 0)
X {
X--- 612,622 ----
X signal(itmp,goodbye);
X
X if(!debug)
X! {
X! tputstrs(strs_intro1);
X! printf("Package version 3.%d, config version %s\n",PATCHLEVEL,rev);
X! tputstrs(strs_intro2);
X! }
X
X if(sys < 0)
X {
X*** /export/home/wht/src/ecu314/doc/_features.txt Wed Sep 4 00:23:11 1991
X--- doc/_features.txt Mon Sep 2 01:55:10 1991
X***************
X*** 114,120 ****
X by testing all keystroke sequences again an internal table loaded
X at the beginning of execution from the file ~/.ecu/nonansikeys.
X A default nonansikeys may be placed in the ECU library directory
X! (normally /usr/local/lib/ecu).
X
X NOTE that supported terminals MUST employ function keys which generate
X sequences free of nulls and less than 33 characters in length.
X--- 114,123 ----
X by testing all keystroke sequences again an internal table loaded
X at the beginning of execution from the file ~/.ecu/nonansikeys.
X A default nonansikeys may be placed in the ECU library directory
X! (normally /usr/local/lib/ecu). X11 xterms usually require special attention
X! with VT100.Translations overrides. Sometimes an xmodmap must also be
X! employed. Experimentation is the best teacher, but the supplied
X! nonansikeys file and various READMEs offer some hints.
X
X NOTE that supported terminals MUST employ function keys which generate
X sequences free of nulls and less than 33 characters in length.
X***************
X*** 680,700 ****
X programs by Chuck Forsberg) present dynamic status displays similar to
X the following:
X .DS L
X! .-[ ecusz 2.37 ]-- /tmp -----------------------------------.
X! | ZMODEM/CRC32 Data xfer rate ~= 896 chars/sec |
X! | File 1 of 1: ckermit-5a-130 |
X! | File position: 34053 length: 34053 -rw-r--r-- |
X! | Sending 34053 bytes total time ~= 0:40 |
X! | tx: hdr ZFIN 0 rx: hdr ZFIN 0 |
X! | Comm I/O: rx 175 tx 34393 bytes |
X! | Baud rate: 9600 BINARY blklen: 1024 comm mode: NORMAL |
X! | Time: started: 17:31:50 this file: 17:31:51 |
X! | 17:32:29 elapsed: 00:00:39 00:00:38 |
X! | Errors: this file: 0 total: 0 files skipped: 0 |
X! | Total file bytes transferred: 34053 |
X! | End of file |
X! | Remote: CRC32 y duplex y continuous stream y |
X! `- Connected to ki4xo - procedure put_ck5a ----------------'
X .DE
X
X During file transfer, transfer rates are displayed from time to time.
X--- 683,705 ----
X programs by Chuck Forsberg) present dynamic status displays similar to
X the following:
X .DS L
X! .-[ ecurz 3.14 ]-- /export/home/wht/tmp -------------------.
X! | ZMODEM/CRC32 transfer rate ~= 1638 ch/sec (85%) R |
X! | File 2 : test.data |
X! | File position: 13312 length: 200599 -r--r--r-- |
X! | Receive time this file ~= 1:55 |
X! | tx: hdr ZRPOS 0 rx: data ZCRCG 1024 bytes |
X! | Comm I/O: rx 599390 tx 84 bytes |
X! | Baud rate: 19200 BINARY blklen: 1024 comm mode: RAW-f |
X! | Time: started: 01:36:54 this file: 01:42:13 |
X! | 01:42:21 elapsed: 00:05:27 00:00:08 |
X! | Errors: this file: 0 total: 0 files skipped: 0 |
X! | Total file bytes transferred: 560149 |
X! | Receiving data (6% complete) |
X! | Transfer: if destination nonexistent |
X! | Output queue depth 0 RTS T CTS T |
X! | Input queue depth 10 Input queue avail 490 |
X! `- Connected to mp486 -------------------------------------'
X .DE
X
X During file transfer, transfer rates are displayed from time to time.
X***************
X*** 712,717 ****
X--- 717,736 ----
X are skipped in a transfer session, you may be sure the transaction
X rate will be (perhaps much) lower than the per-file rate.
X
X+ On some systems and driver options, sundry driver statistics are
X+ displayed during X/Y/ZMODEM transfers. For instance, in the above
X+ display from a Sun session. the driver's current output and input
X+ queue depths and input queue space available are displayed along with
X+ the current status of RTS and CTS. While such gay banter is rightly
X+ relegated to the "bell and whistle" category, it does provide a rare
X+ insight into driver operation. The ECU FAS/i driver for 386 systems
X+ (after Uwe Doering's FAS driver) provided other information.
X+
X+ .DS L
X+ | Output queue depth 0 RTS T CTS T |
X+ | Input queue depth 10 Input queue avail 490 |
X+ .DE
X+
X .*s 2 "Procedures (Scripts)"
X
X A powerful, language-style procedure language is incorporated
X***************
X*** 750,786 ****
X ECU control files reside in the .ecu subdirectory of
X each user's home directory. For example, in home directory /usr/wht:
X .DS I
X! /usr/wht/.ecu/dir CD interactive command history file
X! /usr/wht/.ecu/keys function key mapping
X! /usr/wht/.ecu/nonansikeys function key mapping
X! /usr/wht/.ecu/log connect, file transfer history
X! /usr/wht/.ecu/phone default dialing directory
X! /usr/wht/.ecu/colors colors used by ECU
X .DE
X
X! The .ecu directory is also searched for ECU procedure files
X (having the '.ep' extension) in the procedure cannot be found in
X the current working directory.
X
X .*s 2 "Lock Files"
X
X! ECU maintains lock files in /usr/spool/uucp in accordance with the
X HoneyDanBer UUCP conventions (ASCII pids as 10-character strings
X! followed by a newline). Lock files are created for the lower-case
X! device names of
X! a line and checked for in both cases.
X! For example, both LCK..tty1a is created when
X! /dev/tty1a OR /dev/tty1A is selected and neither LCK..tty1a nor
X! LCK..tty1A are active. See the later section titled
X! "HoneyDanBer UUCP Interface".
X
X .*s 2 "Dial-In/Dial-Out Line Support"
X
X ECU works with the SCO getty to support dialing out on a line
X enabled for login. After use of the line is complete,
X ECU signals the system to restore incoming call status to
X the line.
X See the later section titled "HoneyDanBer UUCP Interface".
X
X .*s 2 "Tools"
X
X--- 769,823 ----
X ECU control files reside in the .ecu subdirectory of
X each user's home directory. For example, in home directory /usr/wht:
X .DS I
X! /usr/wht/.ecu/dir CD interactive command history file
X! * /usr/wht/.ecu/keys function key mapping
X! * /usr/wht/.ecu/nonansikeys function key mapping
X! /usr/wht/.ecu/log connect, file transfer history
X! /usr/wht/.ecu/phone default dialing directory
X! *% /usr/wht/.ecu/colors colors used by ECU
X .DE
X
X! * The ecu library directory (normally /usr/local/lib/ecu) is searched for
X! the "keys", "colors" and "nonansikeys" file if a personal version
X! cannot be found.
X!
X! % The "colors" file does not apply to systems on which color is not yet
X! supported.
X!
X! The .ecu directory is searched for ECU procedure files
X (having the '.ep' extension) in the procedure cannot be found in
X the current working directory.
X
X .*s 2 "Lock Files"
X
X! ECU maintains lock files in the standard directory in accordance with the
X HoneyDanBer UUCP conventions (ASCII pids as 10-character strings
X! followed by a newline). If porting to a machine with old-style
X! integer pids, grep for HONEYDANBER in the sources for hints on
X! where changes are needed.
X
X+ Standard lock directories for versions supported as of this writing:
X+ .DS I
X+ SCO /usr/spool/uucp
X+ SunOS, SVR4 /usr/spool/locks
X+ SunOS, SVR4 /var/spool/locks
X+ .DE
X+
X+ .ul 1
X+ World write access to this directory must be in effect.
X+
X+ See the later section titled "HoneyDanBer UUCP Interface".
X+
X .*s 2 "Dial-In/Dial-Out Line Support"
X
X+ On SCO XENIX and UNIX 3.2 systems,
X ECU works with the SCO getty to support dialing out on a line
X enabled for login. After use of the line is complete,
X ECU signals the system to restore incoming call status to
X the line.
X See the later section titled "HoneyDanBer UUCP Interface".
X+
X+ This facility is not required in other environments.
X
X .*s 2 "Tools"
X
X*** /export/home/wht/src/ecu314/doc/_p_cmd.txt Wed Sep 4 00:25:10 1991
X--- doc/_p_cmd.txt Sun Sep 1 20:49:36 1991
X***************
X*** 7,12 ****
X--- 7,23 ----
X This command sets the baud rate for the attached line.
X The integer argument <baud-int> must be one of
X 110, 300, 600, 1200, 2400, 4800, 9600, 19200 and 38400.
X+
X+ Using the 'baud' procedure command in the ECU initialization
X+ procedure "_rc.ep" serves as an exact analog of the -b command. The
X+ .B baud
X+ command with the
X+ .B setline
X+ command gives you programatic control over the actual choice of the
X+ line and rate or the defaults for the setup screen, depending upon
X+ other options. NOTE: using the baud command in _rc.ep will override
X+ any command line -b specification.
X+
X .DS L
X Example:
X baud 9600
X***************
X*** 1551,1556 ****
X--- 1562,1596 ----
X $s0 = 'abc' legal
X set s0='abc' legal
X s0 = 'abc' illegal
X+ .DE
X+ .*s 3 "setline"
X+ .DS L
X+ usage: setline <filename>
X+ .DE
X+ This command is an exact analog of the -l command line switch.
X+ <filename> is used on the setup screen (if it is presented)
X+ as the default filename. If you do not edit this name, ECU will
X+ attempt to open the line when you press End or ^D.
X+ <filename> has the format of a complete pathanme in /dev or simple
X+ tty name.
X+
X+ .B setline
X+ may only be used in _rc.ep. Using the
X+ .B setline
X+ command with the
X+ .B baud
X+ command gives you programatic control over the actual
X+ choice of the line and rate or the defaults for the setup screen,
X+ depending upon other options.
X+
X+ NOTE: using the setline command will override any command line -l
X+ specification.
X+
X+ .DS L
X+ Example:
X+ setline '/dev/tty1a'
X+ setline 'tty1a'
X+ setline 'cua0'
X .DE
X .*s 3 "sk"
X usage: sk [-a] <str>
X*** /export/home/wht/src/ecu314/doc/_top.txt Wed Sep 4 00:25:11 1991
X--- doc/_top.txt Sun Sep 1 05:07:33 1991
X***************
X*** 11,25 ****
X .sp 2i
X .ft B
X .ce 10
X! ECU 3.13
X
X (Extended Call Utility)
X .ce 0
X .sp 1i
X .ce 100
X! Professional and Engineering
X Asynchronous Communications Package
X! for UNIX and XENIX System V
X .ce 0
X .ft P
X .sp 2i
X--- 11,26 ----
X .sp 2i
X .ft B
X .ce 10
X! ECU 3.15
X
X (Extended Call Utility)
X .ce 0
X .sp 1i
X .ce 100
X! Research and Engineering
X Asynchronous Communications Package
X! for SCO UNIX 3.2 and XENIX System V,
X! SunOS 4.1 and ISC System V Release 4
X .ce 0
X .ft P
X .sp 2i
X***************
X*** 29,38 ****
X .sp 1i
X .ce 100
X Technical Description
X! Revision 3.13
X \n(mo/\n(dy/\n(yr
X .ce 0
X .ls 1
X .PH "'ECU Technical Description''%'"
X .PF "'Public Domain by wht@n4hgf''\n(mo/\n(dy/\n(yr'"
X .nr si 2n
X--- 30,44 ----
X .sp 1i
X .ce 100
X Technical Description
X! Revision 3.15
X \n(mo/\n(dy/\n(yr
X .ce 0
X+ .sp 1i
X .ls 1
X+ NOTE: Many sections of the manual are likely to be obsolete at any given
X+ time until the writer get lots of free time. Much of it was written when
X+ the program was supported only on SCO XENIX and UNIX.
X+
X .PH "'ECU Technical Description''%'"
X .PF "'Public Domain by wht@n4hgf''\n(mo/\n(dy/\n(yr'"
X .nr si 2n
X*** /export/home/wht/src/ecu314/ecu.c Wed Sep 4 00:24:48 1991
X--- ecu.c Mon Sep 2 21:58:59 1991
X***************
X*** 6,11 ****
X--- 6,21 ----
X main(argc,argv,envp)
X xmtr()
X
X+ "Now tell me, old man, what's your name?"
X+ "Holloway, sir. Charles William Holloway."
X+ "Oh yes, the town's librarian."
X+ "I have the honor, sir, and have had for many years."
X+ "I believe all that time spent living through other men's lives,
X+ other men's dreams, what a waste."
X+ "Sometimes, a man can learn more from other men's dreams than he
X+ can from his own. Come visit me sir, if you wish to improve your
X+ education and I may improve yours." -- Something Wicked This Way Comes
X+
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X /*:08-11-1991-19:56-wht@n4hgf-soup up -l for ISC vs. SCO */
X***************
X*** 31,36 ****
X--- 41,53 ----
X #undef NULL
X #include <sys/param.h>
X
X+ #if defined(sun) && defined(FASI)
X+ #undef FRASI
X+ #endif
X+ #if defined(sun) && defined(MORSE)
X+ #undef FRASI
X+ #endif
X+
X char *getenv();
X
X extern char *makedate; /* temporary make date */
X***************
X*** 54,59 ****
X--- 71,77 ----
X extern int tty_is_multiscreen;
X extern char lopen_err_str[];
X
X+ char *eculibdir = ECULIBDIR;
X char curr_dir[CURR_DIRSIZ]; /* current working directory of process */
X char hello_str[128]; /* msg printed upon BOJ */
X char errmsg[128];
X***************
X*** 68,73 ****
X--- 86,92 ----
X int xmtr_pid = 0;
X int quit_on_init_proc_fail = 0;
X int quit_on_init_proc_done = 0;
X+ int rc_ep_has_run = 0;
X int hz; /* HZ from environ or sys/param.h */
X ulong hzmsec; /* clock period in msec rounded up */
X struct timeb starting_timeb;
X***************
X*** 217,222 ****
X--- 236,242 ----
X shm_init(); /* open shared segment */
X
X keyset_init(); /* intialize keyset */
X+ keyset_read("default");
X
X make_ecu_subdir(); /* needs to be very early before lots of init */
X
X***************
X*** 306,316 ****
X ttyinit(shm->ttyinit_param); /* init console tty mode handler */
X ttymode(3); /* put user console in `raw' mode but SIGINT terms prog */
X tcap_clear_screen();
X! #ifdef WHT
X xterm_title("ECU",0);
X #endif
X ff(se,"%s\r\n",hello_str);
X
X /* check out line */
X if(!shm->Lline[0])
X {
X--- 326,347 ----
X ttyinit(shm->ttyinit_param); /* init console tty mode handler */
X ttymode(3); /* put user console in `raw' mode but SIGINT terms prog */
X tcap_clear_screen();
X! #if defined(WHT) || defined(XTERM_FRIEND)
X xterm_title("ECU",0);
X #endif
X ff(se,"%s\r\n",hello_str);
X
X+ /* do the _rc.ep execution */
X+ if(find_procedure(_rc))
X+ {
X+ if(do_proc(1,&_rc))
X+ {
X+ if(quit_on_init_proc_fail || quit_on_init_proc_done)
X+ termecu(TERMECU_INIT_PROC_ERROR);
X+ }
X+ }
X+ rc_ep_has_run = 1;
X+
X /* check out line */
X if(!shm->Lline[0])
X {
X***************
X*** 329,344 ****
X strcpy(shm->Lline,default_tty);
X Nap(1000L);
X }
X- }
X- }
X-
X- /* do the _rc.ep execution */
X- if(find_procedure(_rc))
X- {
X- if(do_proc(1,&_rc))
X- {
X- if(quit_on_init_proc_fail || quit_on_init_proc_done)
X- termecu(TERMECU_INIT_PROC_ERROR);
X }
X }
X
X--- 360,365 ----
X*** /export/home/wht/src/ecu314/ecu.h Wed Sep 4 00:25:04 1991
X--- ecu.h Tue Sep 3 19:26:16 1991
X***************
X*** 20,28 ****
X--- 20,33 ----
X #define VOLATILE
X #endif
X
X+ #if defined(__sun__) && !defined(sun)
X+ #define sun
X+ #endif
X+
X #if !defined(STDIO_H_INCLUDED)
X #include <stdio.h>
X #endif
X+
X #include <signal.h>
X #include <ctype.h>
X #include <sys/types.h>
X***************
X*** 29,42 ****
X #include <errno.h>
X #include <sys/timeb.h>
X #include <string.h>
SHAR_EOF
true || echo 'restore of PATCH5.01 failed'
fi
echo 'End of ecu/patch05 part 1'
echo 'File PATCH5.01 is continued in part 2'
echo 2 > _shar_seq_.tmp
exit 0
exit 0 # Just in case...