Skip to content

Latest commit

 

History

History
436 lines (414 loc) · 70.5 KB

code-index.md

File metadata and controls

436 lines (414 loc) · 70.5 KB

Index to the Kermit 95 Codebase

The goal of this page is to help find relevant code a little bit faster as the various filenames are not always obvious.

/kermit/k95

This directory contains the code for all the text-mode applications, all of the DLLs (except p95.dll), and the Windows GUI (k95g.exe, in the kui subdirectory)

Code shared with C-Kermit for Other Platforms

This code all comes from C-Kermit for UNIX. Its syncronised with upstream on a regular basis.

Filename Title Notes
ckcasc.h Mnemonics for ASCII control characters
ckcdeb.h This header is included everywhere
ckcfn2.c System-independent Kermit protocol support functions, part 2
ckcfn3.c Packet buffer management for C-Kermit
ckcfns.c System-independent Kermit protocol support functions, part 1
ckcftp.c FTP Client for C-Kermit
ckcftp.h Prototypes for static functions defined in ckcftp.c
ckcker.h Symbol and macro definitions for C-Kermit
ckclib.c C-Kermit Library routines
ckclib.h C-Kermit library routine prototypes
ckcmai.c Main program for C-Kermit plus some miscellaneous functions
ckcmdb.c malloc debugger
ckcnet.c Network support
ckcnet.h Symbol and macro definitions for C-Kermit network support
ckcpro.c C-Kermit Protocol Module Formerly generated from ckcpro.w with wart
ckcsig.h Definitions and prototypes for signal handling
ckcssl.h Mostly redefines a bunch of OpenSSL stuff with a ck_ prefix
ckcsym.h Not used
ckctel.c Telnet support
ckctel.h Symbol and macro definitions for C-Kermit telnet support
ckcuni.c Unicode/Terminal character-set translations
ckcuni.h Unicode/Terminal character-set translations
ckcxla.h System-independent character-set translation header file for C-Kermit
cku2tm.c
ckuat2.h Kerberos headers for C-Kermit
ckuath.c Authentication for C-Kermit
ckuath.h "C-Kermit to Authentication" interface
ckucmd.c Interactive command package for Unix
ckucmd.h Header file for interactive command parser
ckucns.c Terminal connection to remote system, for UNIX
ckucon.c Terminal connection to remote system, for UNIX
ckudia.c Module for automatic modem dialing
ckupty.c C-Kermit pseudoterminal control functions for UNIX
ckupty.h Includes and definitions for ckupty.c
ckuscr.c expect-send script implementation
ckusig.c Kermit signal handling for Unix and OS/2 systems
ckusig.h Definitions and prototypes for signal handling
ckustr.c string extraction/restoration routines
ckuus2.c User interface strings & help text module for C-Kermit
ckuus3.c "User Interface" for C-Kermit, part 3
ckuus4.c "User Interface" for C-Kermit, part 4
ckuus5.c "User Interface" for C-Kermit, part 5
ckuus6.c "User Interface" for C-Kermit, part 6
ckuus7.c "User Interface" for C-Kermit, part 7
ckuusr.c "User Interface" for C-Kermit (Part 1)
ckuusr.h Symbol definitions for C-Kermit ckuus*.c modules
ckuusx.c "User Interface" common functions.
ckuusy.c "User Interface" for C-Kermit Kermit, part Y
ckuver.h C-Kermit UNIX Version heralds
ckuxla.c C-Kermit tables and functions supporting character set translation.
ckuxla.h C-Kermit tables and functions supporting character set translation.
ck_crp.c Encryption Engine Mostly DES/CAST stuff for telnet
ck_des.c libDES interface for Kermit 95
ck_ssl.c OpenSSL Interface for C-Kermit
ck_ssl.h OpenSSL Interface Header for C-Kermit
README.TXT C-Kermit Readme file for the cross-platform Unix/linux/VMS version, not windows/os2

Kermit 95 for Windows and OS/2

This code is used on both Windows and OS/2.

