Title: Document on LHARK Version 0.3A

I.      Introduction

            LHARK is an LZH-compatible archiving software with a new
        compression method that is faster and more efficient (makes
        smaller archives).
            Just like anything that's free, THIS DOES NOT COME WITH
        ANY WARRANTY! IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        ANYTHING RESULTING FROM THE USE OF THIS SOFTWARE!

II.     Using LHARK

        A.  Commands

            a (Add)
                    This command will cause LHARK to compress the
                files specified in the command line and add them to
                the archive. This command will create the archive if
                it does not exist.

            d (Delete)
                    This command will delete from the archive all
                files specified in the command line.

            e (Extract)
                    This command will decompress and recreate files
                from the archive. If no file is specified in the
                command line, all files in the archive is decompressed
                and recreated.

            f (Freshen)
                    This command is like the Add command except that
                only those files that are already in the archive and
                is newer will be compressed and added to the archive.

            l (List)
                    This command will display the names and other
                information of the files in the archive.

            s (SFX)
                    This command will make an self-extracting archive
                from an existing archive file. This version of
                LHARK-SFX does not yet support encrypted archives.

            t (Test)
                    This command will decompress files from the
                archive and test the validity of their CRC. If no file
                is specified in the command line, all files in the
                archive is decompressed and tested.

            u (Update)
                    This command is like the Add command except that
                only those files that are not yet in the archive or is
                newer that those in the archive will be compressed and
                added to the archive.

        B.  Options

            -c? (Compression method)
                    This option controls the method of compressing
                files when adding them to the archive. The following
                methods can be used:

                    -c0     No compression is done and files are
                            stored/copied to the archive.

                    -c5     The "-lh5-" method (compatible with LHA
                            2.xx) is used.

                    -c7     The new "-lh7-" method is used. This is
                            the default option.

            -e (Encrypt)
                    This option causes LHARK to encrypt files when
                compressing or decrypt when decompressing. LHARK will
                ask for the password that will be used as a key for
                encryption/decryption.
                    Care should be taken in using this option with
                this current version because LHARK does not record in
                the archive header whether a file is encrypted or not.
                This is because there is no provision on the basic
                header for a flag that denotes encrypted data. This
                flag can be stored on the extended header but there is
                no standard yet as to where it should be placed. I
                will have to consult this with Yoshizaki.
                    If this option is used in compressing, be sure to
                use this option again when decompressing.

            -k (Keep temporary file)
                    On errors, this option will prevent LHARK from
                deleting the temporary archive file that is generated
                when the archive file is updated.

            -m (Move)
                    This option works with Add, Update, and Freshen
                command. With this option, all files added to the
                archive is removed (deleted).

            -p (Path)
                    When adding files to the archive, this option
                includes the directory names of the files to the names
                stored in the archive.
                    When extracting files from the archive, this
                option will create the directory of the files in the
                archive.

            -r (Recurse directories)
                    When adding files to the archive, this option will
                search for files from all the subdirectories of the
                paths and files specified in the command line.

            -t?? (compression Type)
                    This option controls the speed and efficiency of
                the compression when using the "-c7" (new/"-lh7-")
                option. The following types can be used:

                    -tt     This "Turbo" option will use a very fast
                            compression routine at the cost of some
                            inefficiency.

                    -ta1    This "Acceptable-1" option will use a
                            routine that makes use of a good trade-off
                            of speed and efficiency. This method finds
                            match distances of up to 32K.

                    -ta2    This "Acceptable-2" option is like the
                            "-ta1" option, but will find match
                            distances of more than 32K. This is a
                            little slower but is more efficient for
                            large files.

                    -toa    This "Optimum-A" option will use a routine
                            that will try to compresses better but at
                            a slower rate. This method finds match
                            distances of up to 32K.

                    -tob    This "Optimum-B" option is like the "-toa"
                            option, but will find match distances of
                            more than 32K. This is a little slower but
                            is more efficient for large files.

            -v (Verify)
                    This option will check the CRC of the files in the
                archive after the archive has been updated by the
                addition or deletion of files.

III.    Compatibility with LHA

        A.  Archive file format

                LHARK generates archive file headers that are
            compatible with LHA. Any archive created by LHARK can be
            operated on by LHA and LHARK can operate on any archive
            create by LHA.

        B.  Compresssion methods

                LHARK can generate compressed files using the "-lh5-"
            method compatible with LHA. Archive files created by LHARK
            using the "-c5" option can be decompressed by LHA.
                LHARK can also decompress files made by LHA using
            "-lh4-" and "-lh5-" methods.
                The default compression method used by LHARK ("-lh7-")
            is new and cannot be decompressed by LHA.

IV.     Reaching the Author

            I would greatly appreciate comments, suggestions and bug
        reports. I can be reached at:

            Internet e-mail:
                digi@mozcom.com

            NiftyServe:
                RGE00576

            Office (snail-mail; your last resort)
                Kerwin F. Medina
                DIGI Software (Philippines), Inc.
                3/F King's Court Annex Bldg.,
                2129 Pasong Tamo St., Makati,
                Metro Manila, Philippines

                Note however that the company that I work for (DIGI
                Software) has nothing to do with LHARK.

Kerwin F. Medina
Oct 03, 1995
