_____________________________________________________________________ Stacker Note Stacker Note STAC FAX Index #1106 Stacker API v. 2.0 _____________________________________________________________________ What can the Stacker API do for you? 1. Make your programs more compatible with Stacker. Using the API you can now determine if Stacker is installed on a system, what version of Stacker is running, and which drives in the system are Stacker drives. If the Stacker drives have been swapped, you can find out what drives they have been swapped with. You can determine if a Stacker coprocessor is installed, which coprocessor it is, and the hardware address where it is installed. If a Stacker drive replaces its host drive your software can now have direct access to the underlying host drive if it needs it. This and much more has been provided to help you enhance your product's compatibility. We think the most common use of these features will be in installation programs which want to detect Stacker andoptimally configure the software that they are installing for a Stacker based system. You'll probably think of lots of other things to do with all this information. 2. Give you direct access to Stacker's compression and decompression engines. If Stacker software is installed on a PC you can now use its high performance compression and decompression to improve the performance of your product. You can transmit data in half the time, and store it in half the space. You can reduce memory usage by keeping infrequently used data structures in compressed form and decompress them when needed. Speed up your software by keeping overlays compressed in EMS or XMS and then decompressing them when needed instead paying the seek time it costs to read them from disk. If a Stacker coprocessor is installed you'll get even faster performance and tighter compression. If you are already using one of Stac's LZS221 or DCS221 compression libraries, you will want to investigate using the Stacker API to detect if Stacker is present in a system. If it is, you may want to use the API to access Stacker's compression engine which, although less general in its interface, provides over fifty percent better speed performance over DCS221 or LZS221. 3. Give you the ability to read compressed data directly from a Stacker drive. Now you can transfer compressed data directly from a Stacker drive, to tape, to backup floppies, across a modem, or over a network without having to pay the performance penalty of having Stacker first decompress the data. The data format is the same LZS compressed data format that is supported by all of our compression products. This means that when you need access to the compressed data you can decompress it using our 9703, 9704, or 9705 compression chips, our LZS221 compression libraries (available in 8088, 80386, and 68000 assembly as well as C), or the Stacker API. This is also the same compressed data format as the QIC-122 data compression standard which is used in quarter inch tape drives. The version 2.0 Stacker API includes the following: - A 78 page manual with examples for each function, a section on testing considerations for your programs and a section on developing Stacker aware installation programs. - A C library for all memory models of Borland C and Microsoft C. - An include file for Assembly language programs. - An OBJ file and Pascal unit for Turbo Pascal programs. - Six Ready to compile and run programs in C plus one in Assembly. These programs include a sample Stacker aware installation program, a sample program to read files from a Stacker drive in compressed form, a sample program that simulates sending a file across a modem with and without compression, plus several more. In addition to the source code for these programs there are example programs for each function in the API. - Developer assistance on CompuServe. Here's what the Stacker API can provide to make your programs Faster, Smaller and More Compatible with Stacker: Informational items: - Is Stacker installed? - Is Stacker hardware or Stacker software being used? - The major and minor versions of the Stacker device driver. - The hardware address of the Stacker coprocessor. - The hardware type of the Stacker coprocessor (XT/8, AT/16 or MC/16). - Is Stacker using EMS for its cache? - Is the Stacker driver loaded high (above 640k)? - The number of available replaceable Stacker drives. - Which drives are which after swapping. - Is a drive is Stacked? - Is a Stacker drive mounted? - Is a Stacker drive an auto-mounting drive or not? - Is a Stacked drive write protected? - Is a Stacked drive replaced with the host drive? - Was a Stacked drive mounted damaged? - The number of erased sectors and the number of free sectors for a given Stacker drive. These two figures can be used to determine the minimum (physical) space available for a Stacker drive. - The BPB of a Stacked drive (without having to go to disk). - The BPB of the host drive of a Stacked drive (without having to go to disk). - The drive unit number for a Stacked drive. - The drive unit number for the host drive of a Stacker drive. - The stacvol file name for a Stacker drive. - The major and minor versions of Stacker that was used to create a given Stacker drive. - Pointers to the interrupt and strategy routines for the host drive of a Stacker drive. This can allow you to access the host drive of a replaced Stacker drive. - The number of bits per FAT entry for a Stacker drive. Compression items: - Compress data using the Stacker device driver. - Uncompress data using the Stacker device driver. Drive state manipulation items: - Flush the Stacker device driver for all Stacker drives. - Unmount Stacker drives. - Put a Stacker drive in "host drive mode". This allows you to access the host drive of a Stacker drive (including swapped and replaced drives) through a drive letter. - Take a Stacker drive out of "host drive mode". - Set the write-protect status on a Stacker drive in the Stacker device driver. - Remove the write-protect status on a Stacker drive in the Stacker device driver. Read compressed data items: - Read clusters directly from a Stacker drive in compressed form. - Retrieve the FAT entry for a given cluster on a Stacker drive. For information on how you can purchase the Stacker API, call Stac Electronics at 619-431-7474, extension 2910,For pricing. Existing Stac OEM customers who have purchased our compression/decompression libraries or chips are entitled to the Stacker API free of charge. _______________________________________________________________ Copyright 1992, Stac Electronics