Filename Title Notes
ckoadm.c ADM-3A Emulation
ckoadm.h ADM-3A Emulation
ckoath.c Authentication for Kermit 95
ckoath.h Authentication for Kermit 95
ckoava.c AVATAR Emulation
ckoava.h Header for AVATAR Emulation
ckoco2.c Kermit connect command for OS/2 systems and Windows VScrn functions
ckoco3.c Kermit connect command for OS/2 systems and Windows A lot of escape sequence processing for the terminal emulator happens in here
ckoco4.c Kermit connect command for OS/2 systems and Windows
ckoco5.c Kermit connect command for OS/2 systems and Windows
ckocon.c Kermit connect command for OS/2 systems and Windows
ckocon.h OS/2 Kermit 95 keyboard verb definitions & tables.
ckodg.c Data General Emulation
ckodg.h Header for Data General Emulation
ckodir.h A public domain implementation of BSD directory routines for MS-DOS
ckoetc.c OS/2 etc module Contains some encryption bits
ckoetc.h OS/2 etc module
ckoetc2.c Blowfish algorithm
ckofio.c Kermit file system support for OS/2
ckohp.c Hewlett-Packard Emulation
ckohp.h Header for Hewlett-Packard Emulation
ckohzl.c Hazeltine 1500 Emulation
ckohzl.h Header for Hazeltine Emulation
ckoi31.c IBM 31x1 Emulation
ckoi31.h Header for IBM 31x1 Emulation
ckoker.h some common definitions for Kermit 95 on OS/2 and Windows
ckoker.mak Makefile Makefile for Kermit 95 on OS/2 and Windows
ckokey.c Kermit Keyboard support for OS/2 and Win32 Systems
ckokey.h Kermit Keyboard support for OS/2 and Win32 Systems
ckokvb.h Keyboard key definitions
ckolat.h LAT support definitions
ckomou.c Kermit mouse support for OS/2 systems
ckonbi.h NetBios support
ckonet.c OS/2 and Win32 specific network support
ckonet.h OS/2 and Win32 specific network support
ckop.c P.DLL/P95.DLL support
ckop.h P.DLL/P95.DLL support
ckoqnx.c QNX Emulation
ckoqnx.h Header for QNX Emulation
ckoreg.c Kermit interface for MS Win32 Registry
ckoreg.h Kermit interface for MS Win32 Registry
ckosftp.c SFTP support Not currently used
ckosftp.h SFTP support Not currently used
ckosig.c Kermit signal handling for OS/2 and Win32 systems
ckoslp.c Kermit interface to the IBM SLIP driver
ckoslp.h Kermit interface to the IBM SLIP driver
ckossl.c OpenSSL Interface for Kermit 95
ckossl.h OpenSSL Interface for Kermit 95
ckosslc.c OpenSSL Interface for Kermit 95
ckosslc.h OpenSSL Interface for Kermit 95
ckosyn.c Kermit synchronization functions for OS/2 and NT systems
ckosyn.h OS/2 Kermit 95 Synchronization function prototypes
ckotek.c Tektronix Emulation
ckotek.h Tektronix Emulation
ckothr.c Kermit thread management functions for OS/2 and NT systems
ckothr.h Kermit thread management functions for OS/2 and NT systems
ckotio.c Kermit communications I/O support for OS/2 systems
ckotvi.c Televideo Emulation
ckotvi.h Header for Televideo Emulation
ckouni.h Unicode/Terminal character-set translations
ckovc.c Volker Craig VC4404/404 Emulation
ckovc.h Header for Volker Craig VC4404/404 Emulation
ckowin.h Kermit GUI Windows support - Generic
ckowys.c Wyse Emulation
ckowys.h Header for Wyse Emulations
ckozli.c ZLIB Interface Source for Kermit 95 Not used?
ckozli.h ZLIB Interface Source for Kermit 95 Not used?
compiler_detect.mak Makefile that tries to detect the compiler currently in use
feature_flags.mak Makefile for processing enabled/disabled feature flags
getopt.c Used by SRP support
getopt.h Used by SRP support
p.h P.DLL/P95.DLL interface header
p_brw.c P.DLL/P95.DLL interface
p_brw.h P.DLL/P95.DLL interface
p_callbk.c P.DLL/P95.DLL interface
p_callbk.h P.DLL/P95.DLL interface
p_common.c P.DLL/P95.DLL interface
p_common.h P.DLL/P95.DLL interface
p_dir.c P.DLL/P95.DLL interface
p_dir.h P.DLL/P95.DLL interface
p_errmsg.h P.DLL/P95.DLL interface
p_error.c P.DLL/P95.DLL interface
p_error.h P.DLL/P95.DLL interface
p_global.c P.DLL/P95.DLL interface
p_global.h P.DLL/P95.DLL interface
p_module.h P.DLL/P95.DLL interface
p_omalloc.c P.DLL/P95.DLL interface
p_omalloc.h P.DLL/P95.DLL interface
p_tl.c P.DLL/P95.DLL interface
p_tl.h P.DLL/P95.DLL interface
p_type.h P.DLL/P95.DLL interface
rlogin.c Rlogin stub for Kermit 95
setup.c Kermit 95: Text-mode setup program setup.exe: The old Kermit 95 setup program. I assume this was only used on 1.x - the final release (2.1.3) used InstallShield.
srp-passwd.c srp-passwd.exe: part of SRP support
srp-tconf.c srp-tconf.exe: part of SRP support
telnet.c Telnet stub for Kermit 95
textps.c Convert plain text to Postscript textps.exe

