home *** CD-ROM | disk | FTP | other *** search
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
-
-
-
-
-
- IFL
- Interior File Listing Utility
- Copyright 1989 by Martin Pollard. All rights reserved.
-
-
-
- This program may be freely copied and distributed, provided it is for
- personal, non-profit use only. I am asking for no monetary donations;
- thus, this program is truly Freeware. I only ask that, if distributed,
- the program and documentation not be altered in any way. Your
- cooperation with this simple request will be an incentive for newer and
- better versions of this program.
-
-
-
- Although I have tried to make this program as bug-free as possible, I
- will not be liable for any damages caused, either directly or
- indirectly, by the use of this program. This program is distributed
- without warranty, either expressed or implied.
-
-
-
- NOTE: Throughout this documentation, the term "archive file" is used
- to describe any file that contains multiple files. Likewise,
- the term "archiving program" is used to describe any program
- that creates and/or maintains an archive file.
-
-
-
- If you encounter any problems while using the program, or if you have
- any suggestions to improve the operation of IFL, you may contact me at
- any of these bulletin board systems (leave messages to "Silicon Wizard",
- my handle):
-
- The Pointe BBS Warp Speed BBS
- 313-885-1779 313-544-0405
- 300/1200/2400 baud 300/1200/2400 baud
- 24 hours 8pm to 8am nightly
-
- or drop me a line through the mail to 27825 Hoover, Apt. 4, Warren, MI,
- 48093. Please include a self-addressed stamped envelope to ensure a
- speedy reply. Letters that do not include an SASE will not necessarily
- be ignored; they just won't be replied to as quickly!
-
-
-
-
-
-
-
-
- -- 1 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- A SHORT HISTORY OF ARCHIVING PROGRAMS
-
- What exactly is an archiving program? It is a program that takes a
- group of files and stores them into one single file, called an archive
- file. Such an archiving program may or may not compress the files
- before storing them in the archive file. (Compression means to read the
- file, perform mathematical and probability calculations on the data --
- which can be either text or binary data -- and write a new file
- containing the compressed information.)
-
- The first of these kinds of programs originated under the CP/M operating
- system. They were LU, SQ and USQ, which stood for Library Utility,
- Squeeze, and Unsqueeze. LU was a very primitive archiving program: It
- simply took files and placed them into an archive file (LU called them
- "library" files), with no compression performed on the data at all. The
- SQ program was usually used to compress files before they were stored by
- LU. (SQ used a method call Huffman encoding to compress the
- information. USQ, as you may have guessed, simply reversed the
- process.) LU-created files can usually be identified by the ".LBR"
- extension (although this was not required; the .LBR extension was
- usually used to maintain consistency) or the ".LQR" extension (if the
- library file was squeezed AFTER files were stored in it). For years,
- the combination of LU, SQ and USQ -- and its derivatives -- were the
- best thing since sliced bread.
-
- When the IBM PC appeared, these programs were, naturally, ported over to
- the MS-DOS operating system. However, users quickly felt the
- limitations of LU, SQ and USQ. These programs were originally written
- for slow 8-bit 8080- and Z80-based systems with a maximum of 64K of
- memory; the 16-bit 8088-based IBM PC was faster by comparison, and could
- access up to 640K of memory. Users figured there HAD to be a better
- way.
-
- System Enhancement Associates (SEA) came up with the better mousetrap
- with ARC, which essentially combined the functions of LU, SQ, and USQ by
- compressing files before storing them in the archive file. Even here,
- ARC took a different approach, replacing LU's fixed directory (which was
- at the beginning of each library file) with a "distributive" directory
- (files stored in the archive are preceded by a "header" describing the
- file in detail). Over the years, ARC has been improved with more user
- options and more advanced compression methods (like Dynamic Lempel-Zev-
- Welch, or "Crunching"), and has been ported to other operating systems
- (such as UNIX and VAX).
-
- Unfortunately, ARC had the big problem that plagued the early CP/M
- programs: It was very slow, especially on 8088-based systems. To solve
- this, Phil Katz of PKWARE created PKARC, an ARC "clone" that was so fast
- that it began to surpass ARC in popularity. Later enhancements to PKARC
- also included a Dynamic LZW variant called "Squashing". The combination
- of all these features catapulted PKARC right to the "top of the charts,"
- as it were. (PKARC was later renamed to PKPAK.)
-
- SEA filed a lawsuit against PKWARE in 1988, charging unlawful use of
- ARC's source code and unfair business practices. (The details of the
-
-
- -- 2 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- lawsuit have been discussed elsewhere, so I will not go into them here.)
- The out-of-court settlement between Phil Katz and SEA ended production
- of PKARC; unfortunately, it also alienated many users and bulletin board
- system (BBS) operators. (The feeling was that SEA was trying to "win in
- the courtroom" because it was losing to PKARC in the marketplace.) That
- action, plus the rapidly-growing shift to PKZIP and LHARC, has probably
- spelled the end of the ARC format, despite SEA's release of an improved
- version of ARC.
-
- In the midst of the scuffle between SEA and PKWARE, NoGate Consulting
- released its own ARC-compatible program called PAK. PAK uses an even
- more advanced Dynamic LZW variant dubbed "Crushing" (later versions
- introduced another compression method, "Distilling", which gives PKZIP
- and LHARC a run for their money). PAK has created a sizable following
- of users, but has not caught on for two reasons: It is slower than
- PKARC, and the new compression methods, plus the various "enhancements"
- to the ARC format, make it incompatible with programs that process ARC
- files.
-
- After the lawsuit that ended production of PKARC, PKWARE introduced a
- totally new compression program, PKZIP. PKZIP, with its enhanced file
- format (including a second directory to assist in recovery of corrupt
- archives) and enhanced compression methods (tighter than almost all
- current archiving programs), has gained a large following. Animosity
- towards SEA, and the widespread popularity of PKARC, have also helped
- tremendously.
-
- Along with the main contenders, three other archiving programs exist
- that have each gained their own following of users: DWC by Dean W.
- Cooper, LHARC by Haruyasu Yoshizaki, and ZOO by Rahul Dhesi. DWC was
- introduced around the time of ARC's period of popularity, but due to an
- incompatible file format, it was never accepted into the mainstream.
- LHARC is an "import" from Japan (introduced shortly after PKZIP) which
- uses a high-performance compression method that occasionally beats out
- PKZIP for compression size. ZOO originated on UNIX and VAX systems, and
- has been ported to other non-MS-DOS environments as well. It is the
- program of choice for users who need to move files between these various
- environments.
-
- It can become highly confusing, to say the least, to work with all these
- different formats. This can be especially nerve-wracking to BBS users
- and operators, since BBSes may contain files in any (or ALL!) of these
- formats. What is needed is a single program to read them all. That's
- where IFL comes in.
-
-
-
- IFL TO THE RESCUE!
-
- IFL stands for Interior File List, and that's exactly what it does: It
- produces a listing of the contents of an archive file. The syntax for
- using IFL is very straightforward:
-
- IFL [options] filename
-
-
- -- 3 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- where "filename" is the name of the archive file you wish to view. If
- you do not specify an extension with the filename, IFL will
- automatically cycle through all the extensions it supports (appending
- them one at a time to the filename) until it finds the file. At this
- time, supported extensions include ARC, DWC, LZH, PAK, ZIP and ZOO. The
- filename may be preceded by a drive and/or a pathname. If no filename
- is specified, a help screen is displayed.
-
- You may specify various options on the command line to alter the
- operation of IFL. These options include:
-
- -B Normal output from IFL is a color display using direct
- screen writes (accessing the video memory directly).
- This method works on 100% IBM compatible systems only.
- If you are using a system that is not 100% IBM compatible
- (such as early Sanyo PCs or the Tandy 2000), use this
- option to force IFL to output text using the BIOS, which
- ensures total compatibility but is slower than direct
- screen writes.
-
- -P When a full screen of text has been displayed, IFL pauses
- and waits for the user to press a key to continue. Use
- this option to override this feature and provide a
- continuous listing.
-
- -R This option can be used to force IFL to output text to
- the standard output device. Using this option, the
- output can be rerouted to another device or a file using
- the ">" redirection symbol (refer to your MS-DOS manual
- if you are unfamiliar with redirection). In this mode,
- color is suppressed and the listing is continuous (no
- pause after a full screen). This mode is excellent for
- implementing IFL in a BBS environment.
-
- The output from IFL is in the form of a columnar table. The following
- information is displayed:
-
- Length The length of the file when uncompressed, in bytes.
-
- Size Now The length of the compressed file, in bytes. This is the
- number of bytes the file actually take up inside the
- archive file.
-
- % The percentage of space saved by compression.
-
- Method The compression method used to store the file. Valid
- methods are listed elsewhere in this manual.
-
- Date and The date and time of the last modification of the file.
- Time This is usually not the date and time in which the file
- was stored.
-
-
-
-
-
- -- 4 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- Filename The name of the stored file. Note that files in LZH,
- ZIP and ZOO archives may contain a pathname (indicated by
- forward slashes "/").
-
- Below the main listing will be displayed total values for all the files
- displayed. Shown are totals for length, size now, ratio (overall), and
- number of files. Note that these totals do NOT take into account the
- overhead for file headers, the central directory of ZIP archives, or the
- extra information found in "extended" ARC-format archives (such as those
- created by the latest versions of ARC, PKPAK and PAK).
-
-
-
- UNSUPPORTED FEATURES
-
- * Self-extracting archives.
-
- * Extra information stored in the ARC format. This includes
- directories in ARC 6.0 archives, pathnames and comments in PAK
- archives, and comments in PKARC archives. The ARC format was never
- designed for this extended information, and since each of the above
- programs uses a different method of storing its information, it
- becomes a real pain to try to support all of it. Therefore, IFL
- supports *NONE* of it.
-
- * Comments stored in PKZIP archives. The ability to display the main
- ZIP comment may be added in the future.
-
-
-
- COMPRESSION METHODS
-
- Below is a list of all the known compression methods that IFL supports,
- along with the archive formats that use them. A detailed explanation of
- each compression method is beyond the scope of this manual.
-
- Unknown! An unknown compression method was encountered. (ARC,
- DWC, LZH, PAK, ZIP, ZOO)
-
- --- The file is not compressed. (ARC, DWC, LZH, PAK, ZIP,
- ZOO)
-
- crunched The file is compressed using LZW compression (fixed 12-
- bit). (ARC)
-
- Crunched The file is compressed using Dynamic LZW compression
- (code size from 9 to 12 bits) with repeat-byte
- compression and adaptive reset. (ARC, DWC, PAK, ZOO)
-
- Crushed The file is compressed using Dynamic LZW compression
- (code size from 2 to 13 bits) with partial adaptive
- reset. (PAK)
-
-
-
-
- -- 5 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- Directory This is not a compression method, but an indicator of a
- subdirectory stored in an ARC 6.0 archive (which is no
- longer supported by IFL). (ARC)
-
- Distilled The file is compressed using Huffman/sliding window
- compression. (PAK)
-
- Frozen The file is compressed using a hybrid of Dynamic LZW and
- Huffman compression. (LZH)
-
- Imploded The file is compressed using Shannon-Fano tree
- compression. (ZIP)
-
- Packed The file is compressed using repeat-byte compression.
- (ARC, PAK)
-
- Reduced # The file is compressed using probabilistic and repeat-
- byte compression. The "#" indicates the compression
- level (1-4). (ZIP)
-
- Shrunk The file is compressed using Dynamic LZW compression
- (code size of 9 to 13 bits) with partial adaptive reset.
- (ZIP)
-
- Squashed The file is compressed using Dynamic LZW compression
- (code size of 9 to 13 bits) with adaptive reset. (ARC,
- PAK)
-
- Squeezed The file is compressed using Huffman encoding. (ARC,
- PAK)
-
-
-
- ERROR MESSAGES
-
- Listed below are all the error messages produced by IFL. If you receive
- an error while using IFL, check this list for the probable cause.
-
- "Archive format not supported"
-
- The specified file is not in a format that IFL can process. Either
- the file was created with an unsupported archiving program, or the
- file is a self-extracting archive (which IFL does not support).
-
- "Can't access file 'filename'"
-
- IFL could not, for some reason, access the specified file. The
- file may not exist on the disk, or some other error may be
- preventing IFL from accessing the file.
-
- "Can't read archive file"
-
- IFL encountered an error while reading the archive file. (Pretty
- straightforward, eh?!)
-
-
- -- 6 --
-
-
-
- Interior File Listing Utility 11/26/89 Version 1.50
-
-
- "Invalid ARC header ID"
- "Invalid LZH header ID"
- "Invalid ZIP header ID"
- "Invalid ZOO header ID"
-
- Each entry in an archive file is preceded by a header that
- identifies the file, and includes such information as the filename,
- the compressed and uncompressed length, the date and time, etc. If
- this header is not in the place that IFL expects it, or if the
- header contains invalid information, this error message is
- displayed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -- 7 --
-
-