zlib man page on OpenMandriva

Man page or keyword search:  
man Server   8135 pages
apropos Keyword Search (all sections)
Output format
OpenMandriva logo
[printable version]

zlib(n)			     Tcl Built-In Commands		       zlib(n)

______________________________________________________________________________

NAME
       zlib - compression and decompression operations

SYNOPSIS
       zlib subcommand arg ...
_________________________________________________________________

DESCRIPTION
       The  zlib  command provides access to the compression and check-summing
       facilities of the Zlib library by Jean-loup Gailly and Mark  Adler.  It
       has the following subcommands.

   COMPRESSION SUBCOMMANDS
       zlib compress string ?level?
	      Returns  the  zlib-format	 compressed  binary data of the binary
	      string in string. If present, level gives the compression	 level
	      to  use  (from  0,  which	 is uncompressed, to 9, maximally com‐
	      pressed).

       zlib decompress string ?bufferSize?
	      Returns the uncompressed version of the  raw  compressed	binary
	      data in string. If present, bufferSize is a hint as to what size
	      of buffer is to be used to receive the data.

       zlib deflate string ?level?
	      Returns the raw compressed binary data of the binary  string  in
	      string.	If  present,  level gives the compression level to use
	      (from 0, which is uncompressed, to 9, maximally compressed).

       zlib gunzip string ?-headerVar varName?
	      Return the uncompressed contents of binary string string,	 which
	      must  have  been in gzip format. If -headerVar is given, store a
	      dictionary describing the contents of the	 gzip  header  in  the
	      variable	called varName. The keys of the dictionary that may be
	      present are:

	      comment
		     The comment field from the header, if present.

	      crc    A boolean value describing whether a CRC of the header is
		     computed.

	      filename
		     The filename field from the header, if present.

	      os     The  operating system type code field from the header (if
		     not the QW unknown value). See RFC 1952 for  the  meaning
		     of these codes.

	      size   The size of the uncompressed data.

	      time   The  time	field from the header if non-zero, expected to
		     be time that the file named by  the  filename  field  was
		     modified. Suitable for use with clock format.

	      type   The  type	of  the	 uncompressed data (binary or text) if
		     known.

       zlib gzip string ?-level level? ?-header dict?
	      Return the compressed contents of binary string string  in  gzip
	      format.	If  -level is given, level gives the compression level
	      to use (from 0, which is	uncompressed,  to  9,  maximally  com‐
	      pressed).	 If  -header is given, dict is a dictionary containing
	      values used for the gzip	header.	 The  following	 keys  may  be
	      defined:

	      comment
		     Add  the  given  comment to the header of the gzip-format
		     data.

	      crc    A boolean saying whether to compute a CRC of the  header.
		     Note that if the data is to be interchanged with the gzip
		     program, a header CRC should not be computed.

	      filename
		     The name of the file that the data to be compressed  came
		     from.

	      os     The  operating  system  type code, which should be one of
		     the values described in RFC 1952.

	      time   The time that the file named in the filename key was last
		     modified.	This  will  be	in  the same as is returned by
		     clock seconds or file mtime.

	      type   The type of the data being compressed,  being  binary  or
		     text.

       zlib inflate string ?bufferSize?
	      Returns  the  uncompressed  version of the raw compressed binary
	      data in string. If present, bufferSize is a hint as to what size
	      of buffer is to be used to receive the data.

   CHANNEL SUBCOMMAND
       zlib push mode channel ?options ...?
	      Pushes  a	 compressing  or decompressing transformation onto the
	      channel channel.	The transformation can be removed  again  with
	      chan pop.	 The mode argument determines what type of transforma‐
	      tion is pushed; the following are supported:

	      compress
		     The transformation will be a  compressing	transformation
		     that  produces zlib-format data on channel, which must be
		     writable.

	      decompress
		     The transformation will be a decompressing transformation
		     that  reads  zlib-format data from channel, which must be
		     readable.

	      deflate
		     The transformation will be a  compressing	transformation
		     that  produces raw compressed data on channel, which must
		     be writable.

	      gunzip The transformation will be a decompressing transformation
		     that  reads  gzip-format data from channel, which must be
		     readable.

	      gzip   The transformation will be a  compressing	transformation
		     that  produces gzip-format data on channel, which must be
		     writable.

	      inflate
		     The transformation will be a decompressing transformation
		     that  reads  raw compressed data from channel, which must
		     be readable.

	      The following options may be set when creating a	transformation
	      via the “options ...”  to the zlib push command:

	      -dictionary binData
		     Sets  the compression dictionary to use when working with │
		     compressing or decompressing the data to be binData.  Not │
		     valid  for	 transformations  that	work  with gzip-format │
		     data.

	      -header dictionary
		     Passes a description of the gzip header to create, in the
		     same format that zlib gzip understands.

	      -level compressionLevel
		     How  hard to compress the data. Must be an integer from 0
		     (uncompressed) to 9 (maximally compressed).

	      -limit readaheadLimit
		     The maximum number of bytes ahead	to  read  when	decom‐
		     pressing.	This defaults to 1, which ensures that data is
		     always decompressed correctly, but may  be	 increased  to
		     improve performance. This is more useful when the channel
		     is non-blocking.

	      Both compressing and decompressing channel  transformations  add
	      extra  configuration  options  that may be accessed through chan
	      configure. The options are:

	      -checksum checksum
		     This read-only option gets the current checksum  for  the
		     uncompressed data that the compression engine has seen so
		     far. It is valid for both compressing  and	 decompressing
		     transforms,  but not for the raw inflate and deflate for‐
		     mats. The compression algorithm depends on what format is
		     being produced or consumed.

	      -dictionary binData
		     This read-write options gets or sets the compression dic‐ │
		     tionary to use when working with  compressing  or	decom‐ │
		     pressing  the  data  to  be  binData. It is not valid for │
		     transformations that  work	 with  gzip-format  data,  and │
		     should not normally be set on compressing transformations │
		     other than at  the	 point	where  the  transformation  is │
		     stacked.

	      -flush type
		     This  write-only  operation  flushes the current state of
		     the compressor to the  underlying	channel.  It  is  only
		     valid  for	 compressing transformations. The type must be
		     either sync or full for a normal flush  or	 an  expensive
		     flush  respectively.  Flushing  degrades  the compression
		     ratio, but makes it easier for a decompressor to  recover
		     more of the file in the case of data corruption.

	      -header dictionary
		     This  read-only  option,  only  valid  for	 decompressing
		     transforms that are processing gzip-format data,  returns
		     the  dictionary  describing  the header read off the data
		     stream.

	      -limit readaheadLimit
		     This read-write option is used by decompressing  channels
		     to control the maximum number of bytes ahead to read from
		     the underlying data source. This  defaults	 to  1,	 which
		     ensures  that  data is always decompressed correctly, but
		     may be increased to improve  performance.	This  is  more
		     useful when the channel is non-blocking.

   STREAMING SUBCOMMAND
       zlib stream mode ?options?
	      Creates  a  streaming compression or decompression command based
	      on the mode, and return the name of the command. For a  descrip‐
	      tion  of	how that command works, see STREAMING INSTANCE COMMAND
	      below. The following modes and options are supported:

	      zlib stream compress ?-dictionary bindata? ?-level level?
		     The stream will be a  compressing	stream	that  produces
		     zlib-format  output,  using  compression  level level (if
		     specified) which will be an integer from 0 to 9, and  the │
		     compression dictionary bindata (if specified).

	      zlib stream decompress ?-dictionary bindata?
		     The  stream  will	be  a  decompressing stream that takes
		     zlib-format input and produces uncompressed  output.   If │
		     bindata  is  supplied,  it is a compression dictionary to │
		     use if required.

	      zlib stream deflate ?-dictionary bindata? ?-level level?
		     The stream will be a compressing stream that produces raw
		     output,  using  compression  level	 level	(if specified)
		     which will be an integer from 0 to 9, and the compression │
		     dictionary bindata (if specified). Note that the raw com‐ │
		     pressed data includes no metadata about what  compression │
		     dictionary	 was  used,  if	 any; that is a feature of the │
		     zlib-format data.

	      zlib stream gunzip
		     The stream will be	 a  decompressing  stream  that	 takes
		     gzip-format input and produces uncompressed output.

	      zlib stream gzip ?-header header? ?-level level?
		     The  stream  will	be  a compressing stream that produces
		     gzip-format output, using	compression  level  level  (if
		     specified)	 which will be an integer from 0 to 9, and the
		     header descriptor dictionary header  (if  specified;  for
		     keys see zlib gzip).

	      zlib stream inflate ?-dictionary bindata?
		     The  stream will be a decompressing stream that takes raw
		     compressed input and produces  uncompressed  output.   If │
		     bindata  is  supplied,  it is a compression dictionary to │
		     use. Note that there are no checks in place to  determine │
		     whether the compression dictionary is correct.

   CHECKSUMMING SUBCOMMANDS
       zlib adler32 string ?initValue?
	      Compute  a  checksum  of binary string string using the Adler-32
	      algorithm.  If given, initValue is used to initialize the check‐
	      sum engine.

       zlib crc32 string ?initValue?
	      Compute  a  checksum  of	binary	string string using the CRC-32
	      algorithm.  If given, initValue is used to initialize the check‐
	      sum engine.