Windows-Only

This code and other stuff is only used on Windows (if its absent, OS/2 should still build fine)

Filename Title Notes
cknalm.c Kermit alarm functions for Windows 95 systems
cknalm.h Kermit alarm functions for Windows 95 systems
ckndde.c Kermit Dynamic Data Exchange support for Win32 unused?
cknker.def Module definition file for k95.exe/cknker.exe
cknker.exe.manifest
cknker.ico
cknker.rc Resource script for k95.exe/cknker.exe
cknlat.h DECnet/LAT support for Kermit 95
cknnbi.c Win32-specific NetBios support
cknprt.c Win32 Printing support?
cknpty.c Windows ConPTY Interface for Kermit 95
cknpty.h Windows ConPTY Interface for Kermit 95
cknsig.c Kermit signal handling for Win32 systems
ckntap.c Kermit Telephony interface for MS Win32 TAPI systems
ckntap.h Kermit Telephony interface for MS Win32 TAPI systems
ckntel.c Kermit Telephony interface for MS Win32 TAPI systems
ckntel.h Kermit Telephony interface for MS Win32 TAPI systems
cknver.h Internal version numbers used by Kermit 95
cknwin.c Kermit GUI Windows support for Win32 systems
cknwin.h Kermit GUI Windows support for Win32 systems
ckorbf.c A simple ring-buffer implementation for the SSH Subsystem
ckorbf.h A simple ring-buffer implementation for the SSH Subsystem
ckolshs.c Kermit 95 libssh SSH Subsystem
ckolshs.h Kermit 95 libssh SSH Subsystem
ckolssh.c LibSSH SSH Subsystem Interface for Kermit 95
ckolssh.h LibSSH SSH Subsystem Interface for Kermit 95
ckossh.c SSH Subsystem Interface for Kermit 95
ckossh.h SSH Subsystem Interface for Kermit 95
ck_crp.def Module definition file for k95crypt.dll
clean-dist.bat Cleans the dist directory
clean.bat Deletes all files produced by a windows build
conptydll.c Example Net DLL that uses ConPTY
conptydll.def Example Net DLL that uses ConPTY
conptydll.mak Example Net DLL that uses ConPTY
ctl3dins.c ctl3dins.exe: Tool for installing ctl3dins and maybe the C Runtime on windows
iksd.c Utility to start the Internet Kermit Service as a user process (for Windows 9x)
iksdsvc.c Windows Internet Kermit Service Daemon Windows NT Service
k95.ini Default initialisation file for Windows
k95custom.ini Default user customisation file for Windows
k95d.c k95d.exe - Host mode server
k95d.cfg Configuration file for k95d.exe
k95f.ico
k95g.exe.manifest Gives the GUI version of K95 modern UI controls on Windows XP and newer
k95g.ico
mk.bat Windows build script - builds all GUI + console
mkdist-os2.bat Windows to OS/2 cross compile build script - copies built artifacts to an os2 dist folder
mkdist.bat Windows build script - copies build results to a dist folder
mkg.bat Windows build script - builds the GUI (k95g.exe)
mkgd.bat Windows build script - debug build of the GUI (k95g.exe)
mkiksd.bat Builds iksdnt.exe, a variant of k95.exe that has most stuff but the IKS server stripped out
mkkui.bat Builds the mysterious KUI configuration of K95G called cknkui.exe
mknt.bat Windows build script - everything but k95g.exe
mkntd.bat Windows build script - debug build of everything but k95g.exe
mkos2.bat Windows build script - build Kermit 95 for OS/2 on a Windows host (cross-compile)
mkos2d.bat Windows build script - debug build of Kermit 95 for OS/2 on a Windows host (cross-compile)
se.c se.exe - shell execute utility
settapi.c setup.exe: TAPI code for the old console-based install program
welcome.txt Welcome banner shown from the default k95custom.ini
wsetup.def Kermit 95 NT Setup setup.exe module definition file
wtelnet.def Kermit 95 for Win32 Telnet telnet.exe module definition file

