Mark,

Here, at last, are the new C-Kermit 5A source files.  I had to stop (well,
pause) some time.  So now I'm sending them around to "people who count" (one,
two, three...) and taking a break for a while.  It would be incredibly good if
this could be brought up under VMS pretty quickly, and we could release 5A as
a package deal for both UNIX and VAX/VMS.  People out there are desparate for
"something better", and it's been a loooooong time.

Thought I'd better jot down a few things you should watch out for:

There are some new modules, so I changed CKVKER.COM to include them (untested):

  CKUUS4.C, CKUUS5.C, CKCNF3.C, CKCXLA.C.

Definitions of symbols for ASCII characters were consolidated into a new
header file, CKCASC.H.  When compiling your CKV files, like CKVCON.C, you
might get complaints about undefined symbols like SP and BEL -- if so, add:

  #include "ckcasc.h"

After doing this, if you get undefined symbols (and you will, you will), look
in the CKUTIO.C and CKUFIO.C modules to see how they are defined there, and
then add the corresponding variables, functions, etc, to the corresponding
CKV*.* modules.

I also noticed that some of the CKV*.C modules referred to the datatype CHAR,
but did not include CKCDEB.H, where CHAR is defined (typedef'd to unsigned
char).  If you get complaints about this while compiling, add:

  #include "ckcdeb.h"

Check the UNIX makefile, CKUKER.MAK, to see the dependencies.  Too bad we
can't just add VMS into this same makefile (maybe we can? there must be a MAKE
for VMS by now! of course we'd still need CKVKER.COM for those who don't have
MAKE...)  I did make some attempt to update CKVKER.COM to include all the
new modules, but you'll have to check it.

As you can see from reading CKUKER.UPD, I did a lot of work since you last saw
these files.  In particular, there is a framework of commands and variables
that should be useful to you, like SET FILE { ORGANIZATION, BLOCKSIZE,
RECORD-LENGTH, CARRIAGE-CONTROL }.

Another thing that's new is a SET HOST command.  Currently it only works for
TCP/IP telnet connections, but you might want to add DECnet SET HOST (CTERM
and/or LAT) support.  To do this, define the symbol NETCONN to have the
commands compiled into CKUUS*.C, and then modify CKVTIO.C and CKVCON.C to do
the right stuff (see CKUTIO.C and CKUCON.C for the TCP/IP telnet example).
There already is a command SET NETWORK { TCP, DECNET }, and the default for
VAX/VMS is DECnet

 (the variable is "nettype" and the value is NET_DEC, defined
in CKCKER.H).

There are a few new functions in CKUTIO.C which you will have to replicate in
CKVTIO.C.  I'm not sure I can remember all of them, but your linker will
complain about anything that's missing.  One of them is ttgspd(), which
returns the transmission speed of the currently selected line as an integer,
like 9600.

In ckutio.c, the ttinl() function must not discard characters.  I don't know
if yours ever did, but I know mine did.  The reason characters can't be
discarded any more is because of sliding windows.  If you look at the totally
rewritten ttinl() in CKUTIO.C, you'll see how it was redone to manage its own
buffer, use macros for i/o to be efficient, etc.  I can't wait to see sliding
windows work on VMS!

The international character set stuff should just work as is -- I've already
got support in there for DEC MCS as well as Latin-1 and almost every 7-bit NRC
you've ever heard of.