STREAMING INSTANCE COMMAND
       Streaming compression instance commands are produced by the zlib stream
       command. They are used by calling their	put  subcommand	 one  or  more
       times  to  load	data in, and their get subcommand one or more times to
       extract the transformed data.

       The full set of subcommands supported by a streaming instance  command,
       stream, is as follows:

       stream add ?option...? data
	      A	 short-cut  for	 “stream  put  ?option...?  data”  followed by
	      “stream get”.

       stream checksum
	      Returns the checksum of the uncompressed data  seen  so  far  by
	      this stream.

       stream close
	      Deletes  this  stream and frees up all resources associated with
	      it.

       stream eof
	      Returns a boolean indicating whether the end of the  stream  (as
	      determined  by the compressed data itself) has been reached. Not
	      all formats support detection of the end of the stream.

       stream finalize
	      A short-cut for “stream put -finalize {}”.

       stream flush
	      A short-cut for “stream put -flush {}”.

       stream fullflush
	      A short-cut for “stream put -fullflush {}”.

       stream get ?count?
	      Return up to count bytes from stream's internal buffers with the
	      transformation applied. If count is omitted, the entire contents
	      of the buffers are returned.   stream  header  Return  the  gzip
	      header  description  dictionary  extracted from the stream. Only
	      supported for streams created with their mode parameter  set  to
	      gunzip.

       stream put ?option...? data
	      Append the contents of the binary string data to stream's inter‐
	      nal buffers while applying  the  transformation.	The  following
	      options  are supported (or an unambiguous prefix of them), which
	      are used to modify  the  way  in	which  the  transformation  is
	      applied:

	      -dictionary binData
		     Sets  the compression dictionary to use when working with │
		     compressing or decompressing the data to be binData.

	      -finalize
		     Mark the stream as finished, ensuring that all bytes have
		     been wholly compressed or decompressed. For gzip streams,
		     this also ensures that  the  footer  is  written  to  the
		     stream.  The  stream  will need to be reset before having
		     more data written to it after this, though data can still
		     be read out of the stream with the get subcommand.

		     This  option  is  mutually	 exclusive with the -flush and
		     -fullflush options.

	      -flush Ensure that a decompressor consuming the bytes  that  the
		     current (compressing) stream is producing will be able to
		     produce all the bytes that have been compressed  so  far,
		     at some performance penalty.

		     This  option is mutually exclusive with the -finalize and
		     -fullflush options.

	      -fullflush
		     Ensure that not only can a decompressor  handle  all  the
		     bytes  produced  so  far  (as with -flush above) but also
		     that it can restart from this point if  it	 detects  that
		     the  stream  is partially corrupt. This incurs a substan‐
		     tial performance penalty.

		     This option is mutually exclusive with the -finalize  and
		     -flush options.

       stream reset
	      Puts  any	 stream,  including  those that have been finalized or
	      that have reached eof, back into a state where  it  can  process
	      more data. Throws away all internally buffered data.

EXAMPLES
       To  compress a Tcl string, it should be first converted to a particular
       charset encoding since the  zlib	 command  always  operates  on	binary
       strings.

	      set binData [encoding convertto utf-8 $string]
	      set compData [zlib compress $binData]

       When  converting	 back,	it  is	also  important to reverse the charset
       encoding:

	      set binData [zlib decompress $compData]
	      set string [encoding convertfrom utf-8 $binData]

       The compression operation from above can also  be  done	with  streams,
       which  is  especially  helpful  when you want to accumulate the data by
       stages:

	      set strm [zlib stream compress]
	      $strm put [encoding convertto utf-8 $string]
	      # ...
	      $strm finalize
	      set compData [$strm get]
	      $strm close

SEE ALSO
       binary(n), chan(n), encoding(n), Tcl_ZlibDeflate(3), RFC1950 - RFC1952

KEYWORDS
       compress, decompress, deflate, gzip, inflate, zlib

Tcl				      8.6			       zlib(n)
[top]

List of man pages available for OpenMandriva

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net