GUI Only

Filename Title Notes
ckcxxx.c Kermit 95 variable declarations for GUI
ckcxxx.h Kermit 95 variable declarations for GUI
resource.h Resource header for kui.rc (part of k95g.exe)
kui/altx.bmp Terminal/command icon. Not used?
kui/bitmap1.bmp IDB_BITMAP1
kui/bmp00001.bmp IDR_TOOLBARCOMMAND
kui/bmp00003.bmp Phone hangup icon. Not used.
kui/ckcxxx.h Kermit 95 variable declarations for GUI
kui/dial.bmp Not used?
kui/icon1.ico
kui/iconk95.ico
kui/ikcmd.c
kui/ikcmd.h
kui/ikextern.h
kui/ikterm.cxx Class: IKTerm, Constructed by: KClient Terminal interaction, keyboard events, etc
kui/ikterm.h Class: IKTerm, Constructed by: KClient
kui/ikui.cxx C Interface to KUI (Functions called by the rest of K95 to do GUI things)
kui/ikui.h
kui/k95.ico
kui/k95a.ico
kui/k95f.ico
kui/k95g.ico
kui/kabout.cxx Class: KAbout
kui/kabout.hxx Class: KAbout handles the display of the about box
kui/kappwin.cxx Class: KAppWin Window sizing, display user manual
kui/kappwin.hxx Class: KAppWin base class for application windows.
kui/karray.cxx Class: KArray
kui/karray.hxx Class: KArray simple utility array class used to hold anything
kui/kclient.cxx Class: KClient Terminal drawing code lives here.
kui/kclient.hxx Class: KClient base class for main window's client area.
kui/kcmd.h
kui/kcustdlg.cxx Class: KStatusCustomDlg Not currently user-accessible (menu item not present)
kui/kcustdlg.hxx Class: KStatusCustomDlg status bar customization dialog box.
kui/kdefs.h Misc defs
kui/kdwnload.cxx Class: KDownLoad File dialog primarily used for saving file downloads
kui/kdwnload.hxx Class: KDownLoad download dialog box
kui/kermit95.bmp
kui/kflstat.cxx Class: KFileStatus
kui/kflstat.h Screen line numbers for status dialog
kui/kflstat.hxx Class: KFileStatus file transfer status dialog box
kui/Kfont.cxx Class: KFont
kui/kfont.hxx Class: KFont a font used by main app window.
kui/kfontdlg.cxx Class: KFontDialog Not currently user-accessible (menu item not present)
kui/kfontdlg.hxx Class: KFontDialog font dialog box
kui/khwndset.cxx Class: KHwndSet
kui/khwndset.hxx Class: KHwndSet keeps track of KWin - HWND pairings
kui/kmenu.cxx Class: KMenu
kui/kmenu.hxx Class: KMenu main window's menu bar.
kui/kprogres.cxx Class: KProgress Progress bar used on the file transfer status window
kui/kprogres.hxx Class: KProgress
kui/kregedit.cxx Class: KRegistryEdit set/get Font and coordinates to/from the registry
kui/kregedit.hxx Class: KRegistryEdit win95 registry functions
kui/kscroll.cxx Class: KScroll
kui/kscroll.hxx Class: KScroll client area scrollbar.
kui/kstatus.cxx Class: KStatus
kui/kstatus.hxx Class: KStatus main window's status bar.
kui/ksysmets.cxx Class: KSysMetrics
kui/ksysmets.hxx Class: KSysMetrics System Metrics encapsulation
kui/kszpopup.cxx Class: KSizePopup
kui/kszpopup.hxx Class: KSizePopup Popup that shows window size during sizing event
kui/ktermin.cxx Class: KTerminal owns & configures the toolbar, status bar, menu bar, etc. Processes toolbar & menu events
kui/ktermin.hxx Class: KTerminal terminal window (the primary user interface window)
kui/ktoolbar.cxx Class: KToolBar
kui/ktoolbar.hxx Class: KToolBar main window's toolbar.
kui/kui.cxx Class: Kui
kui/kui.hxx Class: Kui message redirector for all main windows. Used for terminal, command and clientserver windows.
kui/kui.rc Resource script
kui/kuidef.cxx
kui/kuidef.h K_GLOBAL, K_CREATEINFO, various consts and other such things
kui/kuikey.cxx static key array used to process keystrokes in KClient
kui/kwin.cxx Class: KWin
kui/kwin.hxx Class: KWin base class for display gui windows. Used to encapsulate basic gui functionality.
kui/makefile Makefile for KUI stuff
kui/mkg.bat
kui/partdrag.cur
kui/resource.h
kui/toolbar1.bmp
kui/toolbar2.bmp IDR_TOOLBARTERMINAL

