home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
CKPM5X_S.ZIP
/
CKOKER.UPD
< prev
next >
Wrap
Text File
|
1990-05-02
|
20KB
|
340 lines
Update file started 18-Feb-90. This does not contain any of the
details of the chagnes made to convert Chris Adies CKOKER 1.0p into a
Presentation Manager kermit. Part of this conversion involves the
addition of files CKOPM1.C, CKOPM2.C, CKOTEK.C, CKOPM.H, CKOKEY.H,
CKOFNS.H, CKOSTD.C, CKODRV.C.
CKOKER must now be compiled using the MicroSoft C 5.1 multithread
runtime library and it's attendant include files. I do not refer
directly to any of the multithread include files. They are reference
by using the INCLUDE environment variable. Since the PM and OS2
include files are normally installed in the \include directory
togehter with the regular includes and the multithread includes in
the \include\mt directory the INCLUDE environment variable should be
set up as follows (assuming hard drive C:);
SET INCLUDE = C:\INCLUDE\MT;C:\INCLUDE
This ensures that the mt includes are looked at first.
What other compilers do for handling multithreaded applications I
don't know. If anyone wants to compile with a different compiler
then they'll have to figure it out for themselves. To date there are
3 threads, apart from the main thread, created specifically by the program.
One in CKOCON.C, one in CKOPM1.C and one to impliment the alarm interrupt in
CKOTIO.C.
CKUUS3.C - trmtab changed to include tek4014 and vt100 options.
- doprm() case XYTERM modified to handle the new term
options.
CKUUS2.C - dohset() case XYTERM changed to sho info relevant to the
new SET TERM commands.
CKCDEB.H - OS/2 defines putchar as a macro not a function. It must
therefore be undefined before compilation. The #undef
command is in this file. This file MUST now be placed
after all the normal system includes but note that it
should go before the kermit includes. It had to be moved
in the CKO files, and in CKUDIA.C, CKUSCR.C, CKUUS2.C,
CKUUS3.C, CKUUSR.C
CKUCMD.C - VioScrollUp and VioSetCurPos replaced with the AVIO equivalents.
22-Feb-90 Herald date changed to 22-Feb-90 (in ckotio.c)
CKUUS3.C - Support for setting the hardware handshaking lines on the PC under
OS/2. This saves having to run "MODE.COM" to set each port each
time kermit is started.
Changes made to keytab struct flotab, case XYFLOW and a new function
os2_set_hand added.
CKUUS2.C - Help for XYFLOW modified.
CKOTIO.C - os_set_flow modified to read the DCBINFO first. It now sets values
which should correspond to the MODE ODSR, IDSR and OCTS commands.
23-Feb-90
CKOTIO.C - os_set_flow modified some more to set the bits properly! dsr etc.
default to ON, which is the system default.
******************** The following updates refer to version 5A files *******
CKOKER.MAK - CKUUS4.C, CKCFN3.C, CKCXLA.C added
CKUUS4.C - #include "ckcdeb.h" moved to after the system includes.
CKWART.C - #include "ckcdeb.h" moved to after the system includes.
CKCDEB.H - OS/2 undef of putchar()
CKCKER.H - More ASCII mnemonics added plus codes for diferent terminal modes.
These are not defined specific to OS/2 as they can be used by anyone.
CKUCMD.C - VioScrollUp and VioSetCurPos replaced with the AVIO equivalents.
CKUUS3.C - trmtab changed to include tek4014 and vt100 options.
- doprm() case XYTERM modified to handle the new term
options. These changes are defined as OS/2 specific.
CKUUS2.C - dohset() case XYTERM changed to sho info relevant to the
new SET TERM commands. These changes are defined as OS/2 specific.
CKUUSR.C - ckcdeb.h moved. File to big to compile, MSCs annoying "out of heap"
message. With 14Mb, or something like that or virtual memory how can
this happen!!!! So docmd() moved to new file CKUUS5.C
CKOKER.MAK and CKOKER.LNK - ckuus5.c added
CKUUS4.C - Definition of SIGALRM and alarm() added. OS/2 specific.
CKCDEB.H - Braketed typdefs of long and char with #ifndefs. These definitions
are made in the OS.2 headers. However these headers are not included
in all kermit files. Trying to typedef a second time them causes
an error.
CKOKER.MAK - CKWART.C removed from make and link, not needed!!
---------------------------------
20-Feb-90 C.P.Armstrong
CKOKER.MAK - Several attempts made to get 5A kermit to compile and
link, so far to no avail. Matters not helped by me not
really knowing what I'm doing. Using the /Gt compile
flags permits kermit to compile and link successfully.
However it wont run, giving a protection error. Using
codeview I've isolated this to the malloc statment in
the printf() function in ckostd.c. I've come accross
this problem with malloc() before and I've no idea what
to do about it.
CKUUSR.C - The new reduced size one (19 Feb 90). ckcdeb.h moved
"#endif COMMENT" changed to "#endif /* COMMENT */" at lines
879 and 1256.
- #include "ckcdeb.h" moved to after the system includes.
- The "#ifdef NETCONN"s around netcmd and nnets removed as they
are referenced in CKUUS3.C
CKUUS4.C - #include "ckcdeb.h" moved to after the system includes. But before
all other include.
Definition of SIGALRM and alarm() added. OS/2 specific.
CKUUS5.C - all local includes moved to after the system include.
CKUUS3.C - trmtab changed to include tek4014 and vt100 options.
- doprm() case XYTERM modified to handle the new term
options. These changes are defined as OS/2 specific.
- #include "ckcdeb.h" moved to after the system includes.
- Term_mode declared external.
CKUUS2.C - dohset() case XYTERM changed to sho info relevant to the
new SET TERM commands. These changes are defined as OS/2 specific.
#include "ckcdeb.h" moved to after the system includes.
23-Feb-90 Files from 22-Feb-90
CKUUS3.C - Characters after #endif's removed.
- ttyptab[] defined in wrong part of #ifdef. Moved to OS2 bit
CKCKER.h - Restored definitions of FF and ESC with #ifndef's.
CKUCMD.h - Only define FF and ESC if not already defined
For some reason ckucmd.h has an OS2.H include in it. So
when it is included in a cko???.c file, as is necessary if
FF and ESC are moved to ckucmd.h instead of being in
ckcker.h, along with the other ASCII definitions, all the
OS/2 definitions get redefined, which gives an error.
Since I generally don't need anything in ckucmd.h in the
cko??? files I'd rather not have to have it just to
include OS2.H. Especially with an INCL_ I don't need,
which brings in more stuff than necessary which will cause
the "out of heap" compiler error.
CKUUS5.C - zfindfile() declared correctly.
25-Feb-90
CKOTIO.C - The alarm functions modified a bit. Now uses _beginthread to start
the thread - maybe this was causeing the system crashes...
- ttinc() modified wrt timeouts. The "untimed" timeout
setting assumed rdch() returned immediately if no char
waiting. Not so. The DosRead waits forever and is
impervious to the alarm signals for some reason. So
ttinc() for "untimed" reads sets a timeout of 0.1s then
goes ahead and repeatedly checks the rdch() return value
for a character.
ttinc() parameter now sets the number of centiseconds, not the
number plus 1cs. A param of 0 means indefinite wait.
CKUUS4.C - When a timer event occurs it should be acknowledged. Acknowledge
call put into doinput() (OS/2 specific).
- doinput() character wait loop seems a little inconsistent. If
ttinc(0) means wait forever then putting a keyboard interrupt check
after ttinc returns does not allow interruption.
The while loop terminates if a negative value of y is returned. But
in the loop a negative value is checked for.
While loop therefore changed to continuous. ttinc() value changed to
5cs.
No error checking for communications problems. But the timeout should
be sufficient.
26-Feb-90 Files of 25-Feb-90
CKUUS4.C - signal() function in doinput() replaced by custom OS/2 version.
- signal must be acknowledged after resetting to default. alarmack()
added for OS/2.
- OS/2 version configured so that the user can stop the input wait
by hitting the keyboard (gentley!).
Note that the OS/2 routine in ttinc() has it's own set of timeout
parameters and is completely unaffected by the timer used to interrupt
the input routine.
I messed around with the {} layout to make suer I was doing the
right thing in the right place - I just can't figure out whats going
on when the {} pairs aren't obvious.
- Put coninc() in doinput() to swallow the user keyboard interruption
character.
CKOTIO.C - ttgsp() added. This simply calls ttspeed() which was already there!
CKUUSR.C - output misses off the first character. The for(;;) construct has been
replaced with while(*s++). This seems to increment *s before doing
the test (very risky on NUL strings under OS/2!!!). Changed it to
(*s)++ to see if helps it do the test then increment to the next char.
It didn't work - I got lots of characters, as if it was printing a
character table (amazingly no protection fault!).
So, in the interests of simplicity I changed it back to the original
for(;;) loop, for OS/2 only, as the only change to that bit was the
return code.
28-Feb-90 Files of (116)
All files compiled okay!
CKOTIO.C - the INPUT command now relies on coninc() and ttinc() waiting if a
time is specified, coninc() didn't and ttinc() waited centiseconds
instead of seconds. So coninc() now uses a times getch routine if
necessary, coninc(0) is assumes to mean indefinite wait. ttinc()
now converts it's parameter to seconds (i.e. (timo-1)*100).
CKOPM1.C - Timed getch routine added - buff_tgetch(). Takes a parameter
of milliseconds (this seems to be the OS/2 unit of time).
02-Mar-90 Core files downloaded am 02-Mar-90
CKUCMD.C - Bits in the "#ifdef COMMENT" cause an error.
"char *xx;" added. No idea where COMMENT is defined, couldn't
find it in the kermit includes.
04-Mar-90 Core files downloaded 03-Mar-90
CKUCMD.C - As above.
CKOTEK.C - Shift printscreen should dump the Tektronix plot to the printer.
CKOPM2.C - VK_PRINTSCRN chnaged to VK_SHPRINTSCRN if the shift key is down when
the PrintScreen button is pressed.
CKOCON.C - vt100read modified. Screen rollback loop moved to separate function
called screen_rollback().
- scankey() modified to trap VK_PRINTSCRN and call function to dump
the AVIO screen to the printer. Putting the trap in here allow
rolled back screens to be dumped. Another trap should probably be
inserted to allow dumping of the command line mode screen.
CKCKER.H - Definitions for ODSR, IDSR, OCTS added.
CKUUS3.C - SET FLOW ODTS OCTS or IDSR added.
CKUUS2.C - Help for the new set flow commands.
CKOTIO.C - os2_set_hand() command put in here.
07-Mar-90
CKOCON.C - Buffering system installed to reduce the number of WinPostMsg
calls requried for displaying a line. Seems to speed things a
little.
CKOPM2.C - New avio_command message defined. Same as WRCCHRSTAT except that
the string to be printed is "free()"d after printing and there is
no need for the main thread to wait for the PM thread to print the
string.
CKOPM.H - definition of WRCCHSTATD.
11-Mar-90
CKOPM1.C - New function to put the Vio cursor in the window when input is
requested and after a Vio resize. Works great with Vaxes but not
so well with the IBM3090 XEDIT which always puts the cursor at the
bottom. Never mind, you need the full screen with XEDIT anyway.
CKOPM.H - definition of WM_CURCHECK.
24-Mar-90 C.P.Armstrong
CKUUS4.C - Created a SESOPN function to perform opening and closing of
the session log similar to debopn(). This is so the new menu
commands can call the same opening function as the regular commands
thus preventing unnecessary duplication.
debopn() modified to simply close the file if a nul string is
sent.
tralog() and pktlog() created.
CKOPM3.C - This new file contains all (so far) of the menu and dialog handling
routines. So far the "Communications...", "Terminal..."
and "Logging..." menu items have prototype routines. The
terminal one is the most complete, it works whether in
connect mode or not. The communications dialog does not
check to see if the line is open already, so it has no
effect when in connect mode. It does not check to see if
a valid port has been entered - this involves re-writing
quite a bit of the non-PM thread stuff. The logging stuff
works in both connect and command line mode. I don't know
about during file transfer. Logging makes no allowances
for the compiler options which exclude loggin or
transaction logging. The logging dialog should maybe have
a list of files, with the option to edit the list
selector/default extension.... one day.
It would be nice to be able to disable the terminal
tektronix dump format buttons when vt100 mode is selected,
it doesn't appear to be possible at present. There is the
option to switch of the dump file - it should be included
in the dialog.
CKORC.RC - This replaces the ckoptr.rc. It contains all the resource
stuff such as pointers, dialogs, menus.
CKORC.H - Contains all the #defines for the resources.
CKOCON.C - Couldn't use ipadl25() from the PM thread to reflect the
change in terminal emulation caused by the menu item
during connect mode. This because of the semaphoring
using when passing strings etc. for display from the
non-PM thread to the PM thread**. ipadl25() uses many such
semaphores. When the PM-thread sets them from a dialog
and then waits for itself to clear them we get deadlock as
the PM-thread is "suspended" while doing dialogs. So
scankey() now does an ipadl() when it gets a null return
value. It swallows the null.
** This problem might be avoided by using WinMsgSemWait().
Minor changes to ckodrv, ckopm1, ckopm2, ckotio.
02-Apr-90 C.P.Armstrong
CKORC.RC
CKORC.H
CKOPM3.C - The "Edit" menu is now implimented. It is now possible to copy
text from the VT100 window to the clipboard and to paste text from
the clipboard into the keyboard input buffer. Pasted text is
therefore treated as if it had been entered from the keyboard.
The keyboard buffer input routine now detects when the buffer is
full and waits for the output routine to make space. This is because
the "Paste" function can enter text much more rapidly than the output
routine can remove it and transmit it. Text is marked by moving the
mouse with the "left" button depressed. Text marking at present is
a little slow, but I'll speed it up eventually.
05-Apr-90 C.P.Armstrong
CKOPM1,2,3,4 - Rearrangement of the modules in these files to get around the
exasperating "out of near heap" generated by MSC5.1 CKOPM1.C is
now down to about 700 lines!!!!! Why it wont compile I've no idea
especially as over 2000 (although it's at bursting point).
CKOPM4.C - The Gpi window now loads a custom font for use in the Tektronix
window. This is an image fixed spacing font small enough not to
overlap at the spacing corresponding to the Tektronix spacing. This
is much more legible than using the system font. Unfortunately the
only way to use the font is to have it as a separate file. The
a-holes at IBM/MS have set things up so you can't attach a font
to the end of a .exe like you can a menu, or dialog or pointer or
bitmap. Don't ask me why? The font is loaded with GpiLoadFonts. This
is another prime example of a-holery. All the ref.mans. say use
.FON for a font file extension. So you give LoadFonts the filename
ckofon.fon expecting it to look in libpath or the current directory.
Does it hell. I've no idea where it looks. So you miss off the
extension and what does it supply..... .DLL. Who are these people,
what the hell are they playing at. Since the function uses libpath
why the hell can't it look for what it's told to in libpath. What
else does LoadFonts do? It just LoadsFonts right. So why the hell
does it supply .DLL - give me strength. So the font file is called
CKOFON.DLL so it can go into a users libpath. Of course this
extension means a user must rename it if it wants to load the
font publicly, thus causing kermit to fail to load it, so there must
be two copies, causing user to run out of disc space even sooner.
The other files required to make CKOFON.DLL are;
CKOTEK.FNT The image Tektronix font (one day it'll be a
vector font when I find out how to do it.)
This file is created using FONTEDIT and is
binary.
CKOFON.ASM The dummy code segment for the .DLL file
CKOFON.RC The resource compiler file
CKOFON.DEF The linker definition file which causes the
linker to build a dynamic link library. It
supplies the extension .DLL automatically.
02-May-90 C.P.Armstrong
CKCDEB.H - Tried to compile with MSC 6.0. Ugh, why do they do it?
Files which previously produced no warnings (let alone errors!) now
spew warnings left right and center. However there seems to be a
serious problem with either the linker or the compiler. The standard
C RTL functions printf(), puts() and putchar() don't work with
Advanced VIO. So I've written versions which do, to replace the RTL
ones. My printf() and puts() are used okay but the putchar()
function generates a "symbol defined more than once" during linking -
in spite of the fact that I am using /NOE and /NOD. I don't know why
it's doing this. The only way to stop it is to change the name of
putchar(). Horrible I realise but it's the only way.
CKOFNS.H - Changes related to above.
CKOSTD.C - Ditto
CKUSCR.C - #include "ckcdeb.h" moved to where it should have been in the
first place.
CKUDIA.C - Ditto