


FREEZE (1)              Public-Domain Utilities               FREEZE (1)







NAME  

        freeze, melt, fcat - compress and uncompress files 



SYNOPSIS  

        pfreezeq [ p-cdfvVgq ] [ pfilename | +type ...q ] 

        pmeltq [ p-cfvVq ] [ pfilename ...q ] 

        pfcatq [ pfilename ...q ] 



DESCRIPTION  

        Compresses the  specified files or standard input.  Each file is

        replaced by a file with the extension p.F,q but only if  the  file

        got smaller.    If  no  files  are specified, the compression is

        applied to the standard input and is written to standard  output

        regardless of  the results.  Compressed files can be restored to

        their original form by specifying the p-dq option, or  by  running

        pmeltq  (linked  to  pfreezeq),  on  the    p.Fq files or the standard

        input.  



        If the output file exists, it will not be overwritten unless the 

        p-fq flag is given.  If p-fq is not specified and pfreezeq is  run  in

        the  foreground,  the  user  is  prompted as to whether the file

        should be overwritten.  



        If the p-gq flag is given, a slightly less  powerful  (compression

        rate is 1.5% less), but 40% faster heuristic is used.  



        If  the  p-fq flag is given, all files specified are replaced with

        p.Fq files - even if the file didn't get smaller.  



        When file names are given,  the  ownership  (if  run  by  root),

        modes,  accessed  and  modified times are maintained between the

        file and its  p.Fq version.  In this respect, pfreezeq can  be  used

        for  archival purposes, yet can still be used with pmakeq(1) after

        melting.  



        The p-cq option causes the results of the freeze/melt operation to 

        be written to stdout; no files are changed.  The pfcatq program is 

        the same as specifying p-cq to pmeltq (all files  are  unpacked  and

        written to stdout).  



        The  p-vq  (verbose)  option causes the diagnostics (at the end of

        each file processing) to be  printed  to  stderr,  and  the  p-vvq

        option  causes  the  progress  indicator to be drawn to the same

        place.  



        pTypeq is a token preceded by a '+', which  defines  the  type  of

        following files  in the command string.  An explicite definition

        of the file's type can give up to 2% of additional  compression.

        The list  of types is stored in file p/etc/default/freezeq.  Types

        may be abbreviated while not ambigious.  You can also  determine

        values for the static Huffman table by using a list of 8 numbers 

        separated by commas instead of ptype.q 







Tue Jan 4 23:10:58 1994                                           Page 1







FREEZE (1)              Public-Domain Utilities               FREEZE (1)





        pFreezeq  uses  the Lempel-Ziv algorithm on the first pass and the

        dynamic Huffman algorithm on  the  second  one.    The  size  of

        sliding  window  is 8K, and the maximum length of matched string

        is 256.  The positions on the window are coded  using  a  static

        Huffman table.  



        A  two byte magic number is prepended to the file to ensure that

        neither melting of random text nor refreezing of already  frozen

        text are  attempted.    In  addition, the characteristics of the

        static Huffman table being used during pfreezeq is written to  the

        file  so  that  these characteristics may be adapted to concrete

        conditions.  



        The amount of compression obtained depends on the  size  of  the

        input  file  and  the  distribution  of character substrings and

        their probabilities.  Typically, text files, such as C programs, 

        are reduced by 60-75%, executable  files  are  reduced  by  50%.

        Compression  is  generally much better than that achieved by LZW

        coding (as used in pcompressq), or  Huffman  coding  p(qpack  though

        takes more time to compute.  



        If  the p-Vq (version) flag is given, the program's version number

        and compilation options are printed.  



        The exit status is normally 0; if  the  last  file  gets  bigger

        after  freezing,  the  exit status is 2; if an error occurs, the

        exit status is 1.  



SEE ALSO  

        compact(1), pack(1), compress(1) 



DIAGNOSTICS  

        Unknown flag:  pºxº;q Usage: freeze [-cdfvVg] [file|+type ...] 

                Invalid options were specified on the command line.  

        pfileq: not in frozen format 

                The specified file has not been frozen.  

        pfileq: already has .F suffix -- no change 

                Cannot compress a file that has a ".F"  suffix.    pmvq(1)

                the file to a different name and try again.  

        pfileq: filename too long to tack on .F 

                The  specified  file  cannot  be  compressed because its

                filename is longer than 12 characters.  pmvq(1)  the  file

                to a  different  name  and try again.  This message does

                not occur on 4.XBSD systems.  

        pfileq already exists; do you wish to overwrite (y or n)?  

                Respond "y" if you want the output file to be  replaced;

                "n" if you want it to be left alone.  

        pfileq: pxxq% or pxxxqK 

                These   message   fragments   are   written  during  the

                processing of a file, if p-vvq option  was  given  in  the

                command  line  (in percents, if the length of file being

                processed is known; in Kbytes otherwise).  

        Freezing: pxx.xx% (y.yyq bits) 

                This message fragment gives the percentage of the  input





Tue Jan 4 23:10:58 1994                                           Page 2







FREEZE (1)              Public-Domain Utilities               FREEZE (1)





                file  that  has been saved by freezing and the number of

                remaining bits per byte of original file.  

        -- not a regular file: unchanged 

                This message fragment is written when the input file  is

                not a regular file.  The input file is left unchanged.  

        -- has  pxxq other links: unchanged 

                This message fragment is written when the input file has 

                links.  The input file is left unchanged.  See plnq(1) for 

                more information.  

        -- file unchanged 

                This  message  fragment  is  written when no savings are

                achieved by  freezing.    The   input   file   is   left

                unchanged.  

        -- replaced with  pfileq 

                This  message  fragment  is written when a file has been

                sucessfully frozen/melt.  

        Using " ptypeq " type 

                This  message  indicates  a  successful   switching   to

                position table for mentioned file type.  

        "  pxxxq  "  -  no  such  file  type  or pxxxq - a list of 8 numbers

        expected 

                This message means the given file type does not exist or 

                the given string contains a comma, but is  not  a  valid

                list of values for static Huffman table.  

        melt: corrupt input 

                This message fragment is written when an error in header 

                or unexpected  end  of frozen file is detected.  Partial

                (or empty, is there was an error in the header) file  is

                created.  

        already frozen -- file unchanged 

                This  message  fragment  is  written  when an input file

                already has Freeze's magic header.  

        Invalid position table or " ptypeq " - invalid entry 

                These messages appear only if Freeze has been made  with

                incorrect data  for static Huffman table.  It does never

                appear when  freeze  is  called  from  a  public  access

                directory.  

        Unknown header format 

                Unknown  values  of  flag  bits  were  discovered in the

                header of frozen file.  





BUGS  

        This manual page does not actually  describe  the  Atato  ST/TOS

        version.  



COPYRIGHT NOTE  

        This program  is  supplied with HERMES for your convenience.  It

        is not covered by the HERMES license regulations, and is in  the

        public domain, as far as I know.  










Tue Jan 4 23:10:58 1994                                           Page 3




