Home ]   [ Kermit 95 ]   [ C-Kermit ]   [ Scripts ]   [ Current ]   [ New ]   [ FAQ ]   [ Support ]

C-Kermit News 2006

Most recent update: Thu Dec 14 10:48:45 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 probably will change. There is as yet no firm release schedule. The major goals of this release are (a) stability; and (b) support for large files and 64-bit integers on as many platforms as possible. CLICK HERE to access the C-Kermit Daily Build.


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 code changes in many modules, 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. Here's a table showing progress so far. Entries in Yellow and Green support large files.

OS and Version Arch Word Target Footprint Remarks
Linux i386 32 linuxnolfs 2.1MB Large Files (LF) disabled in this build
Linux i386 32/64 linux 2.1MB LF OK in all PC Linuxes back to at least 1999
Linux mips 32/64 linux 3.4MB Large files OK
Linux ppc 32/64 linux 2.4MB Large files OK
Linux sparc 32/64 linux 2.4MB Large files OK
Linux alpha 64 linux 2.6MB Large files OK in all 64-bit Linux builds
Linux amd64 64 linux 2.4MB Large files OK in all 64-bit Linux builds
Linux ia64 64 linux 4.4MB Large files OK in all 64-bit Linux builds
FreeBSD 3.3 i386 32/64 freebsd ... LF OK in all FreeBSD 3.3 and later on PC
FreeBSD 6.1 amd64 64 freebsd 2.4MB Large files OK
FreeBSD 6.0 alpha 64 freebsd 2.8MB Large files OK
FreeBSD 6.0 ia64 64 freebsd ... Large files OK
NetBSD 1.x i386 32 netbsd ... Large files not available
NetBSD 2.0 Sun 3/80 32/64 netbsd 1.9MB mc 68030, Large files OK
NetBSD 2.x i386 32/64 netbsd ... Large files OK
OpenBSD 2.5 i386 32/64 openbsd ... LF OK in OpenBSD 2.5 and later on PC
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 i386 32/64 macosx10.4 - Large files OK
Mac OS X 10.4.2 ppc 64 macosx10.4_64 2.6MB Large files OK
HP-UX 5-9 various 32 hpux0nnn... ... No large file support
HP-UX 10.20 pa-risc ?? hpux1000 ... Should support large files, untested
HP-UX 11.11i v2 pa-risc 32/64 hpux1100 2.4MB Large files OK
HP-UX 11.23i v2 ia64 32/64 hpux1100 4.3MB Large files OK
HP Tru64 Unix 4.0F alpha 64 tru64_40f ... Large files OK
HP VMS / OpenVMS VAX 32 ckvker.com ... 32-bit hardware
HP VMS / OpenVMS alpha 32 ckvker.com ... Large files not supported by API
HP VMS / OpenVMS ia64 32 ckvker.com ... Large files not supported by API
IBM AIX 5.1 ppc 32/64 aix51 2.8MB Large files supported by AIX 4.2 and later
IBM AIX 5.3 ppc 32/64 aix53 2.8MB Large files supported by AIX 4.2 and later
QNX 4.25 i386 32 qnx32 ... No large file support
SCO UnixWare 7.1.4 i386 32/64 uw7 3.1MB 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
SGI IRIX 6.5 MIPS 32/64 irix65, irix65g ... Large files OK
SGI IRIX 6.4 & earlier MIPS 32/64 irix... ... Might work but not tested
Solaris 5-9 i386 ?? solaris... ... Untried and untested
Solaris 5-8 sparc ?? solaris... ... Untried and untested
Solaris 9 sparc 32 solaris9nolfs 2.5MB Large files disabled
Solaris 9 sparc 32/64 solaris9 2.5MB Large files OK
Solaris 9 sparc 64 solaris9_64 3.4MB Large files OK (-xarch=generic64)
Solaris 10 sparc 32/64 solaris10g 4.8MB Large files OK
Solaris 10 i386 32/64 solaris10 2.3MB Large files OK
Solaris 10 sparc 64 solaris10g_64 5.9MB Large files OK (-m64)
Microsoft Windows i386 32     Kermit 95*, not yet.

  * Kermit 95 for Windows is a member of the C-Kermit family and shares most of the same code. So far Kermit 95 has not yet been adapted for large files. See the section on Kermit 95 in our support page.

No information yet for anything else not mentioned above.


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).

S-Expressions can now be forced to operate with integers only, without floating-point conversion or having to explicitly truncate each result; as an example. see the revised Easter date calculation script.


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