Provided by: tcl-trf-doc_2.1.4-dfsg3-1_all bug

NAME

       bz2 - Data compression "bz2"

SYNOPSIS

       package require Tcl  ?8.2?

       package require Trf  ?2.1.3?

       bz2 ?options...? ?data?

DESCRIPTION

       The  command bz2 is one of several data compressions provided by the package trf. See trf-
       intro for an overview of the whole package.

       The command is based on the Burroughs-Wheeler transformation as implemented by  the  bzip2
       compression library (http://sources.redhat.com/bzip2/).

       bz2 ?options...? ?data?

              -mode compress|decompress
                     This option has to be present and is always understood by the compression.

                     For  immediate  mode the argument value specifies the operation to use.  For
                     an attached compress it specifies the operation to use for writing.  Reading
                     will  automatically use the reverse operation.  See section IMMEDIATE versus
                     ATTACHED for explanations of these two terms.

                     Beyond the  argument  values  listed  above  all  unique  abbreviations  are
                     recognized too.

                     Compress  causes  the  compression  of  arbitrary (most likely binary) data.
                     Decompression does the reverse .

              -level integer
                     Specifies the compression level. Is either the string default or an  integer
                     number in the range 1 (minimal compression) to 9 (maximal compression).

              -attach channel
                     The  presence/absence  of  this option determines the main operation mode of
                     the transformation.

                     If present the transformation will be stacked onto the channel whose  handle
                     was given to the option and run in attached mode. More about this in section
                     IMMEDIATE versus ATTACHED.

                     If the option is absent the transformation is used in immediate mode and the
                     options  listed  below  are recognized. More about this in section IMMEDIATE
                     versus ATTACHED.

              -in channel
                     This options is legal if and only if the transformation is used in immediate
                     mode.  It provides the handle of the channel the data to transform has to be
                     read from.

                     If the transformation is in immediate mode and this  option  is  absent  the
                     data to transform is expected as the last argument to the transformation.

              -out channel
                     This options is legal if and only if the transformation is used in immediate
                     mode. It provides the handle of the  channel  the  generated  transformation
                     result is written to.

                     If  the  transformation  is  in immediate mode and this option is absent the
                     generated data is returned as the result of the command itself.

IMMEDIATE VERSUS ATTACHED

       The transformation distinguishes between  two  main  ways  of  using  it.  These  are  the
       immediate and attached operation modes.

       For  the  attached mode the option -attach is used to associate the transformation with an
       existing channel. During the execution of the  command  no  transformation  is  performed,
       instead  the  channel  is  changed in such a way, that from then on all data written to or
       read from it passes through the transformation and is modified  by  it  according  to  the
       definition above.  This attachment can be revoked by executing the command unstack for the
       chosen channel. This is the only way to do this at the Tcl level.

       In the second mode,  which  can  be  detected  by  the  absence  of  option  -attach,  the
       transformation immediately takes data from either its commandline or a channel, transforms
       it, and returns the result either as result of the command, or writes it into  a  channel.
       The mode is named after the immediate nature of its execution.

       Where the data is taken from, and delivered to, is governed by the presence and absence of
       the options -in and -out.  It should be noted that this ability to immediately  read  from
       and/or write to a channel is an historic artifact which was introduced at the beginning of
       Trf's life when Tcl version 7.6 was current as this and earlier versions have  trouble  to
       deal with \0 characters embedded into either input or output.

SEE ALSO

       bz2, trf-intro, zip

KEYWORDS

       Burroughs-Wheeler, bz2, compression, data compression, decompression

COPYRIGHT

       Copyright (c) 1996-2003, Andreas Kupries <andreas_kupries@users.sourceforge.net>