StuffIt Engine SDKBack to homepage
StuffIt Engine SDK
Add the power of StuffIt to your application
Incorporate the StuffIt Engine into your software
Join the many developers who have already incorporated the power of the StuffIt Engine into their applications. In order to download or license the StuffIt Engine SDK you must fill out our developer form below. You will be sent an email confirmation that will include the url for downloading the SDK.
StuffIt SDK Specifications
The SDK provides C interface and includes dynamic libraries only. StuffIt SDK Mac OS X 10.4 and higher and was designed to work with Xcode 2.5 and higher and the following Windows platforms: NT, 2000, XP, 2003 and Vista. The SDK was designed to work with MS Visual Studio 2005 Visual C++ 8.0.
To improve compression/expansion performance SDK has an option to create optimum number of threads per operation on machines with multiple processors and/or hyper-threading processors. Thus, SDK will create four threads for a single compression operation on a machine with four processors. On average you will see 20% to 85% time improvement compared to single thread compression depending on the machine characteristics and the number of processors.
StuffIt SDK multi-threading implementation is based on PThreads and uses QpThread library designed and implemented by Pavel Krauz Copyright (C) 1999. The thread library is free software and distributed under the Lesser GNU Public License (LGPL).
Additional Format Support
Expansion support for 7z archives
Expansion support for segmented Zip
Expansion support for split archives
Expansion support for LZMA
Browse/extract support for compressed tar
Updates from previous version.
Version 12 of the StuffIt SDK added specific file formats compressors were added to sitx format to support the following file types: jpeg, mp3, bmp, gif, png, tiff, pdf, psd, jpeg2k, jpeg lossless, pict, ptt5 and pxm.
Version 12 also added zip content recompression option to sitx format. This allows the user to recompress zip archives content when being added to sitx archive that results in better compression ratio. The zip archive is reconstructed on expansion.
The SDK kit, sdk-13.0.0.*-win32-msvc9-release.zip kit was built with MS Visual C++ 2008 - Microsoft Visual Studio 2008 Version 9.0
For more runtime control, the SDK has an option of using notifications and callbacks mechanism.
We included sample applications projects and sources for your references on how to use the SDK to perform the five major functions.
StuffIt Compression Technologies - Full Integration
The StuffIt Engine SDK provides developers with C interface to incorporate support for creation/encoding, expansion/decoding, as well as browsing and manipulations of archives in 25 supported formats.
The SDK performs five major functions: determining file types based on their contents; creating archives from original files (encoding, stuffing, compressing), re-creating original files from archives (decoding, unstuffing, expanding), manipulating items within existing archives (moving, renaming, deleting archive items, and adding new items), and browsing archives content.
The StuffIt Engine SDK is a cross-platform suite of APIs allowing a client to access the StuffIt Engine for basic compression and expansion as well as more advanced tasks such as manipulation of an archive's contents.
In order for the SDK to be cross platform, certain data types and object representations needed to be abstracted. String and references to file system objects need to be converted from their platform specific types to their respective StuffIt SDK types.
String Ref is the data type used to expose string functionality in the SDK. A StringRef can be created in a number of ways depending on the platform. For instance, a C string or Pascal string may be used to create a StringRef on Windows or Mac OS X, but only the Mac supports creating a StringRef from the native CFString object.
FAn FSObjectRef is the sole way of providing objects to the SDK that represent an item within the file system. Similar to StringRefs, creation of an FSObjectRef varies by platform.
The SDK uses notifications so that the client can provide its own progress user interface as well as other interactions that might require user feedback.
Download or License the StuffIt Engine SDK
Once you've chosen to incorporate the StuffIt Engine into your software, you'll need to license the SDK before distributing your software. Our Developer Sales Team will be happy to work with you on a license that fits your needs.