home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / BBS / TELEGARD / TFM24.ZIP / IFL.ZIP / IFL.DOC < prev    next >
Encoding:
Text File  |  1989-11-26  |  17.8 KB  |  443 lines

  1.  
  2.  
  3.  
  4.  
  5.       Interior File Listing Utility            11/26/89           Version 1.50
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                         IFL
  14.                            Interior File Listing Utility
  15.               Copyright 1989 by Martin Pollard.  All rights reserved.
  16.  
  17.  
  18.  
  19.       This  program may be freely copied and distributed, provided it  is  for
  20.       personal,  non-profit use only.  I am asking for no monetary  donations;
  21.       thus, this program is truly Freeware.  I only ask that, if  distributed,
  22.       the  program  and  documentation  not  be  altered  in  any  way.   Your
  23.       cooperation with this simple request will be an incentive for newer  and
  24.       better versions of this program.
  25.  
  26.  
  27.  
  28.       Although  I have tried to make this program as bug-free as  possible,  I
  29.       will  not  be  liable  for  any  damages  caused,  either  directly   or
  30.       indirectly,  by  the use of this program.  This program  is  distributed
  31.       without warranty, either expressed or implied.
  32.  
  33.  
  34.  
  35.       NOTE:     Throughout this documentation, the term "archive file" is used
  36.                 to describe any file that contains multiple files.   Likewise,
  37.                 the  term "archiving program" is used to describe any  program
  38.                 that creates and/or maintains an archive file.
  39.  
  40.  
  41.  
  42.       If  you encounter any problems while using the program, or if  you  have
  43.       any  suggestions to improve the operation of IFL, you may contact me  at
  44.       any of these bulletin board systems (leave messages to "Silicon Wizard",
  45.       my handle):
  46.  
  47.                 The Pointe BBS                Warp Speed BBS
  48.                 313-885-1779                  313-544-0405
  49.                 300/1200/2400 baud            300/1200/2400 baud
  50.                 24 hours                      8pm to 8am nightly
  51.  
  52.       or drop me a line through the mail to 27825 Hoover, Apt. 4, Warren,  MI,
  53.       48093.   Please  include a self-addressed stamped envelope to  ensure  a
  54.       speedy reply.  Letters that do not include an SASE will not  necessarily
  55.       be ignored; they just won't be replied to as quickly!
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                       -- 1 --
  65.  
  66.  
  67.  
  68.  
  69.       Interior File Listing Utility            11/26/89           Version 1.50
  70.  
  71.  
  72.                        A SHORT HISTORY OF ARCHIVING PROGRAMS
  73.  
  74.       What  exactly  is an archiving program?  It is a program  that  takes  a
  75.       group  of files and stores them into one single file, called an  archive
  76.       file.   Such  an  archiving program may or may not  compress  the  files
  77.       before storing them in the archive file.  (Compression means to read the
  78.       file,  perform mathematical and probability calculations on the data  --
  79.       which  can  be  either  text or binary data --  and  write  a  new  file
  80.       containing the compressed information.)
  81.  
  82.       The first of these kinds of programs originated under the CP/M operating
  83.       system.   They  were LU, SQ and USQ, which stood  for  Library  Utility,
  84.       Squeeze, and Unsqueeze.  LU was a very primitive archiving program:   It
  85.       simply  took files and placed them into an archive file (LU called  them
  86.       "library" files), with no compression performed on the data at all.  The
  87.       SQ program was usually used to compress files before they were stored by
  88.       LU.    (SQ  used  a  method  call  Huffman  encoding  to  compress   the
  89.       information.   USQ,  as  you  may  have  guessed,  simply  reversed  the
  90.       process.)   LU-created  files can usually be identified  by  the  ".LBR"
  91.       extension  (although  this  was not required;  the  .LBR  extension  was
  92.       usually  used to maintain consistency) or the ".LQR" extension  (if  the
  93.       library  file was squeezed AFTER files were stored in it).   For  years,
  94.       the  combination  of LU, SQ and USQ -- and its derivatives --  were  the
  95.       best thing since sliced bread.
  96.  
  97.       When the IBM PC appeared, these programs were, naturally, ported over to
  98.       the   MS-DOS  operating  system.   However,  users  quickly   felt   the
  99.       limitations  of LU, SQ and USQ.  These programs were originally  written
  100.       for  slow  8-bit 8080- and Z80-based systems with a maximum  of  64K  of
  101.       memory; the 16-bit 8088-based IBM PC was faster by comparison, and could
  102.       access  up  to 640K of memory.  Users figured there HAD to be  a  better
  103.       way.
  104.  
  105.       System  Enhancement Associates (SEA) came up with the  better  mousetrap
  106.       with ARC, which essentially combined the functions of LU, SQ, and USQ by
  107.       compressing  files before storing them in the archive file.  Even  here,
  108.       ARC took a different approach, replacing LU's fixed directory (which was
  109.       at  the beginning of each library file) with a "distributive"  directory
  110.       (files  stored in the archive are preceded by a "header" describing  the
  111.       file  in detail).  Over the years, ARC has been improved with more  user
  112.       options and more advanced compression methods (like Dynamic  Lempel-Zev-
  113.       Welch,  or "Crunching"), and has been ported to other operating  systems
  114.       (such as UNIX and VAX).
  115.  
  116.       Unfortunately,  ARC  had  the big problem that plagued  the  early  CP/M
  117.       programs:  It was very slow, especially on 8088-based systems.  To solve
  118.       this, Phil Katz of PKWARE created PKARC, an ARC "clone" that was so fast
  119.       that it began to surpass ARC in popularity.  Later enhancements to PKARC
  120.       also included a Dynamic LZW variant called "Squashing".  The combination
  121.       of all these features catapulted PKARC right to the "top of the charts,"
  122.       as it were.  (PKARC was later renamed to PKPAK.)
  123.  
  124.       SEA  filed  a lawsuit against PKWARE in 1988, charging unlawful  use  of
  125.       ARC's  source code and unfair business practices.  (The details  of  the
  126.  
  127.  
  128.                                       -- 2 --
  129.  
  130.  
  131.  
  132.  
  133.       Interior File Listing Utility            11/26/89           Version 1.50
  134.  
  135.  
  136.       lawsuit have been discussed elsewhere, so I will not go into them here.)
  137.       The  out-of-court settlement between Phil Katz and SEA ended  production
  138.       of PKARC; unfortunately, it also alienated many users and bulletin board
  139.       system (BBS) operators.  (The feeling was that SEA was trying to "win in
  140.       the courtroom" because it was losing to PKARC in the marketplace.)  That
  141.       action, plus the rapidly-growing shift to PKZIP and LHARC, has  probably
  142.       spelled the end of the ARC format, despite SEA's release of an  improved
  143.       version of ARC.
  144.  
  145.       In  the midst of the scuffle between SEA and PKWARE,  NoGate  Consulting
  146.       released  its own ARC-compatible program called PAK.  PAK uses  an  even
  147.       more  advanced  Dynamic LZW variant dubbed  "Crushing"  (later  versions
  148.       introduced  another compression method, "Distilling", which gives  PKZIP
  149.       and  LHARC a run for their money).  PAK has created a sizable  following
  150.       of  users,  but has not caught on for two reasons:  It  is  slower  than
  151.       PKARC, and the new compression methods, plus the various  "enhancements"
  152.       to  the ARC format, make it incompatible with programs that process  ARC
  153.       files.
  154.  
  155.       After  the lawsuit that ended production of PKARC, PKWARE  introduced  a
  156.       totally  new compression program, PKZIP.  PKZIP, with its enhanced  file
  157.       format  (including a second directory to assist in recovery  of  corrupt
  158.       archives)  and  enhanced compression methods (tighter  than  almost  all
  159.       current  archiving programs), has gained a large  following.   Animosity
  160.       towards  SEA, and the widespread popularity of PKARC, have  also  helped
  161.       tremendously.
  162.  
  163.       Along  with  the main contenders, three other archiving  programs  exist
  164.       that  have  each gained their own following of users:  DWC  by  Dean  W.
  165.       Cooper,  LHARC by Haruyasu Yoshizaki, and ZOO by Rahul Dhesi.   DWC  was
  166.       introduced around the time of ARC's period of popularity, but due to  an
  167.       incompatible  file  format, it was never accepted into  the  mainstream.
  168.       LHARC  is an "import" from Japan (introduced shortly after PKZIP)  which
  169.       uses  a high-performance compression method that occasionally beats  out
  170.       PKZIP for compression size.  ZOO originated on UNIX and VAX systems, and
  171.       has  been  ported to other non-MS-DOS environments as well.  It  is  the
  172.       program of choice for users who need to move files between these various
  173.       environments.
  174.  
  175.       It can become highly confusing, to say the least, to work with all these
  176.       different  formats.  This can be especially nerve-wracking to BBS  users
  177.       and  operators, since BBSes may contain files in any (or ALL!) of  these
  178.       formats.   What is needed is a single program to read them all.   That's
  179.       where IFL comes in.
  180.  
  181.  
  182.  
  183.                                  IFL TO THE RESCUE!
  184.  
  185.       IFL stands for Interior File List, and that's exactly what it does:   It
  186.       produces  a listing of the contents of an archive file.  The syntax  for
  187.       using IFL is very straightforward:
  188.  
  189.                                IFL [options] filename
  190.  
  191.  
  192.                                       -- 3 --
  193.  
  194.  
  195.  
  196.  
  197.       Interior File Listing Utility            11/26/89           Version 1.50
  198.  
  199.  
  200.       where  "filename" is the name of the archive file you wish to view.   If
  201.       you   do  not  specify  an  extension  with  the  filename,   IFL   will
  202.       automatically  cycle through all the extensions it  supports  (appending
  203.       them  one at a time to the filename) until it finds the file.   At  this
  204.       time, supported extensions include ARC, DWC, LZH, PAK, ZIP and ZOO.  The
  205.       filename  may be preceded by a drive and/or a pathname.  If no  filename
  206.       is specified, a help screen is displayed.
  207.  
  208.       You  may  specify  various  options on the command  line  to  alter  the
  209.       operation of IFL.  These options include:
  210.  
  211.            -B        Normal output from IFL is a color display using direct
  212.                      screen writes (accessing the video memory directly).
  213.                      This method works on 100% IBM compatible systems only.
  214.                      If you are using a system that is not 100% IBM compatible
  215.                      (such as early Sanyo PCs or the Tandy 2000), use this
  216.                      option to force IFL to output text using the BIOS, which
  217.                      ensures total compatibility but is slower than direct
  218.                      screen writes.
  219.  
  220.            -P        When a full screen of text has been displayed, IFL pauses
  221.                      and waits for the user to press a key to continue.  Use
  222.                      this option to override this feature and provide a
  223.                      continuous listing.
  224.  
  225.            -R        This option can be used to force IFL to output text to
  226.                      the standard output device.  Using this option, the
  227.                      output can be rerouted to another device or a file using
  228.                      the ">" redirection symbol (refer to your MS-DOS manual
  229.                      if you are unfamiliar with redirection).  In this mode,
  230.                      color is suppressed and the listing is continuous (no
  231.                      pause after a full screen).  This mode is excellent for
  232.                      implementing IFL in a BBS environment.
  233.  
  234.       The  output from IFL is in the form of a columnar table.  The  following
  235.       information is displayed:
  236.  
  237.       Length         The length of the file when uncompressed, in bytes.
  238.  
  239.       Size Now       The length of the compressed file, in bytes.  This is the
  240.                      number of bytes the file actually take up inside the
  241.                      archive file.
  242.  
  243.       %              The percentage of space saved by compression.
  244.  
  245.       Method         The compression method used to store the file.  Valid
  246.                      methods are listed elsewhere in this manual.
  247.  
  248.       Date and       The date and time of the last modification of the file.
  249.         Time         This is usually not the date and time in which the file
  250.                      was stored.
  251.  
  252.  
  253.  
  254.  
  255.  
  256.                                       -- 4 --
  257.  
  258.  
  259.  
  260.  
  261.       Interior File Listing Utility            11/26/89           Version 1.50
  262.  
  263.  
  264.       Filename       The name of the stored file.  Note that files in LZH,
  265.                      ZIP and ZOO archives may contain a pathname (indicated by
  266.                      forward slashes "/").
  267.  
  268.       Below the main listing will be displayed total values for all the  files
  269.       displayed.  Shown are totals for length, size now, ratio (overall),  and
  270.       number  of files.  Note that these totals do NOT take into  account  the
  271.       overhead for file headers, the central directory of ZIP archives, or the
  272.       extra information found in "extended" ARC-format archives (such as those
  273.       created by the latest versions of ARC, PKPAK and PAK).
  274.  
  275.  
  276.  
  277.                                 UNSUPPORTED FEATURES
  278.  
  279.       *    Self-extracting archives.
  280.  
  281.       *    Extra  information  stored  in  the  ARC  format.   This   includes
  282.            directories  in  ARC 6.0 archives, pathnames and  comments  in  PAK
  283.            archives, and comments in PKARC archives.  The ARC format was never
  284.            designed for this extended information, and since each of the above
  285.            programs  uses  a different method of storing its  information,  it
  286.            becomes  a real pain to try to support all of it.   Therefore,  IFL
  287.            supports *NONE* of it.
  288.  
  289.       *    Comments stored in PKZIP archives.  The ability to display the main
  290.            ZIP comment may be added in the future.
  291.  
  292.  
  293.  
  294.                                 COMPRESSION METHODS
  295.  
  296.       Below is a list of all the known compression methods that IFL  supports,
  297.       along with the archive formats that use them.  A detailed explanation of
  298.       each compression method is beyond the scope of this manual.
  299.  
  300.       Unknown!       An  unknown  compression method was  encountered.   (ARC,
  301.                      DWC, LZH, PAK, ZIP, ZOO)
  302.  
  303.       ---            The  file is not compressed.  (ARC, DWC, LZH,  PAK,  ZIP,
  304.                      ZOO)
  305.  
  306.       crunched       The  file is compressed using LZW compression (fixed  12-
  307.                      bit).  (ARC)
  308.  
  309.       Crunched       The  file  is compressed using  Dynamic  LZW  compression
  310.                      (code   size  from  9  to  12  bits)   with   repeat-byte
  311.                      compression and adaptive reset.  (ARC, DWC, PAK, ZOO)
  312.  
  313.       Crushed        The  file  is compressed using  Dynamic  LZW  compression
  314.                      (code  size  from  2 to 13 bits)  with  partial  adaptive
  315.                      reset.  (PAK)
  316.  
  317.  
  318.  
  319.  
  320.                                       -- 5 --
  321.  
  322.  
  323.  
  324.  
  325.       Interior File Listing Utility            11/26/89           Version 1.50
  326.  
  327.  
  328.       Directory      This  is not a compression method, but an indicator of  a
  329.                      subdirectory  stored in an ARC 6.0 archive (which  is  no
  330.                      longer supported by IFL).  (ARC)
  331.  
  332.       Distilled      The  file  is  compressed  using  Huffman/sliding  window
  333.                      compression.  (PAK)
  334.  
  335.       Frozen         The file is compressed using a hybrid of Dynamic LZW  and
  336.                      Huffman compression.  (LZH)
  337.  
  338.       Imploded       The   file   is  compressed   using   Shannon-Fano   tree
  339.                      compression.  (ZIP)
  340.  
  341.       Packed         The  file  is compressed using  repeat-byte  compression.
  342.                      (ARC, PAK)
  343.  
  344.       Reduced #      The  file is compressed using probabilistic  and  repeat-
  345.                      byte  compression.   The "#"  indicates  the  compression
  346.                      level (1-4).  (ZIP)
  347.  
  348.       Shrunk         The  file  is compressed using  Dynamic  LZW  compression
  349.                      (code size of 9 to 13 bits) with partial adaptive  reset.
  350.                      (ZIP)
  351.  
  352.       Squashed       The  file  is compressed using  Dynamic  LZW  compression
  353.                      (code  size of 9 to 13 bits) with adaptive reset.   (ARC,
  354.                      PAK)
  355.  
  356.       Squeezed       The  file  is compressed using Huffman  encoding.   (ARC,
  357.                      PAK)
  358.  
  359.  
  360.  
  361.                                    ERROR MESSAGES
  362.  
  363.       Listed below are all the error messages produced by IFL.  If you receive
  364.       an  error while using IFL, check this list for the probable cause.
  365.  
  366.       "Archive format not supported"
  367.  
  368.            The specified file is not in a format that IFL can process.  Either
  369.            the file was created with an unsupported archiving program, or  the
  370.            file is a self-extracting archive (which IFL does not support).
  371.  
  372.       "Can't access file 'filename'"
  373.  
  374.            IFL  could  not, for some reason, access the specified  file.   The
  375.            file  may  not  exist  on the disk, or  some  other  error  may  be
  376.            preventing IFL from accessing the file.
  377.  
  378.       "Can't read archive file"
  379.  
  380.            IFL  encountered an error while reading the archive file.   (Pretty
  381.            straightforward, eh?!)
  382.  
  383.  
  384.                                       -- 6 --
  385.  
  386.  
  387.  
  388.  
  389.       Interior File Listing Utility            11/26/89           Version 1.50
  390.  
  391.  
  392.       "Invalid ARC header ID"
  393.       "Invalid LZH header ID"
  394.       "Invalid ZIP header ID"
  395.       "Invalid ZOO header ID"
  396.  
  397.            Each  entry  in  an  archive file is  preceded  by  a  header  that
  398.            identifies the file, and includes such information as the filename,
  399.            the compressed and uncompressed length, the date and time, etc.  If
  400.            this  header  is not in the place that IFL expects it,  or  if  the
  401.            header   contains  invalid  information,  this  error  message   is
  402.            displayed.
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.                                       -- 7 --
  449.  
  450.  
  451.