OS/2 Only

This code is only used on OS/2 (if its absent, Windows should still build fine)

Filename Title Notes
ckermit.ico OS.2 icon
cko32i20.def IBM TCP/IP 2.0 interface DLL for Kermit 95 (32-bit)
cko32rt.c Dummy module so we can link resources to it
ckoclip.c clipboard app for OS/2
ckoclip.def clipboard app for OS/2
ckoclip.h clipboard app for OS/2
ckoclip.ico clipboard app for OS/2
ckoclip.rc clipboard app for OS/2
ckoftp.c TCP/IP interface DLL between Kermit 95 and FTP PC/TCP
ckoibm.c TCP/IP interface DLL between Kermit 95 and IBM TCP/IP
ckoker.msb No idea what this is, but it was referenced in the makefile
ckoker.rc OS/2 Resource Script
ckoker32.def Kermit 95 for OS/2 (32-bit)
ckonbi.c OS/2-specific NetBios support
ckonov.c TCP/IP interface DLL between Kermit 95 and Novell LAN Workplace OS/2 3.0
ckopcf.c pcfonts.dll: Dummy module so we can link resources to it
ckopcf.h pcfonts.dll: defines PC Font IDs for resource file
ckotcp.c TCP/IP interface DLL between Kermit 95 and IBM TCP/IP
ckotcp.h TCP/IP interface for OS/2 Kermit 95
ckotel.c Kermit stub to fake IBM Telnet and IBM TelnetPM telnet.exe and telnetpm.exe for OS/2
ckotel.def Telnet front-end for Kermit 95 for OS/2
k2.ini Default initialisation file for OS/2
k2crypt.def Module definition file for k2crypt.dll
osetup.def Kermit/2 Setup Module definition file
k95f_os2.ico
k95g_os2.ico
mkos2.cmd OS/2 build script - build everything
mkos2d.cmd OS/2 build script - debug build of everything

Misc files

Some of these should probably be included in the distribution, some are just nots and other misc things.

