File-Transfer Pipes and Filters

Contents: This is a supplement to Section 4.2 of the C-Kermit 7.0 Update Notes, containing information specific to Kermit 95 in Windows 95, Windows NT, and OS/2.

IMPORTANT WARNING: In Windows 95, any command used in a pipeline must NOT be a 16-bit program, such as SORT. If it is, K95 will hang and must be killed from the task list, and your system will need to be rebooted. This is a Microsoft bug, discussed in many spots in the K95 Bugs List. For this reason, examples are shown for UNIX rather than Windows 95, since in practice there are very few standard utilities that can be used in this way (but keep reading, because luckily some of the most useful ones, such as GZIP and GUNZIP, can be):

NOTE: Section 4.2.7, Pipes and Encryption, of the C-Kermit 7.0 Update Notes, should be read in light of the availability of built-in Kerberos authentication and encryption, added in 1.1.16. Encryption through pipes is not needed when Telnet encryption is available.


Platform Differences

The SEND /COMMAND, RECEIVE /COMMAND, GET /COMMAND, and ! (bang) methods may be used with Kermit protocol transfers in all K95 versions with the cautions and restrictions noted in this section.

Since Windows 95, Windows NT, and OS/2 each support a wide range of application types (DOS 16-bit, DOS 32-bit, Windows 16-bit, Windows 32-bit, OS/2 16-bit, and OS/2 32-bit) it is important to be aware of the ways that each operating environment supports them. In all situations, K95 can pipe data only to or from other applications that use Standard Input and Standard Ouput (Stdin/Stdout). In most cases this means only Console applications, not GUI ones.

Windows 95

Windows 95 relies on its shell, COMMAND.COM, or a replacement such as 4DOS.COM, to form intermediary pipe connections between processes, but these pipes are implemented as temporary files. Thus each process in a pipeline runs to completion, writing a (possibly huge) file to disk before the next process starts. This means your disk can fill up, or that it could take a very long time for file transfer to start, because all the processes in the pipe must complete first.

While it is possible to mix and match DOS and Win32 console applications, we recommend sticking with 32-bit applications when piping data to/from Kermit-95, since mixing a 16-bit application with a 32-bit application requires running the 16-bit application under CONAGENT.EXE, which has numerous dangerous bugs, some acknowledged and documented by Microsoft, others not.

Windows NT

Windows NT supports DOS, Win32, and 16-bit OS/2 applications. All may be used to pipe data successfully to/from Kermit 95 without difficulties.

OS/2

OS/2 supports DOS applications and 16-bit and 32-bit OS/2 applications. It is not possible to pipe data to/from a DOS application from/to Kermit-95 in OS/2; DOS applications run in a different session type than OS/2 applications and are not accessible to Kermit 95 through pipes. However, both 16-bit and 32-bit OS/2 applications may be mixed freely.


Applications for Use with Pi