C-Kermit News 2006

Most recent update: Wed Feb 8 16:04:34 2006 EST

Work on C-Kermit has continued, on and off, since the release of C-Kermit 8.0.211 on 10 April 2004. The next release is currently designated 8.0.212 but that might change.

Large File Support

Kermit is, first and foremost, a file-transfer program. One might expect it to be able to transfer any kind of file, but that has been decreasingly the case, as file sizes began to cross the 2 gigabyte threshold.

The biggest change in C-Kermit 8.0.212 is support for large files on platforms that support them. A "large file" is one whose size is greater than 231-1 (2,147,483,647) bytes (2GB-1); that is, one whose size requires more than 31 bits to represent. Before now, Kermit was able to access such files only on 100% 64-bit platforms such as Digital Unix, later known as Tru64 Unix. In the new release, Kermit takes advantage of the X/Open Single UNIX Specification Version 2 (UNIX 98) Large File Support (LFS) specification, which allows 32-bit platforms to create, access, and manage files larger than 2GB.

Accommodating large files required changes to code in nearly every module, affecting not only file transfer, but also file management functions from directory listings to local file manipulation, plus the user interface itself to allow entry and display of large numbers. All this had to be done in a way that would not affect pure 32-bit builds on platforms that do not support large files.

OS and Version Arch Word Target Footprint Remarks
Linux i386 32 linuxnolfs 2.1MB Large files disabled
Linux i386 32/64 linux 2.1MB Large files OK in all versions back to 1999
Linux amd64 64 linux 2.4MB Large files OK in all 64-bit Linux builds
FreeBSD 3.3 i386 32/64 freebsd ... Large files OK in FreeBSD 3.3 and later
FreeBSD 6.0 ia64 64 freebsd ... Large files OK
FreeBSD 6.1 amd64 64 freebsd ... Large files OK
NetBSD 1.x i386 32 netbsd ... Large files not available
NetBSD 2.x i386 32/64 netbsd ... Large files OK
OpenBSD 2.5 i386 32/64 openbsd ... Large files OK in OpenBSD 2.5 and later
Mac OS X 10.3.9 ppc 32/64 macosx10.4 2.4MB Large files OK
Mac OS X 10.4.2 ppc 32/64 macosx10.4 2.4MB Large files OK
Mac OS X 10.4.2 ppc 64 macosx10.4_64 2.6MB Large files OK
HP-UX 11.11 pa-risc 32/64 hpux1100 ... Large files OK
HP-UX 11i v2 ia64 64 hpux1100 ... Large files OK
HP Tru64 Unix 4.0F alpha 64 tru64_40f ... Large files OK
HP VMS / OpenVMS alpha 32 ckvker.com ... Large files not supported
IBM AIX ppc ?? aix... ... Untried and untested
QNX 4.25 i386 32 qnx32 ... Large files not available
SCO UnixWare 7.1.4 i386 32/64 uw7 ... Large files OK
SCO OSR5.0.x i386 32 sco32v5xx   No support for large files in OS
SCO OSR6.0.0 i386 32/64 sco_osr600 2.3MB Large files OK
Solaris 5-10 i386 ?? solaris... ... Untried and untested
Solaris 5-8, 10 sparc ?? solaris... ... Untried and untested
Solaris 9 sparc 32 solaris9 2.5MB Large files disabled
Solaris 9 sparc 32/64 solaris9lfs 2.5MB Large files OK
Solaris 9 sparc 64 solaris9_64 3.4MB Large files OK (-xarch=generic64)

No information yet for anything else not mentioned above. Note that some targets (such as Linux) automatically detect long file support and include it if it's available, whereas others (Solaris) do not because I haven't yet been able to test it widely enough. Access is needed to platforms such as AIX, Solaris on Intel, etc, to verify that C-Kermit still builds on them and to see if large files can be supported.

Arithmetic with Large Integers

Because large file support requires the availability of a 64-bit signed integer data type, other aspects of C-Kermit were adapted to use it too, most notably Kermit's algebraic expression evaluator and its S-Expression handler, on all platforms that support large files (those listed as 64 or 32/64 in the Word column of the table).

Other New Features

See the C-Kermit Daily Builds page for details. Very briefly:

Frank da Cruz, The Kermit Project, Columbia University

[ C-Kermit Daily Builds ] [ C-Kermit Home ] [ Kermit Home ]


C-Kermit News 2006 / The Kermit Project / Columbia University / kermit@columbia.edu