Filename Title Notes
00README.TXT KERMIT 95 SOURCE FILES Readme from the original Kermit 95 source release
CHANGES.TXT K95 2.2 Changelog List of changes between Kermit 95 2.1.3 and the unreleased Kermit 95 2.2
COPYING.TXT Kermit 95 License
default.ini Kermit 95 SAVE KEYMAP file
dialing.ipf Kermit 95's Dialing Directory
emacs.ini EMACS key map for Kermit 95
host.ksc "Host mode" script for K-95.
hostcom.ksc Sample host mode operation for dialin connections
hostmdm.ksc Kermit 95 host mode listener for dialin connections
hostmode.ksc Utility and management functions for Kermit 95 host mode
hosttcp.ksc Kermit 95 Host-Mode Listener for Incoming TCP/IP Connections
iksdpy.ksc Kermit script for viewing the IKS database
K95-NOTES.txt Kermit 95 notes from Frank da Cruz (bugs, ideas, etc)
login.ksc a general-purpose login script
m2zmodem.ini Macros for invoking M2ZMODEM from OS/2 Kermit 95
NOTES.TXT Notes on the current C-Kermit release
scoansi.ini Extended Keyboard definitions for Kermit 95, Works with ANSI terminal type
vt220.ini Extended Keyboard definitions for Kermit 95 Works with any VT terminal type: VT52, VT100, VT102, VT220, or VT320

Unusued/unreferenced stuff

Some of this is likely old junk that can be deleted, some of it may be unfinished features or utilities that aren't enabled. Further investigation required for all of it.

Filename Title Notes
ckcb64.c Looks like a base64 implementation form IBM. Appears unused
ckcfil.h No longer used, replaced with ckcker.h
ckctox.c Appears unused
ckcvar.c Appears unusued
ckcvar.h Appears unusued
ckczli.c Looks like just an example app from zlib. Appears unused
ckuuid.c Test program for C-Kermit's uid-managing code
ck_old.ico
eklogin.c eklogin stub for Kermit 95
findfile.c Sample code from Microsoft? "C find file functions"
fneval.c An email?
ftime.bat ? junk probably
geterm.c ? junk probably
GetUserInfo.c ? junk probably
iksdc.c ? Maybe an OS/2 version of iksd.exe - doesn't appear to be used
k2dc.c k2dc.exe - maybe an OS/2 variant of k95d.exe?
k95dial3.ico
keystuff.c Probably junk - keyboard test program?
klogin.c Klogin stub for Kermit 95 doesn't appear to be used
listcomx.c Probably junk - program to list serial ports?
match.ksc Probably junk
mksrczip.bat builds a zip of the K95 source code - probably junk
mnem.dat No idea - junk probably
mnem.syms No idea - junk probably
modems.ipf Source for a book or manual: C-Kermit's Modem Support
modetst.c Probably junk - program to get OS/2 console mode
print.c Probably Junk - sample code for to send binary data to a printer on windows
prof.bat Probably junk - script for profiling cknker.exe with some tool
prof2.bat Probably junk - script for profiling cknker.exe with some tool
ptest.c Probably junk - a printer test app for windows
rcmd.c Probably junk. Code from BSD. Appears unused.
rlogind.c Probably junk. Code from BSd. Appears unused.
setup.mak Probably junk. Makefile for setup.exe which I think can be built by the main makefile now
srpfltr.c Probably junk - appears unusued
srpw95pp.reg Maybe junk - registry entries for some SRP thing
startk95.c Example code: how to start K95 from another Win32 application
stub.c Stub for Kermit 95 Example code I guess - for building things like the telnet stub
timesync.c "timesync stuff for leash" Probably old Kerberos junk. Appears unused.
trim.c Trim trailing whitespace from file lines and/or untabify Utility program. Appears unusued (not built by any makefile)
url.c Probably junk - appears unused
vttime.c Probably junk - appears unused. Program to set the clock on a VT series terminal based on the system time.
wtest.def Kermit 95 NT Test Almost certainly junk. Module definition file for test.exe, the source code for which does not exist.
zip.sh Script used to create the original Kermit 95 open source source release. Junk at this point, its done its job.