TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Tom Brown
from: Mike Bilow
date: 1996-01-22 17:38:02
subject: OS/2 API Question

Tom Brown wrote in a message to All:

 TB> I've been following the thread regarding OS/2 and .EXE
 TB> compression.  I tried linking with this new option and it
 TB> worked _great_.  The compressed vs uncompressed load time
 TB> seems identical to me.  Thanks guys for sharing this.

Glad to help.

 TB> My question is this, compression is something that is
 TB> usefull in a ton of different places.  Why doesn't IBM
 TB> expose an API to their compression facility?

The compression facility in OS/2 that handles Iterated-II segments is not
owned by IBM, but is licensed from AddStor specifically for the purpose for
which it is used.  If you want the same facility in your programs, then you
can buy it from AddStor or from one of their competitors such as Stac.

IBM also licenses PKware's implementation of ZIP 1.03 as source code and
converts it to an OS/2 DLL that sits in your \OS2\DLL directory as ZIP.DLL.
 Of course, you are not license to use that, either.  If you dissect it,
you will see:

Entry Index  Name
      0      PKWARE IMPLODE Frontend made by JoS
      1      ZIP
      2      UNZIP

Entry Table
Ordinal Segment Offset Flag Attributes
      1     1    0094   03  EXPORT GLOBAL  (ZIP)
      2     1    0126   03  EXPORT GLOBAL  (UNZIP)

 TB> I have routines in which I accept a switch which causes 
 TB> compression by writing a buffer to disk and then calling 
 TB> ZIP.EXE.  This works OK, but the ZIP file directory overhead 
 TB> and system () call overhead seem redundant, now.  Perhaps I'm 
 TB> speaking too soon, does IBM have such a compression API?  It 
 TB> would be a boon to wide area connectivity if they did.

You have several options.  Licenses from AddStor and Stac would cost you
thousands of dollars, plus royalties.  If you are looking for a ready made
commercial solution, then your easy choice would be Crusher from DC Micro,
(800)775-1073 or (606)268-1559; you can download a demo from their BBS at
(606)268-1251.  For US$349, you get an OS/2 compression library with full
source code and an "almost royalty-free" distribution license. 
(The US$349 prepays the royalty for the first several thousand copies.) 
Versions are also available for DOS, Unix, Windows 3.x, Windows 95, and
Windows/NT.  When I evaluated the options for doing this under OS/2 some
time ago, Crusher was the clear and obvious winner.  Nearly all of DC
Micro's competitors in the same price range, such as Greenleaf, have no
OS/2 support.

ZIP and LZH have public domain or GPL implementations that can be reworked
into DLL format and shipped with your product, as long as the licensing
requirements are observed.  I know that Peter Fitzsimmons here has modified
his LH2 release of an LZH compression tool so that it works as a DLL,
although I don't know if he ever released it that way.  Doing the same for
the Info-ZIP compression tool from the source code would probably not be
hard.
 
-- Mike


--- 
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809
@PATH: 323/107 170/400 396/1 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.