home *** CD-ROM | disk | FTP | other *** search
/ Multi-CD Magazin 1994 April / MultiCDMagazin0494.iso01.iso / sharew / packer / dwc_a501 / dwc.doc < prev    next >
Text File  |  1988-05-31  |  37KB  |  938 lines

  1.  
  2.  
  3.                                DWC
  4.  
  5.  
  6.                          Archive Utility
  7.                           Release A5.01
  8.  
  9.                              5/31/88
  10.  
  11.  
  12.  
  13.  
  14.                                by
  15.  
  16.                          Dean W. Cooper
  17.  
  18.  
  19.  
  20.  
  21.   (C) Copyright 1986,1987,1988 by Dean W. Cooper
  22.       ALL RIGHTS RESERVED
  23.  
  24.  
  25.   NOTE: The source code to the compressor/decompressor modules of DWC,
  26.         as of this release,  is now considered Proprietary Information
  27.         and will no longer be distributed.  However, the executable
  28.         version of DWC, and the source code that is not part of the
  29.         compressor/decompressor modules, is still available free of
  30.         charge for both private and commercial use and may be
  31.         distributed provided NO fee is charged.  Updates are available
  32.         by sending a SASE with a floppy disk to: Dean W. Cooper,
  33.         18028 Cottage Garden Dr #103, Germantown, MD 20874
  34.  
  35.   Contributions (of any kind) to help improve this program are welcomed.
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.   INTRODUCTION:
  43.   ------------
  44.  
  45.        DWC is an archive utility patterned after ARC, (C) Copyright System
  46.   Enhancement Assoc., that has many improvements and added features.  Please
  47.   note, however, that DWC is Not file compatible with ARC and cannot be used
  48.   to add or extract ARC files.
  49.  
  50.        Basic improvements include compression speed and size, and error
  51.   handling.  Also, DWC includes all of ARC's commands and options (except
  52.   the run command) and adds many new ones along with small improvements
  53.   over the old ones.  These are detailed below.
  54.  
  55.        DWC attempts to emulate ARC's interface and functionality so Users
  56.   do not need to learn a new style.  New features are added as a super-set
  57.   to ARC's features.
  58.  
  59.        An archive utility is a program that lets a User take a set of files,
  60.   compresses them, and put them together into one DOS file.  This DOS file
  61.   is called the archive.  DWC is an archive utility program that can be used
  62.   to add files to an archive, extract files from an archive, list the files
  63.   that are contained in the archive, and to delete one or more files in the
  64.   archive.
  65.  
  66.  
  67.  
  68.   USAGE:
  69.   -----
  70.  
  71.   When DWC is run with No arguments, the following usage information is
  72.   displayed:
  73.  
  74.  
  75. DWC <command>[[option]...][g<passwd>]  <archive>[/s]  [<file>[/s] ...]
  76.           Commands:                            Options:
  77.   a  Add files to archive    <digits> Max number of entries in directory
  78.   m  Move files to archive         s  Suppress compression of file
  79.   u  Update files to archive       b  Retain backup copy of archive
  80.   f  Freshen files to archive      n  Suppress normal program messages
  81.   d  Delete files in archive     w,!  Suppress (w)arnings, or all (!) messages
  82. e,x  Extract files from archive    q  Query on each add or extract
  83.   p  Extract to standard output    o  Only extract files with newer dates
  84.   l  List files in the archive     i  Inquire comment field on each add
  85.   v  Verbose list of files       z,y  Optimize for size (z), or speed (y)
  86.   t  Test integrity of files       =  Make archive date equal newest file
  87.   c  Convert files in archive      j  Merge archives on add
  88.   h  Name header file of archive   r  Record directory on add, use on extract
  89. i,k  Edit comment field of files   g  Encrypt on add, decrypt on extract
  90.   =  Make date equal newest file   -  Negate the following option
  91.           /s  Extend wildcard expansion to all sub-directories
  92.  
  93.  
  94.   DWC can be run three ways as follows:
  95.  
  96.   1) DWC by itself (displays above usage list)
  97.  
  98.   2) DWC followed by,
  99.      - An archive file name (implies default command, usually list 'l')
  100.  
  101.   3) DWC followed by,
  102.      - One of the commands
  103.        and None, one, or more of the options
  104.      - An archive file name
  105.      - An optional list of files
  106.  
  107.  
  108.   Normal DOS-style wildcards are allowed in both the archive's name and
  109.   all file names in the file list.  If wildcards are given in the archive's
  110.   name and more than one archive is matched, then the given command is
  111.   simply run once for each archive that matches.
  112.  
  113.   All commands work with the specified list of files.  This list of files
  114.   can be only one of two things: either a list of DOS files to add to the
  115.   archive, or a list of one or more files in the archive to operate on.
  116.   If no files are given in the file list, then "*.*" is assumed.
  117.  
  118.  
  119.  
  120.   ADD COMMANDS:
  121.   ------------
  122.  
  123.   These are commands that "add" DOS files to the archive.  They are:
  124.  
  125.      a  Add      - Adds all files in file list to the archive.
  126.  
  127.      m  Move     - Adds all files in file list to the archive and then
  128.                    deletes them from DOS.
  129.  
  130.      u  Update   - Adds only the files in the file list that are not already
  131.                    in the archive or that have a more recent date then the
  132.                    ones in the archive.
  133.  
  134.      f  Freshen  - Adds only the files in the file list that are already
  135.                    in the archive and have a more recent date then the ones
  136.                    in the archive.
  137.  
  138.   If "*.*" is given for the the file list (or no files are listed), then
  139.   all files in the current directory are used for the file list.  For
  140.   instance:
  141.  
  142.      DWC a test
  143.  
  144.   Adds all files in the current directory to the archive "test.dwc"
  145.   Paths may also be specified in order to add files from other drives
  146.   and directories:
  147.  
  148.      DWC u test a:*.doc  \include\sys\*.h  *.c
  149.  
  150.   This adds all "doc" files from the current directory on drive A, all
  151.   "h" files from the directory "\include\sys" on the current drive, and
  152.   all "c" files in the current directory to the archive test, except for
  153.   those files that are older than files already in the archive.
  154.  
  155.   Adding a file to an archive that already has a file in it with the
  156.   same name, will cause the file in the archive to be replaced.  An
  157.   archive cannot contain two files in it with the same name.  Also,
  158.   the archive (and its backup) that is being added to is always auto-
  159.   matically eliminated from the file list and cannot be added to itself.
  160.  
  161.  
  162.  
  163.   ADD VARIATION COMMANDS:
  164.   ----------------------
  165.  
  166.   These commands are variations on the "add" command:
  167.  
  168.      d  Delete   - (Negative Add)  Deletes all files in the file list from
  169.                    the archive.
  170.  
  171.      c  Convert  - (Internal Add)  Temporarily extracts all files in the
  172.                    file list and then re-adds them.
  173.  
  174.    i,k  Comment  - (Attribute Add) Edits the comment field of all files in
  175.                    the file list in the archive.
  176.  
  177.   A file list must be given for the delete command as, otherwise, a null
  178.   file list would cause all files to be deleted.
  179.  
  180.   The convert command can be used to convert the files from one storage
  181.   method to another.  Files can be added during the day in un-compressed
  182.   form and then later converted to compressed form.  Or they could be
  183.   converted from un-encrypted form to encrypted form (note that one cannot
  184.   convert from encryption using one password to encryption using another
  185.   password.)
  186.  
  187.   The comment command is used to add a short comment to each file stored
  188.   in the archive.  The comments are displayed when the archive is listed
  189.   with the 'l' command.
  190.  
  191.  
  192.  
  193.   EXTRACT COMMANDS:
  194.   ----------------
  195.  
  196.   These are commands that extract files from the archive:
  197.  
  198.    e,x  Extract  - Extract all files in the list from the archive to DOS
  199.                    files.
  200.  
  201.      p  Print    - Extract all files in the list from the archive to
  202.                    standard output (the screen).  This can be re-directed
  203.                    to the printer.
  204.  
  205.      t  Test     - Extract all files in the list from the archive to the
  206.                    null output (nowhere) in order to test the integrity
  207.                    of the files.
  208.  
  209.   To extract all the files in an archive, just enter:
  210.  
  211.       DWC e test
  212.  
  213.   This will extract all files in the archive "test".  To extract just
  214.   some of the files in an archive, just list them:
  215.  
  216.       DWC t test  *.h  *.c
  217.  
  218.   This will test all the "h" and "c" files in the archive "test".
  219.   The test command will uncompress the files, checking for valid CRC's
  220.   and other integrity checks.
  221.  
  222.   The extract command can include directory paths to specify where to
  223.   put the extracted files.  For example:
  224.  
  225.       DWC x test  \some\where\*.txt  fred*  b:\*.txt  sam*
  226.  
  227.   This will extract all "txt" files and all "fred" files to the directory
  228.   "\some\where", and it will extract all "txt" files (a second time) and
  229.   all "sam" files to the root directory of drive B.  Note, that the 
  230.   directory used on one file is remembered until it is overridden by
  231.   another directory.
  232.  
  233.  
  234.   If you extract a file and the file already exists in DOS, then you
  235.   will be warned and asked if you want to overwrite the existing file.
  236.   The warning message tells if the existing file is older, newer, or the
  237.   same date as the file being extracted.  If warnings are suppressed, then
  238.   it is assumed you want to overwrite the file.  However, if there is
  239.   any error in extracting the file, then you will be prompted if you
  240.   really want to overwrite the file with a corrupted one.  Thus, one
  241.   does not need to worry about accidentally overwriting a file.
  242.  
  243.  
  244.  
  245.   LIST COMMANDS:
  246.   -------------
  247.  
  248.   These are commands that list the files in the archive:
  249.  
  250.      l  List     - Lists all files in the file list along with their comments.
  251.  
  252.      v  Verbose  - A more detailed (verbose) list of the files in the file
  253.                    list.
  254.  
  255.   The list command displays as follows:
  256.  
  257. Name          Length    Date       Comment
  258. ============  ========  =========  ============================================
  259. CHKDSK.COM        6468  19 Oct 83  System command to check disk integrity
  260. DEBUG.COM        12223  19 Oct 83  Machine language debuger
  261. DISKCOPY.COM      1703  30 Jan 84  Makes an image copy of one disk to another
  262. EDLIN.COM         8080  19 Oct 83  DOS line oriented editor
  263.         ====  ========
  264. Total      4     28474
  265.  
  266.   "Length" is the size of the file when un-compressed, and "Date" is
  267.   the date that DOS had for the file when it was added to the archive.
  268.   "Comment" is the User added comment field for each file.
  269.  
  270.   Please note, that the "r" option will make the list command display
  271.   the directory path saved with each file instead of the comment field.
  272.  
  273.   The verbose command displays as follows:
  274.  
  275. Last modified: 18 Dec 86   8:26a
  276.  
  277. Name          Length    Stowage   SF    Size now  Date       Time    Pass
  278. ============  ========  ========  ====  ========  =========  ======  ====
  279. CHKDSK.COM        6468  Crunched   17%      5419  19 Oct 83   7:51p   -- 
  280. DEBUG.COM        12223  Crunched   13%     10680  19 Oct 83   7:52p  Pass
  281. DISKCOPY.COM      1703     --       0%      1703  30 Jan 84  12:59a   -- 
  282. EDLIN.COM         8080  Crunched   52%      3912  19 Oct 83   7:51p   -- 
  283.         ====  ========            ====  ========
  284. Total      4     28474             24%     21714
  285.  
  286.   The verbose list includes the method of storage ("Stowage") which is
  287.   either:
  288.  
  289.            --       No compression
  290.         Crunched    Lempel-Ziv compression
  291.  
  292.   The stowage factor, "SF", is the percent the file was compressed.
  293.   "Size now" is the size of the file in the archive.  "Pass" is either
  294.   "--" for not encrypted, or "Pass" for encrypted.  The date given for
  295.   "Last modified" is the date the archive was last added to or modified.
  296.  
  297.  
  298.  
  299.   ATTRIBUTE COMMANDS:
  300.   ------------------
  301.  
  302.   These are commands that modify an attribute of the archive:
  303.  
  304.      h  Header   - Names one file in the archive to be the "header" file
  305.                    of the archive.  The header file is extracted and displayed
  306.                    before a listing of the archive.  There is no restriction
  307.                    to the size or contents of this file.
  308.  
  309.      =  Equal    - Resets the date of the archive to equal the newest file
  310.                    in the archive if No file is specified in the file list.
  311.                    Or resets the date to equal the date of one file given
  312.                    in the file list.
  313.  
  314.  
  315.  
  316.   ADD OPTIONS:
  317.   -----------
  318.  
  319.   These are options that modify the "add" commands:
  320.  
  321.      s  Suppress - Suppresses compression of files when they are added. Just
  322.                    an image copy will be added. (Does not apply to the delete
  323.                    or comment commands.)
  324.  
  325.      b  Backup   - Creates a backup copy of the archive before it is changed
  326.                    by adding to it.
  327.  
  328.      i  Inquire  - Prompts User for comment fields for each file as they are
  329.                    added.  (Does not apply to the delete command.)
  330.  
  331.      z  Size     - Optimizes compression of files for smaller size when they
  332.                    are added.  The default compression technique is optimized
  333.                    for speed and requires less memory.  (Does not apply to
  334.                    the delete or comment commands.)
  335.  
  336.      y  Speed    - Uses the compression algorithm that is designed for speed
  337.                    of compression as compared to size.  This algorithm
  338.                    requires less memory then the "size" option.  (Does not
  339.                    apply to the delete or comment commands.)
  340.  
  341.      =  Equal    - Makes the date of the new archive equal the date of the
  342.                    newest file in the archive.
  343.  
  344.      j  Merge    - When a file in the file list is an archive, it is merged
  345.                    into the new archive instead of being added like a normal
  346.                    file.  (Does not apply to delete, comment, or convert.)
  347.  
  348.  
  349.  
  350.   EXTRACT OPTIONS:
  351.   ---------------
  352.  
  353.   These are options that modify the "extract" commands:
  354.  
  355.      o  Only     - Causes only the files with more recent dates than the
  356.                    DOS files they would overwrite to be extracted.  The
  357.                    warning that a file is going to be overwritten, is
  358.                    automatically suppressed.
  359.  
  360.  
  361.  
  362.   BOTH ADD & EXTRACT OPTIONS:
  363.   --------------------------
  364.  
  365.   These are options that modify both the add and extract commands:
  366.  
  367.      q  Query    - Queries the User for confirmation before each add or
  368.                    extract is performed. (Applies to the print command
  369.                    but not the comment command.)
  370.  
  371.      r  Record   - Records what DOS directory the file was in when added
  372.                    to the archive and then extracts the file to that
  373.                    directory when extracting unless overridden.  Can be
  374.                    used with the list command to display the directories
  375.                    recorded for each file.  (Does not apply to delete,
  376.                    comment, or convert.)
  377.  
  378.      g  Garble   - This option must be the last option listed.  The
  379.                    characters following it are interpreted as a password.
  380.                    Using this password, files are encrypted when added
  381.                    and decrypted when extracted.  If a file is encrypted
  382.                    and one attempts to extract it without supplying a
  383.                    password, he will be warned.
  384.  
  385.      n  Notes    - Normal screen output is suppressed by sending it to the
  386.                    null output.
  387.  
  388.      w  Warnings - Warning messages are suppressed such as the warning that
  389.                    an extracted file will overwrite an existing DOS file.
  390.                    Also suppressed is the warning that the directory one is
  391.                    extracting to does not exist.  In this case, the
  392.                    directory is automatically created.
  393.  
  394.      !  All      - All messages will be suppressed including notes, warnings
  395.                    and errors.  This is useful in a batch file that can
  396.                    check for any error codes returned by DWC.  The only
  397.                    things that can't be suppressed are the query option, the
  398.                    inquire option/command, and the list commands.
  399.  
  400.  
  401.   Examples:
  402.  
  403.        DWC agxyz test *.txt
  404.  
  405.   This will add all "txt" files in the current directory to the archive
  406.   "test".  They will be encrypted using the password "xyz" (case insensitive).
  407.   The attribute that the files were encrypted is recorded, but the password
  408.   is not saved.  Thus, care must be taken using this option, as it is
  409.   unlikely that the file could be recovered if the password was lost.  To
  410.   extract these files, just type:
  411.  
  412.        DWC egxyz test
  413.  
  414.   The record option is a good way to backup an entire directory including
  415.   all sub-directories.  When restoring, the directories will automatically
  416.   be created.  For example:
  417.  
  418.        DWC ar backup \source/s
  419.  
  420.   This will add all files in the directory "source", and all of its sub-
  421.   directories, to the archive "backup".  The names of the directories
  422.   that the files are in will be recorded with the files in the archive.
  423.   To reproduce the entire directory tree on another drive, one could type:
  424.  
  425.        DWC erw backup d:
  426.  
  427.   This will extract all the files in the archive "backup" to drive D.
  428.   The files that have a directory recorded with them will be put in those
  429.   directories on drive D.  If the directories do not exist, they will
  430.   automatically be created.  If the "warning" option was not used, you
  431.   would be prompted whether or not you want the directories created.  If
  432.   the "record" option was not used, all files would simply be extracted to
  433.   the current directory of drive D.  If the following was typed:
  434.  
  435.        DWC erwq backup  d:*.c  a:\*.c
  436.  
  437.   This would extract all "c" files in the archive to drive D, to their
  438.   recorded directories, and create the directories automatically.  Then
  439.   all "c" files would be extracted (a second time) to the root directory
  440.   of drive A ignoring what directories were recorded with the files.  As
  441.   each file is extracted, the User would be be prompted for confirmation
  442.   as to whether or not that file should be extracted.
  443.  
  444.   Please note that currently, no two files with the same name can be added
  445.   to the archive even though they are in different directories.  This will
  446.   be corrected in a future release.
  447.  
  448.  
  449.  
  450.   MISCELLANEOUS OPTIONS:
  451.   ---------------------
  452.  
  453.      -  Negate   - Negates or reverses the effect of the option following.
  454.                    This is useful to override options that were prepended
  455.                    automatically when using the DWCADD environment variable.
  456.                    For example:
  457.  
  458.                         "-b" means don't do backups
  459.                         "-s" means don't suppress compression
  460.                         "-w" means don't suppress warning messages
  461.                         "-z" means don't optimize for size (use speed)
  462.                                  .. etc ..
  463.  
  464.      <digits>    - This number is the maximum number of entries allowed
  465.                    in the archive's directory when loaded into memory.
  466.                    The default is 900 which requires about 30K, but can
  467.                    be set from 100 to 1800.
  468.  
  469.  
  470.   WILDCARDS:
  471.   ---------
  472.  
  473.   Wildcards can be used in both the archive name and all files in the
  474.   file list.  If a name used is the name of a DOS directory, then
  475.   "*.*" is assumed.  For example:
  476.  
  477.        DWC a test  dos
  478.  
  479.   If "dos" is a file, then it will be added as normal.  But if "dos"
  480.   is a directory then all files in that directory will be added just
  481.   as if the following command was given:
  482.  
  483.        DWC a test  dos\*.*
  484.  
  485.   This is the same for the archive name.  If "test" is the name of a
  486.   directory, then all archives in that directory will be operated on just
  487.   as if the following command was given:
  488.  
  489.        DWC a test\*.*  dos\*.*
  490.  
  491.   Wildcards in the archive name are more common when listing or extracting.
  492.   For example:
  493.  
  494.        DWC ewo a:*  \include\*.h  *.lib   \doc\*.doc
  495.  
  496.   This will extract from all archives on drive A.  Only the files with
  497.   more recent dates, or that do not already exist, will be extracted and
  498.   all warnings (such as "File not found" warnings) will be suppressed.
  499.   "h" files and "lib" files will be extracted to the directory "\include",
  500.   while "doc" files will be extracted to the directory "\doc".
  501.  
  502.  
  503.   The "/s" option may be tacked onto the end of any archive name or file
  504.   name to extend wildcard expansion to all sub-directories.  For example:
  505.  
  506.        DWC a test dos\*.txt/s
  507.  
  508.   This means to add all "txt" files in the "dos" directory and all
  509.   directories in the "dos" directory and all directories in those
  510.   directories, and so on.  One can add all files on a drive by giving
  511.   the command:
  512.  
  513.        DWC a test \*.*/s
  514.  
  515.   Or even more simply:
  516.  
  517.        DWC a test \/s
  518.  
  519.   Or:
  520.  
  521.        DWC a test a:\/s
  522.  
  523.   Which adds all files in all directories on the A drive.
  524.  
  525.  
  526.  
  527.   PATHNAMES:
  528.   ---------
  529.  
  530.   All file path names may be formed using either back slashes or forward
  531.   slashes.  Thus, the following two commands are identical:
  532.  
  533.        DWC a c:\util\save  d:\stuff\*.*
  534.  
  535.        DWC a c:/util/save  d:/stuff/*.*
  536.  
  537.  
  538.  
  539.   RAMDISK SUPPORT:
  540.   ---------------
  541.  
  542.   When adding to an archive, a temporary archive is created and then
  543.   re-named to the new archive when the add is successfully completed.
  544.  
  545.   This archive is normally put in the current directory, but can be
  546.   put in any other directory by specifying the path in an environment
  547.   variable.  The following environment variables are searched in order
  548.   for a path to use:
  549.  
  550.         DWCTEMP
  551.         ARCTEMP
  552.         TEMP
  553.         TMP
  554.  
  555.   To make DWC put the temporary archive on a ramdisk on drive D, just
  556.   type:
  557.  
  558.         set DWCTEMP=D:
  559.  
  560.   Another temporary file that DWC uses is a temporary extract file.
  561.   When a file is extracted, it is first extracted to a temporary file
  562.   and, if successful, re-named to the actual extracted file.  (Note,
  563.   this only happens if an existing file is being overwritten.)
  564.  
  565.   When re-naming a temporary file from one drive to another, there
  566.   may be an out of disk space error.  In this case, the file is re-named
  567.   in place and the User is warned what happened to his file.  If there
  568.   is an error re-naming the file in place, then the User is told the
  569.   name of the temporary file where his data is now at.
  570.  
  571.   Also, the control-C interrupt is handled, and all temporary files
  572.   are deleted before the program terminates.
  573.  
  574.  
  575.  
  576.   ENVIRONMENT VARIABLES:
  577.   ---------------------
  578.  
  579.   Besides the environment variable used to indicate where the temporary
  580.   files should be place, there are three other environment variables as
  581.   follows:
  582.  
  583.         DWCDEF   -  Defines the default command and options to execute
  584.                     when none are given.
  585.  
  586.         DWCADD   -  Defines options to prepend to the ones given on the
  587.                     command line.
  588.  
  589.         TZ       -  Sets the time zone for your computer.  (This is a
  590.                     standard MicroSoft C library environment variable.)
  591.  
  592.   For example:
  593.  
  594.         C>set DWCDEF=x
  595.  
  596.   Will cause an archive to be automatically extracted when no command is
  597.   given as in:
  598.  
  599.         C>dwc test
  600.  
  601.   Here all files from the archive "test" will be extracted because the
  602.   default command is "x" as defined be the environment variable DWCDEF.
  603.   If this environment variable is not set, the default command will be
  604.   'l', or the list command.
  605.  
  606.         C>set DWCADD=zq
  607.  
  608.   Will cause the options "z" and "q" to be prepended to whatever options
  609.   the user supplies on the command line.  The command:
  610.  
  611.         C>dwc a test
  612.  
  613.   will in effect become,
  614.  
  615.         C>dwc zqa test
  616.  
  617.   Here, files will be added using the "size" algorithm and the user will
  618.   be prompted before each file is added.  Please note that options are
  619.   parsed in left to right order, so that the following command:
  620.  
  621.         C>dwc ay test
  622.  
  623.   would override the effect of the "z" option.  Also, options that do
  624.   not apply for a given command are simply ignored.
  625.  
  626.   The environment variable TZ is used to set the time zone that you
  627.   are in.  This effects how a file's time (and possibly date) is
  628.   displayed when files are listed with the 'v' and 'l' options and
  629.   effects what date and time the files are given when they are extracted.
  630.  
  631.   Say someone who lives in New York adds a file dated Nov 23, 87 - 9:19p
  632.   to an archive and then gives the archive to a friend in California.
  633.   Normally, if neither user has set the TZ environment variable, the
  634.   file when extracted in California would be given the same date and
  635.   time.  However, if both users have set the TZ variable appropriately,
  636.   then the file extracted in California would be given the time 6:19p,
  637.   which shows the correct time of its creation.
  638.  
  639.   The default time zone is Pacific daylight savings time.  This is
  640.   denoted as follows:
  641.  
  642.         SET TZ=PST8PDT
  643.  
  644.   The value of TZ must be a three-letter time zone name (such as EST),
  645.   followed by a signed or unsigned number giving the difference between
  646.   Greenwich mean time and the local time zone.  The number may be followed
  647.   by a three-letter daylight-saving-time zone name (such as EDT).
  648.  
  649.  
  650.  
  651.  
  652.   MEMORY:
  653.   ------
  654.  
  655.   Memory requirements vary.  Given lots of memory, the program will use
  656.   the following amounts:
  657.  
  658.         "size" compression   -  410K
  659.         "speed" compression  -  320K
  660.         decompression        -  306K
  661.  
  662.   Those figures include two very large buffers that can be as large as
  663.   63K each.  However, if memory does not permit, then these buffers will
  664.   be automatically reduced so that memory requirements are as follows:
  665.  
  666.         "size" compression   -  290K
  667.         "speed" compression  -  198K
  668.         decompression        -  182K
  669.  
  670.   Now this assumes the default size of the in-memory directory which
  671.   at 900 entries requires about 30K.  This can be reduced to 100
  672.   entries or raised to 1800 entries.  Say it's reduced to 300, that
  673.   would give us:
  674.  
  675.         "size" compression   -  270K
  676.         "speed" compression  -  178K
  677.         decompression        -  162K
  678.  
  679.   Now, the "size" compression is a special case, as it can be reduced
  680.   even more.  If one wants to use the "z" option, but memory does not
  681.   permit, then the program will automatically reduce the size of the
  682.   hash table until memory permits.  The hash table starts out at 31K
  683.   and will be reduced down to 26K.  This is the number of entries in
  684.   the hash table each of which requires 4 bytes.  Thus, at best this
  685.   would give us:
  686.  
  687.         "size" compression   -  250K
  688.  
  689.   This as the trade-off requiring more time (shouldn't be more than
  690.   twice as slow).  If memory still doesn't permit, then the string table
  691.   will be reduced in order to make more room.  The string table has 22K
  692.   entries and will be reduced down to 16K if need be.  This will save
  693.   us 5 bytes per entry, or at best would give us:
  694.  
  695.         "size" compression   -  220K
  696.  
  697.   This has the trade-off of worse compression as the "size" compression
  698.   gets most of its advantage by using a large string table.  However,
  699.   this is still better than the "speed" option which uses a 12K string
  700.   table and squashing which uses a 8K string table (ARC uses a 4K table).
  701.  
  702.   Please note, that the "l" and "v" commands (the list commands) usually
  703.   require only about 60K of memory.  However, if one is listing an
  704.   archive that has a header file, then the header file will be extracted
  705.   during the list, and thus, require the same amount of memory described
  706.   above for decompression.  Also, if one lists more than one archive at
  707.   a time, then DWC assumes the worst case and allocs memory assuming one
  708.   of the archives will contain a header file.
  709.  
  710.   Also note, that in the case of the "l", "v", "h", and "x" or "e"
  711.   commands, when used with only one archive, that the size of the
  712.   in-memory directory is based on the actual number of entries in the
  713.   archive.  Thus, if the archive has more entries than had been specified
  714.   for the directory to hold, there will be no directory overflow error.
  715.   Also, the minimum amount of memory will be used.
  716.  
  717.  
  718.  
  719.  
  720.   ERROR CODES:
  721.   -----------
  722.  
  723.   DWC returns error codes to DOS that can be tested for in batch files.
  724.   If no errors or warnings occur, then DWC will return 0.  The following
  725.   sections list all possible errors and warnings along with the codes
  726.   returned if that warning or error occurs.
  727.  
  728.   Please note that often, DWC will continue as best it can even after a
  729.   warning or error occurs.  In this case, multiple errors or warnings
  730.   may occur.  They are given the following error codes:
  731.  
  732.        Multiple errors:     2
  733.        Multiple warnings:   3
  734.  
  735.   Also, error codes override any warnings.  So if to two warnings occur
  736.   and only one error with the code of 20, then DWC will return 20.
  737.  
  738.   If DWC is terminated by a Control-C, then DWC will return:
  739.  
  740.        Control-C:           1
  741.  
  742.  
  743.  
  744.  
  745.   USAGE ERRORS:
  746.   ------------
  747.  
  748.   These are the possible errors that result in immediate termination
  749.   of DWC with an error message and the normal usage display.  They
  750.   can only be suppressed with the "!" option.
  751.  
  752.   Code  Message
  753.  
  754.    10   ERROR: Illegal parameter in argument list.
  755.            - A character in the command and options argument was not
  756.              a known command or option.  If "!" follows the offending
  757.              character, this message would not be suppressed.
  758.  
  759.    11   ERROR: No command specified.
  760.            - Only options but no command was found in the command and
  761.              options argument.
  762.  
  763.    12   ERROR: Only ONE command allowed.
  764.            - More than one command was found in the command and options-
  765.              argument.  This is illegal.
  766.  
  767.    13   ERROR: Password required with the 'g' option.
  768.            - No password was found to follow the "g" option in the command
  769.              and options argument.
  770.  
  771.    14   ERROR: Missing archive file in argument list.
  772.            - Archive file listed on command has an extension other than
  773.              ".DWC", or ".*".
  774.  
  775.  
  776.  
  777.  
  778.   ERRORS:
  779.   ------
  780.  
  781.   These are the possible errors that DWC can report.  They can only be
  782.   suppressed with the "!" option.
  783.  
  784.   Code  Message
  785.  
  786.   20    ERROR: Out of memory
  787.          - Ran out of memory.  See section on memory requirements.  It's
  788.            possible to run out of memory even if your computer has lots
  789.            as memory for various reasons.  One possible reason is too many
  790.            files matching the wildcards specified.  This error causes
  791.            immediate termination.
  792.  
  793.   21    ERROR: Files must be specified to be deleted.
  794.          - The delete command was given but no files specified.  This error
  795.            causes immediate termination.
  796.  
  797.   22    ERROR: No header file specified.
  798.          - The header command was given but no header file was specified.
  799.            This error causes immediate termination.
  800.  
  801.   23    ERROR: Can't open NULL output channel
  802.          - When messages are suppressed, they are redirected to the nul
  803.            output, but it failed to open.  This error causes immediate
  804.            termination.
  805.  
  806.   24    ERROR: Can't open archive ssss.xxx for writing to.
  807.          - The header command could not re-open the archive in write mode.
  808.            This error causes immediate termination.
  809.  
  810.   25    ERROR: Out of disk space on drive X:, giving up.
  811.          - Ran out of space on the indicated drive.  The temporary archive
  812.            file is deleted.  This error causes immediate termination.
  813.  
  814.   40    ERROR: Archive file ssss.xxx does not exist.
  815.          - Command requires an archive and it cannot be opened.
  816.  
  817.   41    ERROR: Can't create temporary file tttt.xxx ... Skipping ssss.xxx
  818.          - The temporary extract file could not be created, so the file
  819.            ssss.xxx is not extracted.
  820.  
  821.   42    ERROR: Unexpected EOF while reading ssss.xxx ... Skipping
  822.          - An unexpected EOF was encountered while seeking to the position
  823.            in the archive where the file ssss.xxx was supposed to be.
  824.  
  825.   43    ERROR: File ssss.xxx corrupted, CRC error
  826.   43    ERROR: File ssss.xxx corrupted, Stack Overflow
  827.   43    ERROR: File ssss.xxx corrupted, Size Mismatch
  828.          - The extracted file was corrupted as detected by a CRC error, or
  829.            a Lempel-Ziv un-compress stack overflow, or the extracted file's
  830.            size does not equal the saved size.
  831.  
  832.   44    ERROR: ssss.xxx not a DWC archive file or is corrupted.
  833.          - The last three bytes of a DWC archive file must be the letters
  834.            "DWC".  Either this or some other obvious error in the file
  835.            was found when opening it.
  836.  
  837.   45    ERROR: Directory of archive ssss.xxx corrupted.
  838.          - The number of directory entries stored with the archive caused
  839.            a seek past the beginning of the file.
  840.  
  841.   46    ERROR: Can't create temporary DWC file ssss.xxx
  842.          - Temporary archive file used on a add could not be created.
  843.  
  844.   47    ERROR: Archive ssss.xxx too corrupted to use.
  845.          - All directory entries in the archive are corrupted.
  846.  
  847.   48    ERROR: Can't create file ssss.xxx
  848.          - While re-naming a file, the new file could not be created.
  849.  
  850.   49    ERROR: Ran out of disk space.  File ssss.xxx is now in the temporary
  851.          directory dddd
  852.          - While copying a temporary file from one drive to another, we
  853.            ran out of disk space, so the file specified is now in the
  854.            directory specified.
  855.  
  856.   50    ERROR: Ran out of disk space.  File ssss.xxx is now in the temporary
  857.          directory and file ddd\tttt.xxx
  858.          - While copying a temporary file from one drive to another, we
  859.            ran out of disk space, so the file specified is now in the
  860.            directory specified and has the new name specified.
  861.  
  862.   51    ERROR: Drive x: does not exist.
  863.          - When trying to open the archive file, we found that the drive
  864.            specified did not exist.
  865.  
  866.   52    ERROR: Can't create archive tttt.xxx.
  867.          - The archive name includes wildcard characters and cannot be
  868.            created.
  869.  
  870.  
  871.  
  872.  
  873.   WARNINGS:
  874.   --------
  875.  
  876.   These are the possible warnings that DWC can report.  They can be
  877.   suppress using the "w" option or the "!" option.
  878.  
  879.   Code  Message
  880.  
  881.   none  WARNING: Not enough memory to optimize
  882.            - In order to optimize for size, one needs at least 248K of
  883.              free memory (up to 410K will be used.)  Normal compression
  884.              requires at least 198K of free.  These figures assume the
  885.              default size of the in-memory directory.
  886.  
  887.   60    WARNING: File ssss.xxx repeated ... Ignoring
  888.            - One cannot add more than one file with the same name.
  889.  
  890.   61    WARNING: File not found: ssss.xxx
  891.            - The file specified is not in the archive.
  892.  
  893.   62    WARNING: Can't open temporary file tttt.xxx ... Skipping ssss.xxx
  894.            - The temporary extract file could not be created, so the file
  895.              ssss.xxx, that was to be converted, is skipped
  896.  
  897.   63    WARNING: Can't find file ssss.xxx ... Skipping it.
  898.            - The file that was to be added could not be found, so it is
  899.              skipped
  900.  
  901.   63    WARNING: Can't open file ssss.xxx ... Skipping it.
  902.            - The file that was to be added could not be opened, so it is
  903.              skipped
  904.  
  905.   64    WARNING: File ssss.xxx archived with password ... Skipping
  906.            - An attempt was made to extract an encrypted file without
  907.              giving a password, so it is skipped
  908.  
  909.   65    WARNING: Extraction of the archive file ssss.xxx from itself
  910.            and on top of itself is NOT allowed ... Skipping\n");
  911.            - This warning is not likely, but is given to warn the User
  912.              of a destructive extraction.
  913.  
  914.   66    UNKNOWN compression method ... Skipping
  915.            - The file was compressed using an unknown method and cannot
  916.              be uncompressed using this release of the archiver.
  917.  
  918.   67    WARNING: Header file not found in archive.
  919.            - The header file named does not match any file in the archive.
  920.  
  921.   68    WARNING: More than one header specified. Using ssss.xxx.
  922.            - More than one archive file was listed in the file list.
  923.              So DWC will just use the first one.
  924.  
  925.   69    WARNING: File(s) specified not found in archive.
  926.            - The file (or files) specified for the equal command could
  927.              not be found in the archive.
  928.  
  929.   70    WARNING: Only xx directory entries out of nn found.
  930.            - The archive's directory is tacked onto the end of the archive
  931.              file and EOF was reached before all entries were read in.
  932.  
  933.   71    WARNING: Directory entry # xx, file "ssss.xxx" corrupted .. Ignoring.
  934.            - The specified directory has corrupted data
  935.  
  936.   72    WARNING: Unexpected EOF, ignoring...
  937.            - While copying a file, an unexpected EOF was encountered.
  938.