C-Kermit News 2006

Most recent update: Tue Jan 10 16:20: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 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 massive 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.

Platform Model Target Arch Footprint Remarks
QNX 4.25 32 qnx32 i386 ? Large files not available
NetBSD 1.x 32 netbsd i386 ... Large files not available
Linux 32 linuxnolfs i386 2.1MB Large files disabled
NetBSD 2.x 32/64 netbsd i386 ... Large files OK
OpenBSD 2.5 32/64 openbsd i386 ... Large files OK in OpenBSD 2.5 and later
FreeBSD 3.3 32/64 freebsd i386 ... Large files OK in FreeBSD 3.3 and later
FreeBSD 6.0 64 freebsd IA64 ... Large files OK
Linux 32/64 linux i386 2.1MB Large files OK in all versions back to 1999
UnixWare 7.1.4 32/64 uw7 i386 ? Large files OK
Linux 64 linux AMD64 2.4MB Large files OK in all 64-bit Linux builds
HP-UX 11.11 32/64 hpux1100 PA-RISC ? Large files OK
HP-UX 11i v2 64 hpux1100 IA64 ? Large files OK
Solaris 9 32 solaris9 Sparc 2.5MB Large files disabled
Solaris 9 32 solaris9 i386 ? Large files disabled
Solaris 9 32/64 solaris9lfs Sparc 2.5MB Large files OK
Solaris 9 32/64 solaris9lfs i386 ? Unknown
Solaris 9 64 solaris9_64 Sparc 3.4MB Large files OK
Mac OS X 10.3.9 32/64 macosx10.4 ppc 2.4MB Large files OK
Mac OS X 10.4.2 32/64 macosx10.4 ppc 2.4MB Large files OK
Mac OS X 10.4.2 64 macosx10.4_64 ppc 2.6MB Large files OK
Tru64 Unix 4.0F 64 tru64_40f Alpha ... Large files OK
No information yet for:

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.

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.

[ C-Kermit Home ] [ Kermit Home ]


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