KERMIT 95 - FREQUENTLY ASKED QUESTIONS Version: 1.1.20 31 March 2000 CONTENTS * THE NATURE OF THE PRODUCT * INSTALLATION AND PATCHING PROBLEMS * THE K95 DIALER * FONTS * STARTING AND STOPPING KERMIT 95 * MODEMS AND DIALING * TCP/IP AND TELNET * TERMINAL EMULATION * FILE TRANSFER * INTEGRATING KERMIT 95 WITH OTHER APPLICATIONS ------------------------------------------------------------------------ THE NATURE OF THE PRODUCT [ Next ] [ Previous ] [ Top ] Is Kermit 95 a DOS Program? No, K95.EXE is not a DOS application, and the window in which it runs is not a DOS window, but a 32-bit Console window. Kermit 95 is a native 32-bit Windows application that uses only the Windows 32-bit Application Program Interface (Win32 API), runs in protected, preemptive multitasking mode, and in multiple threads, and is fully 32-bit-Winsock compliant, TAPI compliant, and is in every way 100% native to 32-bit Windows. Kermit 95 is not an adaptation of MS-DOS Kermit to 32-bit Windows; it is an entirely separate product. Does Kermit 95 work in Windows 3.x? No. Kermit 95 is a strictly 32-bit application. Even with Win32S loaded, Kermit 95 will not work, because it runs in multiple threads, and threads are not supported under Win32S. MS-DOS Kermit is the Kermit software for Windows 3.1 and earlier and for and WfW 3.11, as well as for DOS itself. Can I use MS-DOS Kermit Instead of Kermit 95? Under certain conditions, yes, but not for TCP/IP connections, not with Plug-n-Play or PCMCIA modems, not with Winmodems or RPI modems, not with ISDN modems, not with nonstandard communication ports, not with devices that are owned by TAPI, etc. Even then, remember it is a DOS program, not a Windows or OS/2 program, and can not take advantage of, or access, special features of Windows or OS/2 -- long filenames, the mouse, the clipboard, secure connections, etc. If it works for you, meets your requirements, and requires no technical support then by all means use it. Otherwise you'll need Kermit 95. Do K95.EXE and K95DIAL.EXE work in all 32-bit varieties of Windows? Yes, except for Windows CE. The same executables run on Windows 95, 98, NT, and 2000 on Intel (PC) architecture. Separate executables are provided for non-Intel platforms such as Windows NT on Alpha and for OS/2. The situation with Windows ME (Millenium Edition) is not known since we haven't seen it yet. Why not Windows CE? Because Windows CE does not offer the full range of Win-32 APIs. Many of those that are missing are required by Kermit 95. Why does Kermit 95 use a Console window instead of a GUI window? Because Kermit 95 shares tens of thousands of lines of code with C-Kermit, which is a portable program. By sharing code, we can produce low-cost software for many platforms. Unfortunately, Windows GUI programs and portable software don't mix well. It is extremely difficult to maintain a common code base for open platforms (such as Linux) and Windows. When will Kermit 95 become a GUI application? A GUI release with no Console windows for Windows 95 and NT is expected in late 2000. Registered users of Kermit 95 1.1.x will receive it at no additional cost. Watch the Kermit 95 web page and the newsgroup, comp.protocols.kermit.misc, and the Windows 95 and NT and OS/2 newsgroups for announcements. There will not be a GUI (Presentation Manager) version for OS/2 because the Windows GUI programming model is incompatible with the OS/2 model. Can K95 be used with speech and Braille devices? As of version 1.1.16, Kermit 95 should be compatible with any speech or Braille device that can be used in a Console window. This is a major advance over earlier K95 releases. The required settings are: set terminal screen-update smooth set terminal screen-optimization on In addition, certain keys must be set to \Kignore, so they can be used as controls for the screen reader or Braille software. Depending on the specific screen reader, these might be the keys on the numeric keypad. The method for doing all this is illustrated in the ASAP.KSC file, for setting K95 up to be used with the ASAP screen reader. For related resources, see our links page. ------------------------------------------------------------------------ INSTALLATION AND PATCHING PROBLEMS [ Next ] [ Previous ] [ Top ] Kermit 95 1.1.17 and later are distributed on CDROM. Version 1.1.16 was distributed only in patch form. Versions 1.1.15 and earlier were distributed on diskette. Since the last diskette release was in 1997, we've removed the longwinded discussion of problems with diskettes and diskette drives from the FAQ. CDROM Installation In Windows 95/98/NT/2000, loading the Kermit 95 CDROM into your CDROM drive should activate the Windows "Autorun" feature: a few moments after the system has compiled the CDROM directory, it pops up the Kermit 95 installation procedure automatically. If this does not happen to you, access the CDROM as though it were a regular disk, CD to the I386 (Windows/Intel), ALPHA (Windows NT Alpha), or OS2 (OS/2) directory, and start the Setup program. My PC doesn't have a CDROM drive! If you purchased the K95 retail package but your PC does not have a CDROM drive, please contact us for instructions. Patching Problems These are detailed on the same website that you downloaded the patches from: http://www.columbia.edu/kermit/k95patch.html Meanwhile, to answer the frequently asked question: "Why is the patch procedure a DOS program?". It is so the same patch program can be used for all versions of Kermit 95: Windows 95/98, Windows NT/2000 on Intel, Windows NT on Alpha, and on OS/2. For Intel (PC) architecture only, patches are also available in a GUI form (because GUI patch software is available only for Windows/Intel). If you have problems with installation or patching, contact us and we'll help: E-mail to kermit-support@columbia.edu E-mail works best, if you have it, since it reaches more people, some of whom are likely to be on hand outside regular business hours. Telephone +1 (212) 854-5126 Although telephone support for single copies is normally fee-based, there is no fee for help with installation problems. However, the phone is answered only during normal business hours (New York time) and is likely to be busy. Technical support policies and procedures are explained in greater detail in the Kermit 95 Manual on your disk and at the Kermit Project website. ------------------------------------------------------------------------ THE K95 DIALER [ Next ] [ Previous ] [ Top ] The Dialer is the graphical front end for Kermit 95. It is built using a portable GUI builder that creates versions for both Windows and OS/2. Do I have to use the Dialer? No. If you are comfortable typing commands (or creating command files, macros or scripts) for Kermit 95, you don't need to use the Dialer at all. The Dialer is recommended to newcomers to Kermit, since it makes it easy to set up any kind of connection. Some Kermit veterans prefer to use Kermit 95 directly. Why does it take a few seconds for the Dialer to start? Because: o The portable GUI builder has some overhead (the Dialer runs on OS/2 too). o Big predefined database must be loaded. o The Dialer makes backup copies of its database files every time it starts for your protection. If you don't need the predefined entries, you can speed up the process by getting rid of the predefined database (next item) How do I get rid of unwanted Dialer entries? You can not remove an individual predefined entry with the Remove button. However you can hide all the predefined entries by going into the Dialer's Options menu, selecting View, and then unchecking "Pre-defined". If you want to keep some of the predefined entries, just edit the ones you want to keep; this makes copies of them that are still visible even if you uncheck Pre-Defined. What are all the .DAT files? Most of .DAT files in the Kermit 95 directory are used by the K95 Dialer: DIALER.DAT Contains the GUI screen definitions for the Dialer. It must not be renamed or deleted. A particular version of K95DIAL.EXE is keyed to a particular version of the DIALER.DAT file. DIALINF.DAT Contains the preloaded Dialer entries. This file is "read-only", primarily because it contains templates (notably the DEFAULT template) that are used by other entries, as well as by the "Add" and "Quick" buttons. Don't delete or rename this file, or you'll lose the DEFAULT and other templates. DIALORG.DAT (If any) Contains the preloaded Dialer entries for your organization. This file can be created by organizations that have K95 bulk or site licenses. Like DIALINF.DAT, this file is read-only. DIALUSR.DAT Contains (a) entries that you have added; (b) preloaded entries that you have edited; and (c) the information from your File and Options pages. The remaining .DAT files are associated with the GUI setup and registration programs. Why is my K95CUSTOM.INI ignored when I launch a connection from the Dialer? Your K95.INI and K95CUSTOM.INI files are indeed executed, but the commands that come from the Dialer are executed after them, so when there is a conflict the Dialer settings override the INI-file settings. Make sure your Dialing Options menu notebook contains the desired settings, and also the notebook pages for the entries in question. The primary purpose of the INI files in K-95 is for when you start K95.EXE without the Dialer (or for key or macro definitions that you always want to be in effect and that don't conflict with settings made in the Dialer). As a last resort, you can enter commands into the Login Script text box in the Dialer entry -- the commands in this box are executed last. ------------------------------------------------------------------------ FONTS [ Next ] [ Previous ] [ Top ] How do I permanently set the font size in K95? This is explained in a separate document, fontsize.htm. IMPORTANT: Do not use a font size of "Auto" in a Kermit 95 Console window on Windows 95 or 98; this can hit a bug in the Microsoft Console driver and crash the session, which happens (for example) if the host application changes the screen size several times. Where can I get Unicode fonts for Windows? You can use Unicode fonts in Windows NT or 2000 with Kermit 95 to display text in many languages, but they must be monospaced (not proportionally spaced) fonts. Some examples include Lucida Console, Courier, and Courier New. Early Unicode monospaced fonts had an extremely limited repertoire (e.g. no Hebrew); more recent and fully-populated ones can be downloaded from the Microsoft Website: http://www.microsoft.com/truetype/fontpack/ For an overview of Unicode fonts (that was current, and frequently updated, at the time of this writing), see: http://www.hclrss.demon.co.uk/unicode/fonts.html Why doesn't K95 do CJK Terminal Emulation? A GUI window is required for CJK character display, and a special "duospaced" TrueType font would be needed; as far as we know, none is available yet. ------------------------------------------------------------------------ STARTING AND STOPPING KERMIT 95 [ Next ] [ Previous ] [ Top ] Why does Kermit 95 take a few seconds to start? K95.EXE can take a while to start because: o Many Windows DLLs must be pulled in (Winsock, TAPI, C Runtime, etc). o If a SET TAPI LINE command appears in your K95CUSTOM.INI, TAPI must be initialized, which takes some timea, especially if your modem is turned off or not connected. o The initialization file must be read. o Lack of physical memory might require that Windows 95 allocate swap space on the hard disk. If you use K95 to make different types of connections, not just TAPI, take the SET TAPI line command out of your K95CUSTOM.INI file. The following command-line options can be used to tell K95 not to load certain DLLs; this can speed startup: o -# 2: Do not load Network DLLs (such as Winsock). o -# 4: Do not load TAPI DLLs (for dialing out). o -# 8: Do not load Security DLLs (for Kerberos, OpenSSL, encryption). o -# 16: Do not load XYZMODEM DLLs (for XYZMODEM file transfer). These numbers can be added. So "-# 30" means don't load any of the above. On a 90 MHz PC, starting K95 1.1.16 with "-# 30" took about 1 second; without it about 4 seconds. You can omit the network DLLs if you will not be making network connections. You can omit TAPI if (a) you will not be making dialout connections, or (b) you will be using COM1 or COM2 directly rather than the TAPI modem device. You can omit Kerberos DLLs if you will not be making secure connections with Kerberos authentication. You can omit the XYZMODEM DLLs if you will not be transferring files with XMODEM, YMODEM, or ZMODEM. Why does it take K95 several seconds to exit? K95.EXE might take a while to exit because: o K95 is careful to release all resources that it allocates. o K95 is careful to close connections properly instead of just shutting down the subsystems (TAPI, Winsock, ...) It can take Windows 20-30 seconds to release the TAPI device if your modem is disconnected or powered off. When it is connected and turned on, it still can take 5-10 seconds. That's Windows, not Kermit, being slow. Why can't I exit from K95 by clicking the [x] button? When you click the Close button in the Title bar of a Console window in Windows 95 or 98 (but not NT or 2000), Windows does not deliver this event to the application, but instead simply terminates it without releasing any of its resources (such as TAPI devices). This can result in a TAPI device or other resource not being available to other applications (including K95) until Windows 95 is restarted. This is a Microsoft feature over which Kermit has no control whatever. Kermit 95 1.1.19 tries to use an undocumented API to disable the close button to prevent this from happening. ------------------------------------------------------------------------ MODEMS AND DIALING [ Next ] [ Previous ] [ Top ] Can K95 dial my ISP? Because of Kermit 95's flexibility and programmability, many people ask us if there is a way that Kermit 95 can be used to make Dial Up Networking connections, in place of the standard Windows way. Unfortunately, the answer is no; Microsoft does not provide a way to let an application make a connection to a PPP or SLIP server and then turn the connection over to the TCP/IP stack. The only way in Windows 95/98 or NT to make a SLIP or PPP connection is with the built-in Dialup Networking dialer or (in Windows NT) RAS. OS/2, on the other hand, allows this and Kermit 95 for OS/2 (Kermit/2) has this feature for both PPP and SLIP. How can I make credit-card calls? This applies when you have defined a dialing location in TAPI that includes a credit card number. If you are using the K95 Dialer: 1. In the Dialer's main menu, choose Options. 2. Choose Dialing. 3. Make sure that both TAPI Modem Dialing and TAPI Phone Number Conversions are checked. Then when placing a call, make sure: o Your current modem is a TAPI device (not COM1, COM2, etc). o Your current location is the one with the credit card information. o The phone number is portable format, e.g. +1 (212) 7654321. If the phone number is not in portable format, neither Kermit nor TAPI will be able to apply any prefixes or suffixes, including the credit card number. (This process is referred to as "Phone number conversions" in the menus.) To create a new TAPI Location that uses a Credit Card: o In the K95 Dialer choose "TAPI->Dialing Properties..." to display the dialog box. o Click on the "New" button to create a new entry. o Fill in the appropriate "area code" and numbers to use for getting an external line o Check the "Dial using Calling Card" box and then press "Change" o Select the appropriate Calling Card company and service from the list. o Fill in the Calling Card number. o Close all the dialogs to return to the K95 Dialer. o To make the new location the active location, use the "Location->Current->" list to check the new location. Now when you dial, these dialing rules -- including the calling card number -- will be used. Can K95 be used with ISDN? ISDN (Integrated Services Digital Network) is a digital alternative of the analog telephone system. CLICK HERE for an ISDN tutorial. Kermit 95 can be used with ISDN in the following ways: o Kermit 95 works with any ISDN connection that provides TCP/IP services. In this case, K95 is simply a Telnet or Rlogin client, as it would be on any other kind of TCP/IP connection. o Kermit 95 works with any ISDN device that provides a Windows Telephony Service Provider Interface (TSPI). In this case, Kermit can place ISDN calls using TAPI. Example: the AVM Fritz!Card with CapiPort driver, or the Teles X.75 Modem TAPI device for Windows 95. o Kermit 95 works with any ISDN device that provides a 32-bit COM-port emulator, such as the version of Teles CAPI for Windows NT. Kermit 95 does not include a direct CAPI interface. Does K95 work with Novell NASI modem sharing? K95 works with any software that provides a TAPI interface or a COM port interface, and should work with any software that exports a Win32 device name. According to the Novell Support Website, http://support.novell.com/ on 24 July 1998, "In order for NT to access the modem pool, WIN2NCS version 2.11 must be used. . . . Windows NT is now supported. However, there is still an issue with the interaction of Win2NCS with Microsoft's TAPI which may cause problems with Host mode on some Remote Control applications. This is currently under investigation." (The download link provided for WIN2NCS no longer works.) One user reported trouble using NASI until they selected "use hardware flow control always" in the NASI Workstation Global Settings configuration dialog. ------------------------------------------------------------------------ TCP/IP AND TELNET [ Next ] [ Previous ] [ Top ] Can Kermit 95 be the Telnet helper for my Web Browser? Yes. This gives you many advantages over the regular Telnet program. Just to name a few: you can transfer files while in your Telnet session; you have more and better terminal emulations to choose from; and you have colors, scrollback, key mapping, and local printing. Simply point your Browser at the TELNET.EXE program in the Kermit 95 directory instead of at regular system Telnet. Why does Dialup networking pop up whenever I make a Telnet connection? This is not a Kermit problem -- the same thing would happen with any Internet application, such as Microsoft Telnet or FTP. To fix: open your Windows 95 Dial Up Networking folder (should be in your "My Computer" folder), go to Connections .. Settings .. General and choose "Don't prompt to use Dial-Up Networking". How can I force the Telnet server to issue a login prompt? When K-95 is used to Telnet to a host that whose Telnet server supports the TELNET NEW-ENVIRONMENT option or certain other options, K-95 sends your Windows user ID automatically, unless you have done something to prevent this from happening. In this case, the host does not prompt you for a user ID, but just a password. If your Windows user ID is the same as your ID on the host you are Telneting to, you only need to supply your password on the host, since it already has your user ID. However, if they are not the same, or if you want to ensure predictable behavior, e.g. in a script program, you can instruct K-95 not to send your user ID with the command: set login userid (without a user ID). Then the host will give its normal login: or Username: prompt. Put this command in your K95CUSTOM.INI file or your script file, depending on where/when you want it to apply. How do I make secure Internet Connections? Kermit 95 can make secure TCP/IP connections using SSL, TLS, Kerberos and Secure Remote Password (SRP) (CLICK HERE for information about secure Telnet servers). Except for SRP, these K95 connection methods are presently available only in the USA and Canada due to USA export law. Kermit 95 does not support any form of SOCKS or SSH. The secure connection methods are documented in the Kermit 95 Manual and in several supplementary documents. Secure connections are usually configured by network administrators rather than end users; consult your network administrator to see what forms of security are available at your site and to find out how to configure Kermit 95 to use them if they are among the methods supported by K95. If you are the network administrator and you need assistance, send email to kermit-support@columbia.edu. Why doesn't Kermit 95 support SSH? There are two incompatible SSH protocols, v1 and v2. Kermit 95 does not support SSH version 1.x for a combination of legal and security reasons: o It requires use of patented algorithms for implementation. The Kermit Project would be responsible for paying a fee for each download of a Kermit 95 patch including these algorithms (this will change in September 2000); o The use of raw public keys for end-user authentication is particularly dangerous when hosts or client workstations are insecure or otherwise compromised. When an SSH private key is stolen there is no mechanism for the host administrator to block future use of the key or determine which other hosts might be accessible by that key. o It provides no mechanism for reliable authentication of the host. SSH version 2.x is not supported because: o The only available server implemention is not widely deployed due to licensing restrictions. o The IETF working group responsible for its development has made no progress in moving the protocol through the standards process. ------------------------------------------------------------------------ TERMINAL EMULATION [ Next ] [ Previous ] [ Top ] Where is the technical documentation for xxx emulation? The specifications for each terminal, such as VT320, HPTERM, AIXTERM, etc, might be several hundred pages long, and many of them are proprietary. Purchase the manuals from the current marketer of the terminal. Manuals are still being sold for all Wyse and DEC VT terminals. Note that (a) DEC sold off its terminal products division years ago, and it has probably changed hands several times since then, and (b) DEC is now owned by Compaq. DEC and Wyse terminal manuals tend to be quite expensive. o Documentation for DEC terminal can be purchased from Boundless Technologies. o Wyse terminal documentation can be found at wyse.com. o The SCOANSI specification can be found at the SCO website. o QANSI, QNX, Linux, BeTERM, and AT386 are documented in the man pages of the appropriate operating system. o The AIXTERM manual is published on the Web by IBM. o The HFT manual is also somewhere at ibm.com. o SNI manuals are published by Siemens/Nixdorf. o Avatar is documented in the Fido database. o VT52/100/102/220/320 sequences are included in Using MS-DOS Kermit, 2nd Edition. For further information, visit Richard Shuford's Video Terminal Information site. Why do scrolling or echoing seem slow? They don't to most people. But on certain PCs, under certain circumstances, there might be a perceptible delay in scrolling or in echoing of the characters you type. This delay can have several components: 1. Delays in the connection itself; 2. How heavily loaded Windows is; 3. Windows scheduling of K95's several threads and its semaphore management; 4. An extra (double) layer of overhead imposed by CONAGENT.EXE; 5. Peculiarities of your video andapter and driver; 6. K95's own screen update algorithm. Normally K95 refreshes the entire screen every 100 milliseconds, i.e. 10 times per second. This has proven to provide the best overall throughput, which is always a tradeoff between (a) responsiveness to keystrokes, and (b) speed of displaying large amounts of scrolling text. You can change the balance and the frequency with the command: SET TERMINAL SCREEN-UPDATE { FAST, SMOOTH } [ milliseconds ] Chooses the mechanism used for screen updating and the update frequency. Defaults are FAST scrolling with updates every 100 milliseconds. A smaller interval might produce snappier echoing, but probably at the expense of scrolling speed. SMOOTH forces screen refresh with every incoming character, and so turns the balance to totally favor fast echoing. In version 1.1.16, K95's echoing strategy has been redesigned to give snappier echoing on modem connections, virtually eliminating any delay that can not be attributable to external causes. Echoing of a character from the local modem's command processor now takes less than 0.001 second, compared to about 0.110 second in 1.1.15. Also, beginning in 1.1.16, screen updates are optimized. This results in noticeable speed improvements on most PCs, but paradoxically, slows down some others. To disable optimization, use: SET TERMINAL SCREEN-OPTIMIZE OFF How do I make the vertical scroll bar work in Windows NT? You don't. Please do not try to run Kermit 95 in a window that has vertical scroll bars -- it won't behave the way you expect. Use Kermit's own built-in scrolling features (vertical scrollback/forward and horizontal scrolling) to view material that is not on the current screen. Also see Item 193 in the Bugs List. So how does scrollback work? Scrollback is done with "Kverbs" (keyboard verbs). The Kverbs for scrolling are normally assigned to the Page Up, Page Down, Home, and End keys. However, certain emulations use these keys for their own purposes, in which case the scrolling verbs are moved to other keys, usually the Alt-Shift versions of the same keys. Here is a list of the scrolling Kverbs; to find the current assignment of any Kverb, type "help kverb name" at the K95 prompt, where name is the name of the Kverb (the part after the \K, e.g. "help kverb upscn". Kverb Typical Assignment Action upscn Gray Page Up Scrolls back one screen dnscn Gray Page Down Scrolls forward one screen if scrolled back upone Ctrl-Gray-Page-Up Scrolls back one line dnone Ctrl-Gray-Page-Down Scrolls forward one line homscn Gray Home Top of scrollback buffer endscn Gray End End of scrollback buffer See the Screen Scrollback section of the Kermit 95 manual on your disk for details. Why doesn't K95 have a SET TRANSLATE INPUT command? The user-defined character-translation feature in MS-DOS Kermit was a bad, bad, bad idea. We never should have included this feature. It has encouraged developers to make applications that violate standards and specifications for how host-to-terminal connections must work. The need to display a mixture of character sets on the same screen is addressed by ISO Standards 4873, 2022, and 6429 and by terminals such as the VT220/320 that follow those standards. Kermit 95 and MS-DOS Kermit both fully support these standards. The most common requirement for a mixture of character sets is to display accented letters (as in Spanish) and line- and box-drawing characters on the same screen. This can be done on a real VT220 by sending character-set designation and invocation escape sequences as described in the VT220 manual and the ISO standards, to switch between (e.g.) ISO 8859-1 Latin Alphabet 1 (for accented letters) and DEC Special Graphics for line and box drawing, or DEC Technical for math symbols. Or it can be done by using a PC code page, such as CP437 or CP850, in the host application, and then telling Kermit to "set terminal character-set transparent". This is considered bad practice, because the structure of these PC code pages violates ISO standards by including graphic characters in the spaces that are reserved for control characters. And also because it will only work with PCs and not real terminals, or non-PC-based emulators. Unfortunately, some application developers take a third approach and invent a "new character set" specific to their application, which requires the use of a custom translation table, such as supported by MS-DOS Kermit and several other terminal programs, so they don't have to go through the "bother" of using (or learning) the proper switching mechanisms. While this might seem a reasonable approach, closer inspection reveals what a bad idea it is. To understand why it is such a bad idea, one must first understand ISO 4873 and 2022, and how real terminals work. But this was the application developer's responsibility in the first place. An explanation of the ISO standards is beyond the scope of this document, but suffice it to say that they have been in effect since 1973. If the application uses standard terminal presentation methods, it will work with Kermit 95. If it does not, it will not work with any real terminal, and therefore will not work with Kermit 95 either. ------------------------------------------------------------------------ FILE TRANSFER [ Next ] [ Previous ] [ Top ] Problems uploading files? Kermit 95 defaults to high-performance file-transfer settings: long packets, sliding windows, "cautious" control-character prefixing, and -- on connections that allow it -- streaming. But, as we point out in the documentation, these settings are less likely to work everywhere than the normal conservative settings that are the default in most other Kermit programs, and which are the cause of the widely held misimpression that "Kermit is slow". We have chosen high-performance defaults in Kermit 95 not only for public image reasons, but also because on this platform we have more assurance than we do with (say) C-Kermit that we have a fairly reliable communication method, such as a modem with error correction and hardware flow control or a TCP/IP connection. However, sometimes file transfers -- especially uploads of binary files -- fail using these settings. Such failures can almost always be fixed by restoring full control-character prefixing: SET PREFIXING ALL If that doesn't do the trick, then consult Chapter 10 of Using C-Kermit, 2nd Edition: "Solving File Transfer Problems". ------------------------------------------------------------------------ INTEGRATING KERMIT 95 WITH OTHER APPLICATIONS [ Next ] [ Previous ] [ Top ] How do I embed Kermit in my application? Many software makers ask us for Kermit software in special forms that can be embedded in their applications, to provide file transfer or other communications functions to their customers. But each software maker wants something different: o Connection establishment but no data transfer o Data transfer using pre-existing connection o Connection establishment and data transfer o File transfer only without "bells and whistles" o Scripting but not terminal emulation o Terminal emulation but not file transfer o Serial communication but not networking o Networking but not serial communications o Binary file transfer but not text o Greek character-set conversion but not Cyrillic o Access to shell escapes allowed o Access to shell escapes forbidden o A pretty display o No display at all and on and on. And they desire this functionality to be packaged as a link library for this or that platform, a DLL, an OCX, a VBX, an Active X control, a Delphi component, a Netscape Plugin, a Java object, a Visual FoxPro object, etc etc etc. The combinations of functionality and interface are many, and there is no way we can satisfy them without warehouses full of programmers, which nobody can afford to pay for. Consequently we recommend that software makers who wish to embed Kermit functionality in their products (communications, scripting, file transfer, terminal emulation, character-set translation, etc) license and use the programs we already have available. See the next item for an example. The "API" (Application Program Interface) is the command language. It is more fully expressive, precise, comprehensive, and portable than any other API that could be designed (look at all the commands in C-Kermit or MS-DOS Kermit or Kermit 95; each one is there for a reason). As new releases of the Kermit program come out, your product can be easily updated and will benefit from all the new features, fixes, and speedups automatically. The recommended method of embedding Kermit in another application is via command-line invocation. The Kermit command line can contain a selection of simple commands, and it can also refer to more complex command files or scripts composed by your application. Kermit can be configured to create any kind of log you need, and it can return the status of its operations in various ways that can be used by your application. When you license Kermit software for embedding in your application, we are happy to work with you to ensure it meets your needs. And if Kermit protocol transfers are important to you, then it should also be important to you to come to the source -- we developed the protocol, we continue to improve it, we believe in it, and we stand behind it. Following this advice allows each party to concentrate on what they are good at, rather than unnecessarily duplicating efforts and "reinventing the wheel". You concentrate on your application; we'll do the communications. We support our software, you support yours, everybody is happy. How do I invoke Kermit 95 from Visual Basic? Easy. First refer to Using C-Kermit, "Starting and Stopping C-Kermit". Note that you can invoke K95 with a command-line argument specifying the name of a file containing commands to execute; this filename must be the first argument after the program name. Suppose, for example, K95.EXE is in the PATH, and the command file is called UPDATE.KSC. Then the command line would be, simply: k95 update.ksc The command file can be prefabricated, or it can be created dynamically by your application. If it is not in the current directory, of course you must specify the full path: k95 d:\scripts\update.ksc If you want K95 to exit automatically when the script is complete, put EXIT commands in the script wherever you want to return control to your VB program. To invoke K95 from VB, use: Shell (commandline, windowstyle) where commandline is the command with which to invoke Kermit 95, such as "k95 update.ksc", and windowstyle is one of the following: 0 - Hidden 1 - Window has focus and is restored 2 - Window is an icon with focus 3 - Window is maximized with focus 4 - Window is restored, current window keeps focus 6 - Window is an icon, current window keeps focus The Shell() function returns Kermit 95's task ID. [ Top ] ------------------------------------------------------------------------ Kermit 95 FAQ / Columbia University / kermit@columbia.edu / 31 March 2000